Hemos discutido el algoritmo utilizado para la generación de configuración de prueba en el artículo Generación de configuración de prueba en pruebas combinatorias . Comprendamos el algoritmo en profundidad con un ejemplo resuelto a continuación.
Ejemplo
Considere una aplicación que funcione en cualquiera de los tres navegadores: Safari, Internet Explorer y Firefox. La aplicación se ejecuta en tres sistemas operativos, incluidos Windows, macOS y Linux. La aplicación puede conectarse a los dispositivos utilizando tres protocolos de conexión que incluyen LAN, PPP e ISDN. Además, la salida se envía a una impresora local o en red o la aplicación la envía a una pantalla. Para la aplicación dada, haga lo siguiente:
- Identificar los factores y niveles en el problema dado
- Genere una configuración de prueba para la aplicación utilizando MOLS que satisfagan las siguientes restricciones:
- Safari solo es compatible con macOS
- Internet Explorer solo funciona en Windows
- Firefox funciona en los tres sistemas operativos, es decir, macOS, Windows y Linux.
Solución:
1. Identificar factores y niveles
Para el problema dado, los factores y niveles son:
FACTORES | NIVELES |
---|---|
F1′: Navegador | Safari, Internet Explorer, Firefox |
F2′: Sistema Operativo | Windows, mac OS, Linux |
F3′: Protocolo | LAN, PPP, RDSI |
F4′ : Impresora | Red, local, a pantalla |
Por lo tanto, hay un total de 4 factores y cada factor tiene 3 niveles .
2. Generar configuración de prueba
(a) Vuelva a etiquetar los factores
Los factores tienen que ser reetiquetados de tal manera que:
Since, |F1| = |F2| = |F3| = |F4| = 3 So, the relation |F1| >= |F2| >= |F3| >= .........|Fn-1| >= |Fn| is satisfied. Therefore, factors are labeled as: F1 = F1' F2 = F2' F3 = F3' F4 = F4' Also, as b = |F1| and k = |F2|, Therefore, b = 3 and k = 3
NOTA: |Fi| es el número de niveles en el factor Fi. Además, b denota el número de bloques yk denota el número de filas en cada bloque.
(b) Prepare una tabla y llene las columnas F1 y F2
Ahora preparemos una tabla que contenga 4 columnas ya que hay cuatro factores. Además, necesitamos (bxk) número de filas, es decir (3 x 3) = 9 filas divididas en 3 bloques. Ahora, llenamos la Columna F1 con 1 en el Bloque 1, 2 en el Bloque 2 y así sucesivamente. Además, llenamos la Columna F2 usando la secuencia 1,2,3……k en las Filas 1 a k. El cuadro elaborado es el siguiente:
BLOQUEAR | FILA | F1 | F2 | F3 | F4 |
---|---|---|---|---|---|
1 | 1 | 1 | 1 | ||
1 | 2 | 1 | 2 | ||
1 | 3 | 1 | 3 | ||
2 | 1 | 2 | 1 | ||
2 | 2 | 2 | 2 | ||
2 | 3 | 2 | 3 | ||
3 | 1 | 3 | 1 | ||
3 | 2 | 3 | 2 | ||
3 | 3 | 3 | 3 |
(c) Encuentre MOLS de orden k y complete el resto de las columnas
Since k = 3, So, MOLS of order 3 are required. We know that if k is a prime or power of prime then number of MOLS = k - 1 As k = 3 is prime, therefore 2 MOLS exists that are: 1 2 3 1 2 3 M1 = 2 3 1 M2 = 3 1 2 3 1 2 2 3 1
Rellenamos las dos columnas restantes usando las columnas de M1 para F3 y las columnas de M2 para F4:
BLOQUEAR | FILA | F1 | F2 | F3 | F4 |
---|---|---|---|---|---|
1 | 1 | 1 | 1 | 1 | 1 |
1 | 2 | 1 | 2 | 2 | 3 |
1 | 3 | 1 | 3 | 3 | 2 |
2 | 1 | 2 | 1 | 2 | 2 |
2 | 2 | 2 | 2 | 3 | 1 |
2 | 3 | 2 | 3 | 1 | 3 |
3 | 1 | 3 | 1 | 3 | 3 |
3 | 2 | 3 | 2 | 1 | 2 |
3 | 3 | 3 | 3 | 2 | 1 |
(d) Comprobar si se cumplen las restricciones
En los problemas dados, los factores F1 (navegador) y F2 (sistema operativo) dependen entre sí como:
- Safari solo es compatible con macOS
- Internet Explorer solo funciona en Windows
- Firefox funciona en los tres sistemas operativos, es decir, macOS, Windows y Linux.
Entonces, una entrada en la fila se resalta en amarillo si no cumple con las restricciones mencionadas anteriormente:
BLOQUEAR | FILA | F1 | F2 | F3 | F4 |
---|---|---|---|---|---|
1 | 1 | 1 | 1 | ||
1 | 2 | 1 | 2 | 2 | 3 |
1 | 3 | 3 | 2 | ||
2 | 1 | 2 | 1 | 2 | 2 |
2 | 2 | 3 | 1 | ||
2 | 3 | 1 | 3 | ||
3 | 1 | 3 | 1 | 3 | 3 |
3 | 2 | 3 | 2 | 1 | 2 |
3 | 3 | 3 | 3 | 2 | 1 |
En la tabla anterior, hay cuatro filas que no cumplen las restricciones dadas. Por ejemplo, Fila 1 del Bloque 1, F1 = 1 y F2 = 1, es decir, F1 es Safari y F2 es Windows, sin embargo, se menciona claramente en la primera restricción que Safari solo admite macOS y ningún otro sistema operativo. Por lo tanto, esta fila no satisface las restricciones y, por lo tanto, está resaltada.
(e) Eliminar configuraciones que no satisfacen las restricciones dadas
Las configuraciones que están resaltadas en amarillo en la tabla anterior deben eliminarse y para ello utilizaremos un procedimiento de dos pasos:
- Modifique las filas resaltadas para que se mantengan las restricciones
- Agregue nuevas configuraciones que cubran los pares que quedaron descubiertos al reemplazar las filas resaltadas
Entonces, en el primer paso, modificamos las filas resaltadas arriba para que estas filas satisfagan las restricciones dadas. La tabla modificada se muestra a continuación:
BLOQUEAR | FILA | F1 | F2 | F3 | F4 |
---|---|---|---|---|---|
1 | 1 | 1 | 2 | 1 | 1 |
1 | 2 | 1 | 2 | 2 | 3 |
1 | 3 | 1 | 2 | 3 | 2 |
2 | 1 | 2 | 1 | 2 | 2 |
2 | 2 | 2 | 1 | 3 | 1 |
2 | 3 | 2 | 1 | 1 | 3 |
3 | 1 | 3 | 1 | 3 | 3 |
3 | 2 | 3 | 2 | 1 | 2 |
3 | 3 | 3 | 3 | 2 | 1 |
For the second step, The new configurations are as follows: F1 F2 F3 F4 - 1 1 1 ....(A) - 3 3 2 ....(B) - 2 3 1 ....(C) - 3 1 3 ....(D) Here, '-' denotes that F1 could take any value out of 1,2,3.
(A) y (C) ya se cumple en la tabla anterior ya que:
- F2 = 1 y F3 = 1 ocurren en la Fila 3 del Bloque 2. Además, F3 = 1 y F4 = 1 ocurren en la Fila 1 del Bloque 1. Por lo tanto, (A) se cumple
- De manera similar, F2 = 2 y F3 = 3 ocurren en la Fila 3 del Bloque 1 y F3 = 3 y F4 = 1 ocurren en la Fila 2 del Bloque 2. Por lo tanto, (C) se cumple
Sin embargo, (B) y (D) no se cumplen en la tabla anterior, por lo que los agregamos a la tabla de configuración única. La tabla actualizada se muestra a continuación:
BLOQUEAR | FILA | F1 | F2 | F3 | F4 |
---|---|---|---|---|---|
1 | 1 | 1 | 2 | 1 | 1 |
1 | 2 | 1 | 2 | 2 | 3 |
1 | 3 | 1 | 2 | 3 | 2 |
2 | 1 | 2 | 1 | 2 | 2 |
2 | 2 | 2 | 1 | 3 | 1 |
2 | 3 | 2 | 1 | 1 | 3 |
3 | 1 | 3 | 1 | 3 | 3 |
3 | 2 | 3 | 2 | 1 | 2 |
3 | 3 | 3 | 3 | 2 | 1 |
4 | 1 | – | 3 | 3 | 2 |
4 | 2 | – | 3 | 1 | 3 |
(f) Reemplace los números en las columnas con los valores de los factores dados
Ahora reemplazamos los valores de las columnas F1, F2, F3 y F4 con su valor real, es decir, niveles. La configuración final del diseño es como se muestra a continuación:
S. No. | F1 | F2 | F3 | F4 |
---|---|---|---|---|
1 | 1 [Safari] | 2 [mac OS] | 1 [LAN] | 1 [Red] |
2 | 1 [Safari] | 2 [mac OS] | 2 [PPA] | 3 [A_pantalla] |
3 | 1 [Safari] | 2 [mac OS] | 3 [RDSI] | 2 [locales] |
4 | 2 [Explorador de Internet] | 1 [ventanas] | 2 [PPA] | 2 [locales] |
5 | 2 [Explorador de Internet] | 1 [ventanas] | 3 [RDSI] | 1 [Red] |
6 | 2 [Explorador de Internet] | 1 [ventanas] | 1 [LAN] | 3 [A_pantalla] |
7 | 3 [Firefox] | 1 [ventanas] | 3 [RDSI] | 3 [A_pantalla] |
8 | 3 [Firefox] | 2 [mac OS] | 1 [LAN] | 2 [locales] |
9 | 3 [Firefox] | 3 [linux] | 2 [PPA] | 1 [Red] |
10 | – | 3 [linux] | 3 [RDSI] | 2 [locales] |
11 | – | 3 [linux] | 1 [LAN] | 3 [A_pantalla] |