Suponga que tiene algún software que incluye una lista de n variables s 1 , s 2 , ..., s ny suponga que cada una de estas variables puede tomar un rango de valores. Ahora suponga que desea probar el programa para interacciones bidireccionales, es decir, desea probar que el programa se ejecuta correctamente para cada par de variables s i y s j y cada valor posible que estas variables puedan tomar.
Para hacer esto mediante una fuerza bruta, procesando cada par i y j uno por uno, luego probando cada valor permitido de s i y s j (mientras selecciona los otros arbitrariamente), requeriría probar una enorme cantidad de casos.
Pero, podemos probar varias interacciones bidireccionales en una sola prueba. Por ejemplo, si tenemos tres variables s 1 , s 2 y s 3 , y probamos cuando s 1 = 1, s 2 = 2 y s 3 = 0, entonces hemos probado tres posibles interacciones bidireccionales simultáneamente.
Podemos diseñar un conjunto de pruebas para el programa basado en una matriz de cobertura : las columnas representan las variables y las filas representan la prueba específica que se realizará (por lo tanto, menos filas es mejor). En una matriz de cobertura de fuerza 2, dentro de cualquiera de las dos columnas i y j, existen todos los pares posibles de las variables s i y s j . Hay matrices de cobertura de mayor resistencia que pueden probar las interacciones t-way (pero generalmente las interacciones son el resultado de solo unos pocos componentes).
Los conjuntos de cuadrados latinos mutuamente ortogonales (y varios otros diseños de bloques) forman matrices de cobertura particularmente eficientes.
Verifique estas referencias:
Cohen, DM; Dalal, SR; Parelius, J .; Patton, GC, el enfoque de diseño combinatorio para la generación automática de pruebas
Cohen, DM; Dalal, SR; Fredman, ML; Patton, GC ;, El sistema AETG: un enfoque para las pruebas basado en el diseño combinatorio
fuente