Glosario · Diseño de pruebas
Pruebas por pares (pairwise)
En inglés: Pairwise testing
También llamado: pairwise, all-pairs testing, prueba por pares, pruebas combinatorias
Definición
Técnica combinatoria que selecciona un conjunto reducido de casos de prueba en el que cada par de valores de parámetros aparece junto al menos una vez.
Las pruebas por pares (pairwise testing o all-pairs testing) reducen el número de combinaciones necesarias cuando una funcionalidad tiene varios parámetros. En lugar de probar todas las combinaciones posibles, eligen un conjunto de tests en el que cada valor de cada parámetro se combina al menos una vez con cada valor de todos los demás parámetros. La idea se apoya en una observación práctica: la mayoría de los defectos relacionados con la configuración los provoca un único parámetro o la interacción de dos, y muchos menos requieren tres o más valores concretos a la vez.
Ejemplo
Una aplicación web debe funcionar con estas opciones:
- Navegador: Chrome, Firefox, Safari
- Sistema operativo: Windows, macOS, Linux
- Idioma: inglés, alemán, japonés
Todas las combinaciones suman 3 x 3 x 3 = 27 tests. Un conjunto pairwise necesita solo 9:
| # | Navegador | SO | Idioma |
|---|---|---|---|
| 1 | Chrome | Windows | Inglés |
| 2 | Chrome | macOS | Alemán |
| 3 | Chrome | Linux | Japonés |
| 4 | Firefox | Windows | Alemán |
| 5 | Firefox | macOS | Japonés |
| 6 | Firefox | Linux | Inglés |
| 7 | Safari | Windows | Japonés |
| 8 | Safari | macOS | Inglés |
| 9 | Safari | Linux | Alemán |
Comprueba dos columnas cualesquiera: aparecen todos los pares. Chrome con Linux está en la fila 3, macOS con japonés en la fila 5, Safari con alemán en la fila 9. Con más parámetros el ahorro crece rápidamente. Diez parámetros con tres valores cada uno suman 59.049 combinaciones, mientras que un conjunto pairwise puede cubrir todos los pares en unos 15 a 20 tests, según el generador.
Restricciones
Los sistemas reales tienen combinaciones imposibles. Safari no está disponible en Linux, así que hay que sustituir la fila 9, y los buenos generadores permiten declarar restricciones como esta y luego reconstruir el conjunto para que todos los pares válidos sigan cubiertos. Entre las herramientas que generan conjuntos pairwise están PICT de Microsoft y la familia de scripts AllPairs.
Cuándo no confiar en ellas
- Combinaciones de riesgo conocidas. Si importa una combinación concreta de tres valores (un método de pago, una moneda y un país), añádela explícitamente.
- Reglas que dependen de varias entradas a la vez. Usa una tabla de decisión para capturar la lógica de negocio; pairwise sirve para cubrir configuraciones y opciones independientes.
- Parámetros críticos individuales. Pairwise no sustituye a la partición de equivalencia ni al análisis de valores límite para los valores propios de cada parámetro.
Las variantes de mayor intensidad (3-wise o, en general, t-wise) cubren cada trío o tupla mayor, a costa de más tests.