Pairwise testing, también llamado algoritmo dual, es una técnica utilizada para disminuir la cantidad de casos de prueba que pueden resultar de la combinación de varios valores intentando mantener un nivel de cobertura aceptable. Para esto se agrupan los valores posibles en duplas, tercetos, etc. y se evalúa la combinación de estos. Esto se basa en el hecho de que la mayor parte de los errores se producen como consecuencia de la combinación de dos o más factores, es por esto que, a pesar de reducir notablemente la cantidad de casos de prueba generados, se logra mantener altos niveles de cobertura y detección de defectos .
La técnica puede resultar sencilla en la teoría, sin embargo cuando la cantidad de condiciones es muy grande se vuelve muy difícil manejarla sin el apoyo de una herramienta. Son muchas las herramientas existentes y también lo son las prestaciones que brindan, algunas permiten por ejemplo utilizar combinaciones de n elementos en lugar de sólo dos, realizar combinaciones mezcladas en cuanto a cantidad de elementos e incluso ponderar algunas de las condiciones para darles más peso a la hora de seleccionar casos de prueba.
Supongamos que debemos probar un sistema que recibe tres parámetros: importe, descuento y retiro con las siguientes clases de equivalencia
Importe: < 1000. >=1000;
Descuento: 25%, 35%
Retiro: en el local, Envío a domicilio
Si quisiéramos realizar todas las combinaciones posibles para estos 6 valores necesitaríamos 2*2*2 (8) casos de prueba.
Número de caso
|
Importe
|
Descuento
|
Retiro
|
1
|
< 1000
|
25%,
|
en el local
|
2
|
< 1000
|
25%,
|
Envío a domicilio
|
3
|
< 1000
|
35%
|
en el local
|
4
|
< 1000
|
35%
|
Envío a domicilio
|
5
|
>=1000
|
25%,
|
en el local
|
6
|
>=1000
|
25%,
|
Envío a domicilio
|
7
|
>=1000
|
35%
|
en el local
|
8
|
>=1000
|
35%
|
Envío a domicilio
|
Puede observarse a través del ejemplo que si la cantidad de condiciones de prueba o sus valores posibles aumenta, la cantidad de casos de prueba asociados a estas lo hará de forma exponencial provocando que resulten cantidades tan grandes que resulten difícil de manejar.
Al aplicar la técnica de pairwise agruparemos dos de los valores como si de uno solo se tratase y lo combinaremos con el tercero. De esta forma podríamos agrupar por ejemplo importe y descuento, eligiendo valores aleatorios para la combinación, por un lado y combinarlo luego con retiro.
Importe + descuento: <1000 25%, >1000 35%
Retiro: en el local, Envío a domicilio
Número de caso
|
Importe + Descuento
|
Retiro
|
1
|
<1000, 25%
|
en el local
|
2
|
<1000, 25%
|
Envío a domicilio
|
3
|
>1000, 35%
|
en el local
|
4
|
>1000, 35%
|
Envío a domicilio
|
Ahora al combinar dos valores en un único parámetro, la combinación se reduce a 2*2 pasando de tener los ocho casos originales a trabajar con sólo cuatro de ellas.
En este ejemplo la técnica puede aplicarse con sencillez debido a la poca cantidad de clases de equivalencia y variables con las que estamos trabajando, pero esto será, seguramente, mucho mayor en la realidad por lo que recomiendo el uso de herramientas. Siguiendo este link encontraran varias herramientas gratuitas y aranceladas, con interfaz gráfica o utilizables por consola junto con varios papers que hablan más profundamente sobre el tema. También para quienes se lleven bien con el inglés les recomiendo leer este otro link
No hay comentarios:
Publicar un comentario