Para comprender la complejidad del ciclismo, primero comprenda:
¿Qué es el software métrico?
La medición es solo una indicación cuantitativa del tamaño / dimensión / capacidad de una característica de producto / proceso. Las métricas de software se definen como una medida cuantitativa de las características de un sistema de software en términos de costo, calidad, tamaño y cronograma.
Muestra
Measure - No. of Errors Metrics - No. of Errors found per person
En este tutorial, aprenderá:
Complejidad cíclica en las pruebas de software
Complejidad cíclica en las pruebas de software es una métrica de prueba que se utiliza para medir la complejidad de un programa de software. Es una medida cuantitativa de rutas independientes en el código fuente del programa de software. La complejidad cíclica se puede calcular utilizando gráficos de flujo controlados o para funciones, módulos, métodos o clases dentro de un programa de software.
Un sendero independiente se define como un sendero con al menos un borde que no ha sido cruzado previamente en ningún otro sendero.
Esta métrica fue desarrollada por Thomas J. McCabe en 1976 y se basa en una representación de flujo controlado en el programa. Los flujos de control muestran un programa como un gráfico que consta de nodos y márgenes.
En el gráfico, los nodos representan tareas de procesamiento y los bordes representan un flujo controlado entre los nodos.
Nota del diagrama de flujo para el programa:
La notación de gráfico de flujo para un programa define una cantidad de nodos conectados por los bordes. A continuación se muestran los diagramas de flujo para declaraciones como, ¿Quién más ?, y la secuencia de flujo normal.
Cómo calcular la complejidad del ciclismo
Representación matemática:
Matemáticamente, está organizado por caminos independientes a través del diagrama gráfico. La complejidad del código del programa se puede definir mediante la fórmula:
V(G) = E - N + 2
Dónde,
E – Número de aristas
N – Número de nodos
V (G) = P + 1
Para P = Número de nodos predicados (condición que contiene el nodo)
Ejemplo –
i = 0; n=4; //N-Number of nodes present in the graph while (i<n-1) do j = i + 1; while (j<n) do if A[i]<A[j] then swap(A[i], A[j]); end do; i=i+1; end do;
Habrá un diagrama de flujo para este programa
Computación matemática,
- V (G) = 9 – 7 + 2 = 4
- V (G) = 3 + 1 = 4 (Los nodos de condición son 1,2 y 3 nodos)
- Capa base: un conjunto de posibles rutas de ejecución del programa.
- 1, 7
- 1, 2, 6, 1, 7
- 1, 2, 3, 4, 5, 2, 6, 1, 7
- 1, 2, 3, 5, 2, 6, 1, 7
Propiedades de la complejidad cíclica:
Las propiedades de la complejidad cíclica son las siguientes:
- V (G) es el número máximo de caminos independientes en el gráfico
- V (G)> = 1
- G tendrá una ruta si V (G) = 1
- Minimiza la complejidad a 10
¿Cómo es útil esta métrica para las pruebas de software?
La prueba Foundation Path es una de las técnicas de caja blanca y garantiza la ejecución de al menos una declaración durante la prueba. Comprueba todas las rutas lineales independientes a través del programa, un casos de prueba significan números, deberán ser iguales a la complejidad cíclica del programa.
Esta métrica es útil para propiedades de complejidad cíclica (M) –
- El número de casos de prueba para lograr la cobertura de sucursales puede ser M (límite superior)
- M puede ser el número de trayectorias a través de los gráficos. (Límite inferior)
Considere este ejemplo:
If (Condition 1) Statement 1 Else Statement 2 If (Condition 2) Statement 3 Else Statement 4
La complejidad cíclica de este programa será 8-7 + 2 = 3.
Dado que la complejidad es 3 para calcular, se requieren tres casos de prueba para obtener la cobertura de ruta completa para la muestra anterior.
Pasos a seguir:
Se deben seguir los siguientes pasos para calcular la complejidad cíclica y el diseño del caso de prueba.
Paso 1 – Construir un gráfico con nodos y bordes a partir del código.
Paso 2 – Identificar caminos independientes
Paso 3 – Cálculo de la complejidad del ciclo
Paso 4 – Diseño de casos de prueba
Una vez hecho el conjunto básico, se deben escribir TEST CASES para ejecutar todas las rutas.
Más información sobre V (G):
La complejidad cíclica se puede calcular manualmente si el programa es pequeño. Es necesario utilizar herramientas de automatización si el programa es muy complejo, ya que implica más gráficos de flujo. Según el número de complejidad, el equipo puede sacar conclusiones sobre las medidas necesarias para realizar una medición.
La siguiente tabla ofrece una descripción general de la complejidad correspondiente y el significado del número v (G):
Número de complejidad | Significado |
---|---|
1-10 | Código bien estructurado y escrito Alta testabilidad Menor costo y esfuerzo |
10-20 | Código complejo Adaptabilidad media El costo y el esfuerzo son medianos |
20-40 | Código muy complejo Baja probabilidad El costo y el esfuerzo son altos |
> 40 | No se puede probar en absoluto Muy alto costo y esfuerzo |
Herramientas para calcular la complejidad del ciclismo:
Hay muchas herramientas disponibles para determinar la complejidad de la aplicación. Se utilizan varias herramientas de cálculo de complejidad para tecnologías específicas. La complejidad se puede encontrar por el número de puntos de decisión en un programa. Sin embargo, los puntos de decisión son si, para todos, aceptan declaraciones de casos en el código fuente.
Hay ejemplos de herramientas
- OCLint – Analizador de código estático para C y lenguajes relacionados
- Insertar métricas de código para ensamblados .NET
- GMetrics – Encuentra métricas en Java aplicaciones relacionadas
Usos de la complejidad del ciclismo:
La complejidad ciclista es de gran ayuda
- Ayuda a los desarrolladores y evaluadores a determinar la ejecución de rutas independientes
- Los desarrolladores pueden asegurarse de que todas las rutas se hayan probado al menos una vez
- Nos ayuda a enfocarnos más en los caminos de exposición.
- Mejorar la cobertura del código en ingeniería de software
- Evaluar el riesgo asociado con la aplicación o el programa.
- El uso de estas métricas al principio del ciclo reduce un mayor riesgo para el programa.
Conclusión:
La complejidad del ciclo es una métrica de software que es útil para estructuras o Prueba de caja blanca. Se utiliza principalmente para evaluar la complejidad del programa. Cuantos más puntos de decisión, mayor será la complejidad del programa. Si el programa tiene un alto número de complejidad, entonces existe una alta probabilidad de error con más tiempo para el mantenimiento y la resolución de problemas.