En el trabajo de prueba, a menudo nos encontramos con tales escenarios: una función de software tiene múltiples elementos de entrada, y cada elemento de entrada tiene múltiples opciones, una interfaz tiene múltiples parámetros y cada parámetro tiene múltiples valores; Esta situación es muy común en tiempos normales. Si los organiza y combina de acuerdo con la disposición, la cantidad de casos de prueba obtenidos será muy grande.
Es fácil de entender con un ejemplo intuitivo. Hay una función de interfaz. La función tiene 3 parámetros y cada parámetro puede tomar 4 valores. Si desea verificar que se pasan todos los parámetros, debe probar 4 * 4 * 4 = 64 situaciones. Sería un desastre si hubiera más parámetros y estados de valores.
¿Existe una mejor manera de realizar menos pruebas y al mismo tiempo cumplir con la cobertura de las pruebas? La respuesta es sí, es la "cobertura de prueba de combinación de factores Pairwise" de la que vamos a hablar hoy. Primero, presentemos brevemente qué es Pairwise.
Pairwise fue propuesto por primera vez por L.L. Thurstone (29 de mayo de 1887–30 de septiembre de 1955) en 1927. Es un estadístico psicológico estadounidense y Pairwise es un producto basado en estadísticas matemáticas y optimización de métodos de análisis ortogonales tradicionales.
Pairwise se basa en los dos supuestos siguientes: cada dimensión es ortogonal, es decir, cada dimensión no tiene intersección entre sí. Según el análisis estadístico matemático, el defecto es 73 (el factor único es 35, doble); El factor es 38) es causado por un solo factor o la interacción de 2 factores, y el defecto de 19 es causado por la interacción de 3 factores. Por lo tanto, Pairwise se genera en función del conjunto de casos de uso más rentable generado por la interacción de los 2 factores.
Las pruebas de software se dividen en pruebas de caja negra y pruebas de caja blanca. El algoritmo Pairwise es un método de prueba eficaz propuesto para las pruebas de caja negra en las pruebas de software.
El concepto es a menudo oscuro y difícil de entender. Aquí hay un ejemplo simple. Después de leerlo, comprenderá cómo el algoritmo Pairwise selecciona casos de prueba.
Proceso de algoritmo por pares: a partir de la última fila de la tabla, si el valor de combinación por pares de esta fila se puede encontrar en la fila anterior o en esta tabla, entonces esta fila se puede eliminar del conjunto de casos de uso. .
Por ejemplo, TC8 contiene valores de combinación por pares (X2-Y2, X2-Z2, Y2-Z2), X2-Y2 existe en TC7, X2-Z2 existe en TC6, Y2-Z2 Si existe en TC4, elimine esta línea;
Los valores de combinación por pares contenidos en TC7 son (X2-Y2, X2-Z1, Y2-Z1), y X2-Y2 ya no se puede encontrar en esta tabla. Valor duplicado, así que guárdelo. Siguiendo este método, el conjunto de casos de prueba final es como se muestra arriba a la derecha. Es obvio que después del proceso Pairwise, el número de casos de prueba se ha reducido a la mitad.
Entonces, si tiene que realizar cálculos manuales cada vez, no solo es una pérdida de tiempo, sino que también es propenso a errores. Una vez que hay demasiados parámetros, no hay nada que pueda hacer manualmente. ¿Es posible desarrollar un programa automatizado para generar resultados automáticamente? Esta idea es muy buena, pero no es necesario que reinventemos la rueda. Ya existe en el mercado una herramienta muy útil, y es la herramienta PICT.
Ingrese al directorio de instalación y cree un nuevo archivo txt como text.txt en el directorio.
Hay una página de inicio de sesión con opciones para nombre de usuario, contraseña, código de verificación y si se debe guardar la contraseña. Entre ellas, como máximo uno de los nombres de usuario, contraseña y verificación está vacío.
Si se combinan, hay 5*3*4*2-3=117 situaciones. Ingrese todos los parámetros relacionados con el caso de prueba en txt, como se muestra en la Figura 1 a continuación:
El contenido del parámetro de test.txt. , De la siguiente manera:
Nombre de usuario:? Número de teléfono móvil, correo electrónico, apodo, caracteres no vacíos, vacíos
Contraseña:? p> captcha: código de verificación correcto, código de verificación incorrecto, tiempo de espera, código de verificación correcto, vacío
save_password: Sí, No
Ejecute el comando cmd en el directorio de instalación, ingrese pict test .txt, los resultados son los siguientes Imagen:
No se ve muy hermoso. Puede usar el comando pict test.txt gt; el comando test.xls generará el resultado en el documento text.xls. El resultado es el siguiente:
Sabemos por la solicitud que como máximo uno de los nombres de usuario, contraseña y código de verificación está vacío, entonces, ¿cómo solucionarlo? En este momento, es necesario utilizar las restricciones de PICT.
Restricciones PICT:
Restricciones del submodelo: ?
{ Para1, Para2, Para3 } @ 2? #Debe cubrir cualquier combinación de parámetros por pares. ser un punto y coma
Las restricciones condicionales (LIKE, IN, AND, OR, NOT) deben terminar con un punto y coma:
[nombre de usuario] gt; >
p>
[edad] lt;
[nombre de usuario] lt; "vacío" O [edad] lt; ] COMO "李*";
IF [nombre de usuario] = "vacío" ENTONCES NO [contraseña] = "vacío";
IF [tamaño del clúster] en {512, 1024, 2048} ENTONCES [Compresión] = "Desactivado";
IF [nombre de usuario] = "Vacío" ENTONCES ?[contraseña] lt;gt; "Vacío" AND [captcha] lt;gt "Vacío";
Por lo tanto, para garantizar que como máximo uno de los nombres de usuario, contraseña y código de verificación esté vacío, cambie las restricciones de parámetros en text.txt de la siguiente manera:
El resultado de salida es el siguiente, puede encontrar que no hay nombre de usuario ni contraseña, cuando como máximo un código de verificación está vacío:
¿Qué debo hacer si es necesario cubrir todas las combinaciones de nombre de usuario, contraseña y código de verificación? artículos de prueba? Puede agregar las siguientes restricciones de parámetros:
Lo anterior trata sobre las restricciones Al editar el archivo test.txt, recuerde no editar espacios, dos puntos y comas en chino; de lo contrario, siempre se informarán errores. no se puede obtener el resultado correcto.
Las combinaciones anteriores se tratan en pares. ¿Qué sucede si desea cambiar el valor del parámetro de orden de combinación? En este momento, solo necesita agregar el parámetro /o: 3 al ejecutar el comando, como pict. prueba.txt /o:3.
Los significados de otras opciones de parámetros de comando son los siguientes:
/ o :N ?-El número de combinaciones, el valor predeterminado es 2
/ d :C ?-El separador entre valores, el valor predeterminado es la coma (,)
/a: C?-El delimitador entre alias, el valor predeterminado es el carácter de barra vertical (|)
/n: C?-No válido valor o ilegal El prefijo del valor, el valor predeterminado es (~)
/ e: archivo: define el archivo semilla, que puede especificar el método de combinación
/ r [: N]? - generado aleatoriamente, N - Semilla
/ c? - Los valores de los parámetros distinguen entre mayúsculas y minúsculas
/ s - Mostrar estadísticas del modelo