Los datos de prueba automatizados de la interfaz impulsan el uso de módulos DDT

[Curso intensivo de entrevistas sobre pruebas de software] Cómo obligarte a terminar el tutorial de ensayo de ocho partes sobre pruebas de software en una semana. Después de terminar la entrevista, estarás estable. También puedes ser un ingeniero de pruebas de software bien remunerado (pruebas automatizadas)

1. Breve introducción a DDT
Nombre: Pruebas basadas en datos, pruebas basadas en datos
Función: Impulsar la ejecución de casos de prueba mediante una recopilación de datos externa
Idea central: separación de datos y código de prueba
Escenario de aplicación: Un conjunto de datos externos para realizar misma operación
Ventajas: cuando los datos de prueba cambian mucho, el código de prueba puede permanecer sin cambios
Proyecto real: Excel almacena los datos de prueba, ddt lee los datos de prueba en el marco de prueba unitaria (en el caso de prueba) y los envía al informe html
2. ¿Qué es el análisis basado en datos
? Los cambios en los datos impulsan la ejecución de pruebas automatizadas y, en última instancia, provocan cambios en los resultados de las pruebas. Para decirlo más claramente, es la aplicación de parametrización.

3. Uso básico de DDT: pasar tipos de datos básicos

# 导入ddt库下所有内容
from ddt import *
 
 
# 在测试类前必须首先声明使用 ddt
@ddt
class imoocTest(unittest.TestCase):
    
    # int
    @data(1, 2, 3, 4)
    def test_int(self, i):
        print("test_int:", i)
 
    # str
    @data("1", "2", "3")
    def test_str(self, str):
        print("test_str:", str)
Resultados de la prueba
test_int: 1
test_int: 2
test_int: 3
test_int: 4
test_str: 1
test_str: 2
test_str: 3
Contiene puntos de conocimiento.

Si desea utilizar DDT, primero debe agregar @ddt a la clase de prueba unitaria.

4. Uso básico de DDT: pasar una estructura de datos compleja 

from ddt import *
 
 
# 在测试类前必须首先声明使用 ddt
@ddt
class imoocTest(unittest.TestCase):
    tuples = ((1, 2, 3), (1, 2, 3))
    lists = [[1, 2, 3], [1, 2, 3]]
 
    # 元组
    @data((1, 2, 3), (1, 2, 3))
    def test_tuple(self, n):
        print("test_tuple", n)
 
    # 列表
    @data([1, 2, 3], [1, 2, 3])
    @unpack
    def test_list(self, n1, n2, n3):
        print("test_list", n1, n2, n3)
 
    # 元组2
    @data(*tuples)
    def test_tuples(self, n):
        print("test_tuples", n)
 
    # 列表2
    @data(*lists)
    @unpack
    def test_lists(self, n1, n2, n3):
        print("test_lists", n1, n2, n3)
 
    # 字典
    @data({'value1': 1, 'value2': 2}, {'value1': 1, 'value2': 2})
    @unpack
    def test_dict(self, value1, value2):
        print("test_dict", value1, value2)
Resultados de la prueba
test_dict 1 2
test_dict 1 2
test_list 1 2 3
test_list 1 2 3
test_lists 1 2 3
test_lists 1 2 3
test_tuple (1, 2, 3)
test_tuple (1, 2, 3)
test_tuples (1, 2, 3)
test_tuples (1, 2, 3)

Contiene puntos de conocimiento
@unpack: se utiliza al pasar estructuras de datos complejas. Por ejemplo, cuando se utilizan tuplas o listas, después de agregar @unpack, ddt asignará automáticamente las tuplas o listas a múltiples parámetros. Los diccionarios también se pueden procesar de esta manera.
Cuando no se agrega unpack, solo se puede completar un parámetro del método test_case; como en el ejemplo de la tupla,
cuando agrega unpack, la cantidad de datos pasados ​​debe ser consistente; como en En el ejemplo de la lista, arreglé cada lista. Se pasan tres datos. Cuando pasa más o menos, se informará un error. Los parámetros del método test_case también deben escribirse en tres, que deben
coincidir un tipo de diccionario, cabe señalar que la clave de cada diccionario debe ser coherente. , la denominación de los parámetros test_case también debe ser coherente; por ejemplo, en el ejemplo del diccionario, las claves de los dos diccionarios son valor1 y valor2, y el Los parámetros del método también se pasan
cuando los datos se pasan a través de variables, como tupla 2, lista 2, variables Debe agregar * 5 antes
Uso básico de DDT: pasar
archivo json archivo json

{
  "first": [
    {
      "isRememberMe": "True",
      "password": "111111",
      "username": "root"
    },
    "200"
  ],
  "second": [
    "{'isRememberMe': True, 'password': '1111111', 'username': 'root'}",
    "406"
  ],
  "third": [
    1,
    2
  ],
  "four": "123123"
}
clase de prueba unitaria
from ddt import *
 
 
# 在测试类前必须首先声明使用 ddt
@ddt
class imoocTest(unittest.TestCase):
 
    @file_data('F:/test/config/testddt.json')
    def test_json(self, data):
        print(data)
Resultados de la prueba
[{'isRememberMe': 'True', 'password': '111111', 'username': 'root'}, '200']
["{'isRememberMe': True, 'password': '1111111', 'username': 'root'}", '406']
[1, 2]
123123

6. Uso básico de DDT: pasar archivos Yaml

archivo yaml
unsorted_list:
  - 10
  - 15
  - 12
 
sorted_list: [ 15, 12, 50 ]
clase de prueba unitaria
from ddt import *
 
 
# 在测试类前必须首先声明使用 ddt
@ddt
class imoocTest(unittest.TestCase):
 
    @file_data('F:/test/config/testddt.yaml')
    def test4(self, data):
        print("yaml", data)
Resultados de la prueba
yaml [10, 15, 12]
yaml [15, 12, 50]

Los siguientes son materiales de apoyo para el aprendizaje. Para aquellos que están haciendo [pruebas de software], debería ser el almacén de preparación más completo y completo. Este almacén también me ha acompañado en el viaje más difícil. ¡Espero que también pueda ayudarlos a ustedes!

Subprograma de entrevista de prueba de software

¡Un banco de preguntas de prueba de software que ha sido utilizado por millones de personas! ! ! ¡Quién es quién lo sabe! ! ! El miniprograma de prueba de entrevistas más completo de Internet. Puede usar su teléfono móvil para responder preguntas, tomar el metro, el autobús y enrollarlo.

Cubre las siguientes secciones de preguntas de la entrevista:

1. Teoría básica de pruebas de software, 2. web, aplicaciones, pruebas de función de interfaz, 3. red, 4. base de datos, 5. linux

6. Web, aplicaciones, automatización de interfaces, 7. Pruebas de rendimiento, 8. Conceptos básicos de programación, 9. Preguntas de la entrevista de recursos humanos, 10. Preguntas de prueba abiertas, 11. Pruebas de seguridad, 12. Conceptos básicos de informática

 

Cómo obtener documentos:

Este documento debería ser el almacén de preparación más completo y completo para los amigos que quieran participar en [pruebas de software]. Este almacén también me ha acompañado en el viaje más difícil. ¡Espero que también pueda ayudarlo a usted!

Supongo que te gusta

Origin blog.csdn.net/2301_76643199/article/details/133207334
Recomendado
Clasificación