¿Qué es la prueba de matriz ortogonal? (Ejemplo)
⚡ Resumen inteligente
Las pruebas con matrices ortogonales son una técnica de caja negra que utiliza matrices estadísticas para construir un conjunto de pruebas compacto, cubriendo cada par de valores de entrada con muchos menos casos de prueba que los que requiere una prueba de combinación exhaustiva.
Pruebas de matrices ortogonales
Prueba de matriz ortogonal (OAT) Es una técnica de prueba de software que utiliza matrices ortogonales para crear casos de prueba. Se trata de un enfoque de prueba estadística, especialmente útil cuando el sistema bajo prueba acepta una gran cantidad de datos de entrada. Las pruebas con matrices ortogonales maximizan la cobertura de prueba al emparejar y combinar las entradas, de modo que el sistema se prueba con comparativamente menos casos de prueba y en menor tiempo de ejecución.
Por ejemplo, al verificar un billete de tren, es necesario comprobar factores como el número de pasajeros, el número de billete, el número de asiento y el número de tren. Comprobar cada factor individualmente resulta engorroso. Es más eficiente que el ingeniero de control de calidad combine varias entradas y las pruebe en una sola ejecución. En estos casos, podemos utilizar el método de prueba de matrices ortogonales.
Este tipo de emparejamiento o combinación de entradas para ahorrar tiempo se llama prueba por pares, y la técnica OATS es una forma de producir un conjunto de prueba por pares. Debido a que la técnica funciona puramente a partir de valores de entrada y resultados esperados, sin ninguna vista del código interno, pertenece a la prueba de caja negra familia.
¿Por qué OAT (prueba de matriz ortogonal)?
En el escenario actual, entregar un producto de software de calidad al cliente se ha vuelto un desafío debido a la complejidad del código.
En el método convencional, los conjuntos de pruebas incluyen casos de prueba derivados de cada combinación de valores de entrada y precondiciones. Como resultado, se deben cubrir n casos de prueba.
Pero en un escenario real, los evaluadores no tendrán el tiempo suficiente para ejecutar todos los casos de prueba y descubrir los defectos, ya que existen otras actividades, como la documentación, las sugerencias y los comentarios del cliente, que deben tenerse en cuenta durante la fase de pruebas.
Por lo tanto, los administradores de pruebas querían optimizar el número y la calidad de los casos de prueba para garantizar el máximo Cobertura de prueba con un mínimo esfuerzo. Este esfuerzo se denomina optimización de casos de prueba.
- Método sistemático y estadístico para probar las interacciones por pares.
- Las interacciones y los puntos de integración son una fuente importante de defectos.
- Ejecuta un conjunto de casos de prueba bien definidos y concisos que probablemente descubran la mayoría (aunque no todos) de los errores.
- El enfoque ortogonal garantiza la cobertura por pares de todas las variables.
Por lo tanto, esta técnica se sitúa junto a los demás métodos de reducción de insumos que un equipo ya utiliza. Particionamiento de equivalencia y análisis de valores límite decide qué valores merece la pena probar para un solo campo; las matrices ortogonales deciden cuáles de esos valores deben probarse conjuntamente.
Cómo se representa la prueba de matrices ortogonales
Una matriz ortogonal se describe mediante una fórmula corta, en lugar de por su contenido. El diagrama a continuación muestra cómo las tres cantidades de dicha fórmula se relacionan con la forma de la matriz.
- Carreras (N) – Número de filas en el array, que se traduce en el número de casos de prueba que se generarán.
- Factores (K) – Número de columnas en la matriz, lo que se traduce en el número máximo de variables que se pueden manejar.
- Niveles (V) – Número máximo de valores que se pueden tomar en un solo factor.
Un solo factor suele tener entre 2 y 3 variables de entrada que deben ser analizadas. Ese número máximo de variables de entrada determina los niveles.
Lee el nombre del array de izquierda a derecha. En L9(34) El 9 es el recuento de carreras, el 3 es el número de niveles que puede tomar cada factor y el superíndice 4 es el número de factores. El mismo artículo utiliza L4(23), que son cuatro ejecuciones para tres factores que tienen dos niveles cada uno.
Dos propiedades hacen que un array sea ortogonal, y ambas deben cumplirse para que el recuento de secuencias sea fiable:
- Balance: Cada nivel de un factor aparece el mismo número de veces en su propia columna.
- Completitud por pares: Para cualquier par de columnas, cada combinación de un nivel de cada una aparece el mismo número de veces.
Si no se cumple la segunda propiedad, la tabla es simplemente un conjunto de prueba reducido, no una matriz ortogonal, y la garantía por pares que justifica la reducción ya no se aplica.
Cómo realizar pruebas de matriz ortogonal: ejemplos
- Identifique la variable independiente para el escenario.
- Encuentre la matriz más pequeña con el número de ejecuciones.
- Asigne los factores a la matriz.
- Elija los valores para cualquier nivel "sobrante".
- Transcribe las carreras en Casos de prueba, añadiendo cualquier combinación particularmente sospechosa que no se genere.
Los dos ejemplos resueltos que se muestran a continuación aplican esos cinco pasos, primero a un problema pequeño de dos niveles y luego a uno más grande de tres niveles.
Ejemplo
Una página web tiene tres secciones distintas (superior, central e inferior) que pueden mostrarse u ocultarse individualmente al usuario.
- Número de factores = 3 (superior, medio, inferior)
- Número de niveles (visibilidad) = 2 (oculto o mostrado)
- Tipo de matriz = L4(2)3)
(4 es el número de ejecuciones obtenidas tras crear la matriz OAT)
Si optamos por la técnica convencional de cambiar una sección a la vez, necesitaremos casos de prueba como 2 X 3 = 6 casos de prueba.
| Casos de prueba | Escenarios | Valores a probar |
|---|---|---|
| Prueba #1 | HIDDEN | arriba |
| Prueba #2 | MOSTRADO | arriba |
| Prueba #3 | HIDDEN | Inferior |
| Prueba #4 | MOSTRADO | Inferior |
| Prueba #5 | HIDDEN | Segundo Nombre |
| Prueba #6 | MOSTRADO | Segundo Nombre |
Esas seis ejecuciones varían una sección a la vez y nunca colocan dos secciones en un estado elegido juntas. Probar cada combinación en cambio tomaría 23 = 8 carreras.
Si optamos por las pruebas OAT, necesitamos 4 casos de prueba como se muestra a continuación:
| Casos de prueba | ARRIBA | Segundo Nombre | Inferior |
|---|---|---|---|
| Prueba #1 | Oculto | Oculto | Oculto |
| Prueba #2 | Oculto | Visible | Visible |
| Prueba #3 | Visible | Oculto | Visible |
| Prueba #4 | Visible | Visible | Oculto |
Si se revisan dos columnas cualesquiera de esa tabla, los cuatro pares Oculto/Visible aparecerán exactamente una vez, lo cual es la propiedad de ortogonalidad en su forma más simple.
Ejemplo
Es necesario probar la funcionalidad de un microprocesador:
- Temperatura: 100C, 150C y 200C.
- Presión: 2 psi, 5 psi y 8 psi
- Doping Importe: 4%, 6% y 8%
- Tasa de deposición: 0.1 mg/s, 0.2 mg/s y 0.3 mg/s
Utilizando el método convencional necesitamos 34 = 81 casos de prueba para cubrir todas las entradas. Trabajemos con el método OATS en su lugar:
Número de factores = 4 (temperatura, presión,ping cantidad y tasa de depósito)
Niveles = 3 niveles por factor (la temperatura tiene 3 niveles: 100 °C, 150 °C y 200 °C; y, del mismo modo, los demás factores también tienen 3 niveles cada uno).
Cree una matriz como se muestra a continuación:
1. Columnas con el No. de factores
| Caso de prueba # | Temperatura | Presión | Doping cantidad | Tasa de deposición |
|---|
2. Introduzca el número de filas igual a los niveles por factor. Por ejemplo, la temperatura tiene 3 niveles. Por lo tanto, inserte 3 filas para cada nivel de temperatura.
| Caso de prueba # | Temperatura | Presión | Doping cantidad | Tasa de deposición |
|---|---|---|---|---|
| 1 | 100C | |||
| 2 | 100C | |||
| 3 | 100C | |||
| 4 | 150C | |||
| 5 | 150C | |||
| 6 | 150C | |||
| 7 | 200C | |||
| 8 | 200C | |||
| 9 | 200C |
3. Ahora divide la presión, hazloping la cantidad y las tasas de deposición en las columnas.
Por ejemplo: Introduzca 2 psi en temperaturas de 100 °C, 150 °C y 200 °C, de igual manera introduzca doping cantidad 4% para 100C, 150C y 200C y así sucesivamente.
| Caso de prueba # | Temperatura | Presión | Doping cantidad | Tasa de deposición |
|---|---|---|---|---|
| 1 | 100C | 2 psi | 4% | 0.1 mg/s |
| 2 | 100C | 5 psi | 6% | 0.2 mg/s |
| 3 | 100C | 8 psi | 8% | 0.3 mg/s |
| 4 | 150C | 2 psi | 4% | 0.1 mg/s |
| 5 | 150C | 5 psi | 6% | 0.2 mg/s |
| 6 | 150C | 8 psi | 8% | 0.3 mg/s |
| 7 | 200C | 2 psi | 4% | 0.1 mg/s |
| 8 | 200C | 5 psi | 6% | 0.2 mg/s |
| 9 | 200C | 8 psi | 8% | 0.3 mg/s |
Por lo tanto, en los OA, necesitamos cubrir 9 casos de prueba.
Nota de precisión: rellenando las tres columnas restantes directamente hacia abajo, como lo hace el paso 3, repite la misma presión, hazloping y deposición triple dentro de cada bloque de temperatura. Presión y hacerping Por lo tanto, la cantidad se mueve junta, y pares como 2 psi con 6% nunca aparecen, por lo que las nueve filas anteriores son un conjunto de prueba reducido en lugar de una verdadera matriz ortogonal. El L9(3) balanceado4) La matriz a continuación mantiene las mismas nueve ejecuciones mientras cubre todos los nueve pares de niveles entre cada dos factores.
| Caso de prueba # | Temperatura | Presión | Doping cantidad | Tasa de deposición |
|---|---|---|---|---|
| 1 | 100C | 2 psi | 4% | 0.1 mg/s |
| 2 | 100C | 5 psi | 6% | 0.2 mg/s |
| 3 | 100C | 8 psi | 8% | 0.3 mg/s |
| 4 | 150C | 2 psi | 6% | 0.3 mg/s |
| 5 | 150C | 5 psi | 8% | 0.1 mg/s |
| 6 | 150C | 8 psi | 4% | 0.2 mg/s |
| 7 | 200C | 2 psi | 8% | 0.2 mg/s |
| 8 | 200C | 5 psi | 4% | 0.3 mg/s |
| 9 | 200C | 8 psi | 6% | 0.1 mg/s |
Pruebas con matrices ortogonales frente a pruebas por pares (todos los pares)
En muchos equipos, ambos términos se usan indistintamente, aunque no son idénticos. Ambos buscan abarcar pares de valores, pero difieren en el grado de restricción de la tabla resultante.
| Aspecto | Pruebas de matrices ortogonales | Pruebas por pares (todos los pares) |
|---|---|---|
| Estructura subyacente | Matriz ortogonal, tomada del diseño de experimentos. | Matriz de cobertura, generada por un algoritmo de búsqueda. |
| Regla de cobertura | Cada par aparece el mismo número de veces. | Cada par aparece al menos una vez. |
| Factores con niveles desiguales | Se necesita una matriz de niveles mixtos, que puede no existir para la forma requerida. | Gestionado directamente por el generador. |
| Número de carreras típico | Igual o ligeramente superior, debido al requisito de equilibrio. | Igual o inferior para las mismas entradas |
| Restricciones entre valores | Difícil de expresar dentro del array | Compatible con la mayoría de los generadores modernos. |
En la práctica, una matriz ortogonal equilibrada es el modelo de enseñanza más claro y la opción más segura cuando los factores comparten el mismo recuento de nivel, mientras que una matriz de cobertura es lo que la mayoría de las herramientas producen para proyectos reales con entradas difíciles y desiguales. Ambos son complementarios a prueba de tablas de decisión y pruebas de transición de estado, que se centran en las reglas de negocio y la secuencia, en lugar de en combinaciones de valores.
Herramientas de prueba de matrices ortogonales
Construir una matriz manualmente solo es práctico para los ejemplos pequeños mencionados anteriormente. A partir de cuatro o cinco factores, los equipos utilizan un generador, y la herramienta determina la cantidad de ejecuciones por ellos.
- PICTO: un generador de línea de comandos de código abierto de MicrosoftLos parámetros y sus valores se escriben en un archivo de modelo de texto plano, y la herramienta imprime el conjunto de combinaciones. Se admiten restricciones y submodelos, lo cual es importante cuando ciertos pares de valores no son válidos. Consulte el repositorio PICT.
- HECHOS: una herramienta de investigación del NIST que genera matrices de cobertura para cobertura de dos vías hasta seis vías, y también publica una biblioteca de matrices precalculadas. Está disponible en el Proyecto de pruebas combinatorias del NIST.
- Plataformas combinatorias comerciales: Las herramientas alojadas añaden requisitos tracFacilidad, resultados esperados y exportación a un sistema de gestión de pruebas, lo que resulta adecuado para equipos más grandes que necesitan un registro de auditoría.
- Bibliotecas de matrices publicadas: Las matrices estándar, como L4, L8, L9, L16 y L18, están tabuladas y se pueden copiar directamente cuando coinciden los recuentos de factores y niveles.
Cualquiera que sea la herramienta que produce la tabla, las filas generadas aún deben convertirse en casos ejecutables con datos reales y resultados esperados, y luego programarse como cualquier otra suite dentro técnicas de prueba de software ya se está utilizando en el proyecto.
Ventajas de las pruebas con matrices ortogonales
- Garantiza la prueba de las combinaciones por pares de todas las variables seleccionadas.
- Reduce el número de casos de prueba.
- Crea menos casos de prueba que aún cubren la interacción de cada par de variables.
- Se puede manejar una combinación compleja de las variables.
- Es más sencillo de generar y menos propenso a errores que los conjuntos de prueba creados a mano.
- Es útil para Pruebas de integracióny igualmente útil para pruebas de configuracióndonde las combinaciones de navegador, sistema operativo y dispositivo se multiplican rápidamente.
- Mejora la productividad debido a la reducción de los ciclos de prueba y los tiempos de prueba.
Los compuestos de ahorro durante pruebas de regresión, porque un conjunto equilibrado más pequeño es lo suficientemente económico como para volver a ejecutarlo en cada ciclo, mientras que un conjunto combinado exhaustivo generalmente se ejecuta una sola vez y luego se abandona discretamente.
Desventajas de las pruebas con matrices ortogonales
- A medida que aumentan las entradas de datos, aumenta la complejidad del diseño del caso de prueba. Como resultado, aumenta el esfuerzo manual y el tiempo empleado, y los evaluadores tienen que recurrir a Pruebas de automatización.
- La cobertura por pares no es una cobertura completa. Un defecto que solo aparece cuando se dan tres valores específicos a la vez puede pasar desapercibido en el array.
- Los factores con diferente número de niveles no se ajustan fácilmente a una matriz estándar, por lo que se necesita una matriz de niveles mixtos o un generador de matrices de cobertura.
- La elección de los niveles es una decisión subjetiva. Si se omite un valor importante en el modelo de entrada, ningún array podrá recuperarlo.
- Las restricciones entre valores, como un método de pago que solo es válido en un país, son difíciles de expresar y suelen generar filas no válidas que deben eliminarse manualmente.
Ninguna de estas limitaciones descarta la técnica; simplemente establecen sus límites. Las matrices ortogonales reducen el problema de combinación, mientras que el análisis de riesgos y pruebas de dominio Decide qué factores merecen un lugar en el modelo desde el principio.
Errores o errores al realizar OAT
- Dirigir los esfuerzos de prueba al área equivocada de la aplicación.
- Elegir los parámetros incorrectos para combinar.
- Utilizar pruebas con matrices ortogonales donde el conjunto de entrada es lo suficientemente pequeño como para realizar pruebas exhaustivas.
- Aplicar manualmente pruebas de matrices ortogonales a un modelo lo suficientemente grande como para necesitar un generador.
- Confiar únicamente en las pruebas de matrices ortogonales para aplicaciones de alto riesgo, donde se requiere una cobertura más profunda.
El último elemento es el que causa más daño en la práctica. En una característica crítica para la seguridad o financiera, el conjunto de pares es un piso en lugar de un techo, y normalmente se complementa con casos específicos en prueba del sistema nivel y con el plan más amplio descrito en tipos de pruebas de software.

