Una array gráfica es una estructura de datos que puede ayudar a desarrollar una herramienta para la automatización de pruebas de ruta . Las propiedades de las arrays gráficas son fundamentales para desarrollar una herramienta de prueba y, por lo tanto, las arrays gráficas son muy útiles para comprender los conceptos y la teoría de las pruebas de software .
¿Qué es una array gráfica?
Una array gráfica es una array cuadrada cuyo tamaño representa el número de Nodes en el gráfico de flujo de control. Si no sabe qué son los gráficos de flujo de control, lea este artículo. Cada fila y columna de la array identifica un Node y las entradas de la array representan los bordes o enlaces entre estos Nodes. Convencionalmente, los Nodes se indican con dígitos y los bordes con letras.
Tomemos un ejemplo.
Convirtamos este gráfico de flujo de control en una array gráfica. Dado que el gráfico tiene 4 Nodes, la array del gráfico tendría una dimensión de 4 X 4. Las entradas de la array se completarán de la siguiente manera:
- (1, 1) se llenará con ‘a’ ya que existe un borde desde el Node 1 al Node 1
- (1, 2) se rellenará con ‘b’ ya que existe un borde desde el Node 1 al Node 2. Es importante tener en cuenta que (2, 1) no se rellenará ya que el borde es unidireccional y no bidireccional
- (1, 3) se llenará con ‘c’ ya que el borde c existe desde el Node 1 hasta el Node 3
- (2, 4) se llenará con ‘d’ ya que el borde existe desde el Node 2 hasta el Node 4
- (3, 4) se llenará con ‘e’ ya que existe un borde desde el Node 3 al Node 4
La array gráfica formada se muestra a continuación:
Array de conexión:
una array de conexión es una array definida con peso de bordes. En forma simple, cuando existe una conexión entre dos Nodes del gráfico de flujo de control, entonces el peso del borde es 1, de lo contrario, es 0. Sin embargo, 0 generalmente no se ingresa en las celdas de la array para reducir la complejidad.
Por ejemplo, si representamos el gráfico de flujo de control anterior como una array de conexión, el resultado sería:
Como podemos ver, el peso de los bordes simplemente se reemplaza por 1 y las celdas que antes estaban vacías se dejan como están, es decir, representan 0.
Se utiliza una array de conexión para encontrar la complejidad ciclomática del gráfico de control .
Aunque hay otros tres métodos para encontrar la complejidad ciclomática, este método también funciona bien.
Los siguientes son los pasos para calcular la complejidad ciclomática :
- Cuente el número de 1 en cada fila y escríbalo al final de la fila
- Reste 1 de este conteo para cada fila (Ignore la fila si su conteo es 0)
- Agregue el recuento de cada fila calculado previamente
- Agregue 1 a este recuento total
- La suma final en el Paso 4 es la complejidad ciclomática del gráfico de flujo de control
Apliquemos estos pasos al gráfico anterior para calcular la complejidad ciclomática.
Podemos verificar este valor para la complejidad ciclomática usando otros métodos:
Método 1 :
Cyclomatic complexity = e - n + 2 * P
Desde aquí,
e = 5 n = 4 and, P = 1
Por lo tanto, la complejidad ciclomática,
= 5 - 4 + 2 * 1 = 3
Método-2:
Cyclomatic complexity = d + P
Aquí,
d = 2 and, P = 1
Por lo tanto, la complejidad ciclomática,
= 2 + 1 = 3
Método-3:
Cyclomatic complexity = number of regions in the graph
li
- Región 1: limitada por los bordes b, c, d y e
- Región 2: delimitada por el borde a (en bucle)
- Región 3: fuera del gráfico
Por lo tanto, la complejidad ciclomática,
= 1 + 1 + 1 = 3
Se puede ver que todos los demás métodos dan el mismo resultado. Los métodos 1, 2 y 3 se han discutido aquí en detalle.