Download - EstructurasDatos - Complejidad Ciclomática
I. Análisis de algoritmos
Comprende el concepto de complejidad de los algoritmos y su
aplicación en la selección de los mismos
AnálisisEnfoqueCalidad del
software
Pruebas del Software
Caja blancaLógica Interna
Caja negra Requisitos
Prueba del software y su complejidad
Prueba del software y su complejidad
Pruebas de caja blanca Se aplican a unidades del programa relativamente
pequeñas como las rutinas o las operaciones asociados con un objeto.
El probador analiza el código y utiliza el conocimiento de la estructura de un componente para derivar los casos de prueba
Se analiza el código para descubrir cuantos casos de son necesarios para garantizar que todas las instrucciones del programa se ejecuten al menos una vez durante la prueba
PRUEBA DEL CAMINO BÁSICO… Pasos para la prueba del camino básico
1. Dibujar el grafo de flujo
2. Calcular la complejidad ciclomática
3. Elegir un conjunto básico de trayectorias
PRUEBA DEL CAMINO BÁSICO… Grafo de flujo de las estructuras básicas
PRUEBA DEL CAMINO BÁSICO… Grafo de flujo de las estructuras básicas
PRUEBA DEL CAMINO BÁSICO… Criterios
Los círculos son llamados NODOS y representan una o más sentencias sin bifurcaciones. Representan una o más acciones.
Un solo NODO puede corresponder a una secuencia de CUADROS de proceso y a un ROMBO de decisión.
Las flechas son llamadas ARISTAS y representan el flujo de control.
Una ARISTA debe terminar en un NODO, incluso aunque este no represente ninguna secuencia procedimental
Las áreas delimitadas por ARISTAS y NODOS se llaman REGIONES.
Cuando contamos regiones incluimos el área exterior del grafo, contando como una REGIÓN más.
PRUEBA DEL CAMINO BÁSICO… Criterios
Cada NODO que contiene una condición se denomina NODO PREDICADO. Se caracteriza porque 2 o más NODOS emergen de él.
Si se encuentran CONDICIONES COMPUESTAS, la generación del grafo de flujo es más difícil. Una condición compuesta se da cuando aparecen 1 o más OPERADORES (OR, AND, NAND, NORlógicos) en una SENTENCIA CONDICIONAL. Se crea un nodo aparte para cada una de las condiciones
PRUEBA DEL CAMINO BÁSICO… Ejemplo de descomposición de una condición
compuesta
n1>
n2n1>n3
Ma=n1Ma=n3
n2>n3
Ma=n2Ma=n3
si si
sino
no no
PRUEBA DEL CAMINO BÁSICO… Realizar el grafo de flujo del siguiente diagrama
de flujo
n1 > n2
n1 > n3
n2 > n3
1. No. Regiones 42. V (G) = A – N + 2 = 12 -10 +2 = 43. V (G) = P + 1 = 3 + 1 = 4
r2 r3
r1r4
Complejidad ciclomática El calculo de la complejidad ciclomática nos da la
respuesta. Se puede calcular de 4 formas:
1. Por el número de regiones
2. V (G) = A – N + 2
A = No. de Aristas
N = No. de nodos
3. V (G) = P + 1
P = No. nodos predicado
4. Por la matriz de conexión
Complejidad ciclomática Ejemplo:
Ejercicio: Desarrolla un programa para el siguiente problema y
calcula la complejidad ciclomática del algoritmo.
1. Se tiene la producción total de toneladas de cereales (arroz, avena ,cebada, trigo) cosechadas durante cada mes del año anterior.
Elaborar un programa que proporcione la siguiente información:
a. El promedio anual de toneladas cosechadas. b. ¿Cuántos meses tuvieron una cosecha superior al promedio anual? c. ¿Cuántos meses tuvieron una cosecha inferior al promedio anual?
d. ¿Cuál fue el mes en el que se produjeron mayor número de toneladas?