cobertura de caminos
Post on 24-Jun-2015
1.095 Views
Preview:
TRANSCRIPT
Cobertura de CaminosPasos
Ejemplos
Cobertura de Caminos
Andres Felipe Cano Cadavid acanocad@gmail.com
Tecnologico de Antioquia
23 de Octubre del 2013
Andres Felipe Cano Cadavid acanocad@gmail.com Cobertura de Caminos
Cobertura de CaminosPasos
Ejemplos
Cobertura de Caminos
Asegura que los casos de prueba disenados ejecuten al menos unavez cada sentencia y que las condiciones sean aprobadas tantopara su valor verdadero como falso.
Utiliza la complejidad ciclomatica de McCabe para determinara elnumero maximo de casos de prueba que aseguren la ejecucion decada camino del programa.Los pasos a realizar para aplicar esta tecnica son:
Representar el programa en un grafo de flujo.Calcular la complejidad ciclomatica.Determinar el conjunto basico de caminos independientes.Derivar los casos de prueba que fuerzan la ejecucion de cada camino.
Andres Felipe Cano Cadavid acanocad@gmail.com Cobertura de Caminos
Cobertura de CaminosPasos
Ejemplos
Representar el programa en un grafo de flujoCalcular Complejidad CiclomaticaDeterminar el conjunto basico de caminos independientesDerivar los casos de prueba
Representar el programa en un grafo de flujo
El grafo de flujo se usa para representar flujo de control logico de unprograma. Para ello se utilizan los siguientes elementos:
Nodo: representa cero, una o varias sentencias en secuencia.
Nodo predicado: cuando en una condicion aparecen uno o masoperadores logicos se crea un nodo disitido por cada una de lascondiciones simples. Este nodo se denomina nodo de predicado.
Arco: lınea que une dos nodos.
Region: area delimitada por arcos y nodos. El area externa secontabiliza como una region.
Andres Felipe Cano Cadavid acanocad@gmail.com Cobertura de Caminos
Cobertura de CaminosPasos
Ejemplos
Representar el programa en un grafo de flujoCalcular Complejidad CiclomaticaDeterminar el conjunto basico de caminos independientesDerivar los casos de prueba
Representar el programa en un grafo de flujo
El grafo debe cumplir las siguientes condiciones:1 Existe un solo nodo inicial2 Existe un solo nodo final3 Un nodo puede tener uno o dos sucesores4 Un nodo puede tener uno o mas antecesores5 Un nodo tendra dos sucesores si existen dos caminos posibles,
dependiendo de una condicion.
Andres Felipe Cano Cadavid acanocad@gmail.com Cobertura de Caminos
Cobertura de CaminosPasos
Ejemplos
Representar el programa en un grafo de flujoCalcular Complejidad CiclomaticaDeterminar el conjunto basico de caminos independientesDerivar los casos de prueba
Notacion
Secuencia Si Mientras Repetir
Andres Felipe Cano Cadavid acanocad@gmail.com Cobertura de Caminos
Cobertura de CaminosPasos
Ejemplos
Representar el programa en un grafo de flujoCalcular Complejidad CiclomaticaDeterminar el conjunto basico de caminos independientesDerivar los casos de prueba
Calcular Complejidad Ciclomatica
La complejidad ciclomatica es una metrica de software queproporciona una medida cuantitativa de la complejidad de unprograma.
En el contexto de pruebas define el numero caminosindependientes, y por tanto el numero´de casos de prueba a realizarA partir del grafo de flujo se puede calcular de alguna de lassiguientes formas:
1 V(G) = El numero de regiones del grafo2 V(G) = Arcos - Nodos + 23 V(G) = Nodos predicado + 1
Andres Felipe Cano Cadavid acanocad@gmail.com Cobertura de Caminos
Cobertura de CaminosPasos
Ejemplos
Representar el programa en un grafo de flujoCalcular Complejidad CiclomaticaDeterminar el conjunto basico de caminos independientesDerivar los casos de prueba
Determinar el conjunto basico de caminosindependientes
Camino Independiente: es cualquier camino del programa queintroduce, por lo menos, un nuevo conjunto de sentencias o unacondicion, respecto a los existentes. En terminos del grafo, un caminoindependiente esta constituido por lo menos por un arco que no ha sidorecorrido anteriormente.
Andres Felipe Cano Cadavid acanocad@gmail.com Cobertura de Caminos
Cobertura de CaminosPasos
Ejemplos
Representar el programa en un grafo de flujoCalcular Complejidad CiclomaticaDeterminar el conjunto basico de caminos independientesDerivar los casos de prueba
Determinar el conjunto basico de caminosindependientes
Los pasos para identificar los caminos independientes es:
Elegir un camino principal que represente una funcion valida que nosea un tratamiento de error. Debe intentar elegirse el camino queatraviese el maximo de numero de decisiones en el grafo.
Identificar el segundo camino mediante la localizacion de la primeradecision en el camino de lınea basica alternando sus resultadosmientras se mantiene el maximo de numero de decisionesoriginales del camino inicial.
Andres Felipe Cano Cadavid acanocad@gmail.com Cobertura de Caminos
Cobertura de CaminosPasos
Ejemplos
Representar el programa en un grafo de flujoCalcular Complejidad CiclomaticaDeterminar el conjunto basico de caminos independientesDerivar los casos de prueba
Determinar el conjunto basico de caminosindependientes
Identificar un tercer camino, poniendo la primera decision en suvalor original a la vez que se altera la segunda decision del caminobasico, mientras se intenta mantener el resto de decisionesoriginales.
Continuar el proceso hasta haber conseguido tratar todas lasdecisiones, intentando mantener el resto de decisiones originales.
Este metodo permite obtener V(G) caminos independientes.
Andres Felipe Cano Cadavid acanocad@gmail.com Cobertura de Caminos
Cobertura de CaminosPasos
Ejemplos
Representar el programa en un grafo de flujoCalcular Complejidad CiclomaticaDeterminar el conjunto basico de caminos independientesDerivar los casos de prueba
Derivar los casos de prueba
Se deben dar valores a las variables de entrada, de tal manera que sefuerce la ejecucion de cada camino.
Andres Felipe Cano Cadavid acanocad@gmail.com Cobertura de Caminos
Cobertura de CaminosPasos
Ejemplos
Ejemplo
Algorithm 1 ejemplo1(a, b, c, d)
1: while a > 0 do2: if b > 1 then3: if c > 0 then4: c = c + 15: else6: d = d + 17: end if8: b = b + 19: else
10: b = b + 111: end if12: a = a − 113: end while14: return b
Andres Felipe Cano Cadavid acanocad@gmail.com Cobertura de Caminos
Cobertura de CaminosPasos
Ejemplos
Ejemplo
Algorithm 2 ejemplo2(a, b, x)
1: if (a > 0 and b == 0) then2: x = x/a3: end if4: if (a == 2 or x > 1) then5: x = x + 16: end if7: return x
Andres Felipe Cano Cadavid acanocad@gmail.com Cobertura de Caminos
Cobertura de CaminosPasos
Ejemplos
Ejemplo
Algorithm 3 ejemplo3(x, y)1: while (x > 10) do2: x = x − 103: end while4: if (y < 20 and x %2 = 0) then5: y = y + 206: else7: y = y − 208: end if9: return 2 ∗ x + y
Andres Felipe Cano Cadavid acanocad@gmail.com Cobertura de Caminos
Cobertura de CaminosPasos
Ejemplos
Ejemplo
Algorithm 4 factorial(n)1: if n < 0 then2: factorial = −13: else4: i = 25: factorial = 16: while i ≤ n do7: factorial = factorial ∗ i8: i = i + 19: end while
10: end if11: return factorial
Andres Felipe Cano Cadavid acanocad@gmail.com Cobertura de Caminos
Cobertura de CaminosPasos
Ejemplos
Ejemplo
Algorithm 5 ejercicio(a, b, c, d)
1: while (a > 0) do2: if (b > 1 or a %2 == 1) then3: if (c > 0 and d > 10) then4: c = c + 15: else6: d = d + 17: end if8: b = b + 19: else
10: b = b + 111: end if12: a = a − 113: end while14: return b
Andres Felipe Cano Cadavid acanocad@gmail.com Cobertura de Caminos
Cobertura de CaminosPasos
Ejemplos
Ejemplo
Algorithm 6 esPerfecto(n)
1: i = 12: suma = 03: perfecto =false4: while (i < n) do5: if (n%i == 0) then6: suma = suma + i7: end if8: i = i + 19: end while
10: if (suma == n) then11: perfecto =true12: else13: perfecto =false14: end if15: return perfecto
Andres Felipe Cano Cadavid acanocad@gmail.com Cobertura de Caminos
top related