La priorización de casos de prueba basada en segmentos de acoplamiento de módulos es una técnica que utiliza el valor de acoplamiento de módulos para identificar los módulos críticos en el software y, por lo tanto, priorizar los casos de prueba en el conjunto de pruebas en función de estos módulos críticos.
Dado que la mayoría de las técnicas de priorización de casos de prueba no tienen en cuenta el hecho de que el cambio en un módulo también podría propagarse en otros módulos del software. Entonces, en lugar de priorizar casos de prueba en un criterio simple como cobertura, riesgo, requisitos, etc., los módulos críticos podrían identificarse en función de qué caso de prueba podría priorizarse. A continuación se muestra el algoritmo utilizado para realizar la priorización de casos de prueba basada en segmentos de acoplamiento de módulos:
Algoritmo para la priorización de casos de prueba basados en segmentos de acoplamiento de módulos
- En primer lugar, creamos una array C de acoplamiento de módulos que indica el acoplamiento entre todos los módulos del programa. Construya una array de acoplamiento de módulos m X m , donde m es el número de módulos en el programa. Rellene la array utilizando los valores de acoplamiento del módulo, es decir, C ij representa el acoplamiento entre el módulo i y el módulo j . La array de acoplamiento del módulo es de naturaleza simétrica, es decir, C ij = C ji, y todos los elementos diagonales, es decir, C ii para todo i es igual a 1.
- Construya una array de cohesión de módulo S utilizando el tipo de cohesión de cada módulo y el valor correspondiente para cada tipo de cohesión. Esta es una array de 1 X m , donde m es el número de módulos en el programa.
- El paso final es crear una array de dependencia de módulo D, que es una array m X m , donde m es el número de módulos en el programa. Se construye utilizando la siguiente ecuación:
Dij = 0.15 * ( Si + Sj ) + 0.7 * Cij where, Cij is not equal to 0 Also, Dij = 0 where Cij = 0 Dii = 1 for all i
Como podemos ver, la array de acoplamiento del módulo C y la array de cohesión del módulo S se utilizan para construir la array de dependencia del módulo D. El enlace que tiene el valor más alto en la array de dependencia del módulo recibe la prioridad más alta y los casos de prueba se priorizan para el mismo módulos que están asociados con esos enlaces.
Ejemplo resuelto
Pregunta : Usando el siguiente gráfico de llamadas y tablas, construya las arrays de acoplamiento de módulos, cohesión de módulos y dependencia de módulos:
Solución :
Usando el algoritmo mencionado anteriormente, podemos calcular las arrays de la siguiente manera:
1. Array de acoplamiento de módulos (C)
Cree una array mxm , donde m es el número de módulos. Aquí, del gráfico de llamada dado podemos ver que hay ocho módulos y, por lo tanto, el valor de m = 8. Por lo tanto, cree una array de 8 x 8 y comience a llenarla sobre la base del valor asociado con el tipo de acoplamiento entre módulos i y j .
Example 1: For the link 1-2 in call graph, the coupling type = Data Coupling (Refer given table in the Question) i = 1 and j = 2 C12 = 0.50 since value associated with Data Coupling Type is 0.50 Example 2: For the link 3-7 in call graph, the coupling type = Stamp Coupling (Refer given table in the Question) i = 3 and j = 7 C37 = 0.60 since value associated with Stamp Coupling Type is 0.60
Llene toda la array de manera similar y la Array de acoplamiento de módulos completa será como se muestra a continuación:
2. Array de cohesión del módulo (S)
Es una array de 1 x m que es fácil de crear utilizando las tablas proporcionadas en la pregunta. Utilice el tipo de cohesión del módulo y los valores asociados con los tipos de cohesión para llenar esta array.
Example 1: For the module 1 in call graph, the cohesion type = Coincidental (Refer given table in the Question) S1 = 0.80 since value associated with Coincidental Cohesion Type is 0.80 Example 2: For the module 4 in call graph, the cohesion type = Temporal (Refer given table in the Question) S4 = 0.20 since value associated with Temporal Cohesion Type is 0.20
Llene toda la array de cohesión como se describe arriba y la array de cohesión del módulo completa será:
3. Array de dependencia del módulo (D)
Es una array m X m que se construye utilizando tanto el acoplamiento de módulos como la array de cohesión de módulos. Utilice la fórmula indicada en el algoritmo.
Example 1: For the link 1-2 in call graph, D12 = 0.15 * ( S1 + S2 ) + 0.7 * C12 Since S1 = 0.80, S2 = 0.30 and C12 = 0.50 Therefore, D12 = 0.15 * ( 0.80 + 0.30 ) + 0.7 * 0.50 = 0.515 = 0.52 (round off to 2 decimal places) Example 2: For the link 4-6 in call graph, D46 = 0.15 * ( S4 + S6 ) + 0.7 * C46 Since S4 = 0.20, S6 = 0.40 and C46 = 0.70 Therefore, D46 = 0.15 * ( 0.20 + 0.40 ) + 0.7 * 0.70 = 0.58
Después de llenar toda la array, la array de dependencia del módulo será:
De la Array de dependencia del módulo que se muestra arriba, podemos ver que los módulos 4, 5, 6 y 8 tienen el valor más alto en la array de dependencia obtenida y, por lo tanto, los casos de prueba para estos módulos deben tener mayor prioridad en comparación con otros módulos.