Objetivos:
- Describir el concepto y el valor de la cobertura de código (K2).
- Explicar los conceptos de sentencia y cobertura de decisión y explicar por qué estos conceptos pueden utilizarse también en niveles de prueba que no sean pruebas de componente (por ejemplo, en procedimientos de negocio a nivel de sistema)(K2).
- Escribir casos de prueba a partir de flujos de control de datos utilizando técnicas de diseño de pruebas de decisión y sentencia (K3).
- Evaluar la cobertura de sentenca y decisión para la integridad por lo que respecta a los criterios de salida definidos (K4).
Explicando la Cobertura de sentencia ("Statement coverage").
- El foco de la atención es la sentencia del código de un programa.- ¿Qué casos de prueba son necesarias con el objeto de ejecutar todas (o un porcentaje determinado) las sentencias del código existentes?
- La base de este análisis es el gráfico (o diagrama) de flujo de control ("control flow graph").
- - Todas las instrucciones están representadas por nodos y el flujo de control entre instrucciones está está representado por aristas (flecha).
- - Las instrucciones múltiples se combinan en un nodo independiente si solamente pueden ser ejecutados en una secuencia particular.
- El objetivo de la prueba (criterio de salida) es lograr la cobertura de un porcentaje específico de todas las sentencias, denominado cobertura de sentencia. (Co Cobertura de código - "code coverage").
j = f(i);
if (j>10){
for (k=i; k >10 ; k --){
.......
}
}
Considerar el programa representado por el gráfico (o diagrama) de flujo de control (imagen de arriba).
- Contiene dos sentencia "if" y un bucle "do - while" dentro de la segunda sentencia "if".
- Hay tres "caminos" diferentes a través del segmento de programa.
- La primera sentencia "if" permite dos direcciones.
- La dirección de la derecha de la primera sentencia "if" se divide nuevamente a partir de una segunda sentencia "if".
- Todas las sentencias de este programa pueden ser alcanzadas haciendo uso de este camino.
- Un solo caso de prueba será suficiente para alcanzar el 100% de cobertura de sentencia.
- El programa contiene las sentencias "if" y un bucle (dentro de una sentencia "if").
- Cuatro caminos diferentes conducen a través de este segmento de programa.
- La primera sentencia "if" permite dos direcciones.
- En cada rama de la sentencia "if" otra sentencia "if" permite nuevamente dos direcciones diferentes.
- Para cada una cobertura de sentencia del 100% hacen falta cuatrocasos de prueba.
- La medición de la cobertura se realiza con el uso de herramientas diseñadas de forma específica. -
- - Estas herramientas se denominan Herramientas de análisis de Cobertura ("Coverage Analysis Tools") o Analizadores de Cobertura ("Coverage Analyzers").
- Beneficios /desventajas de este método.
- - Será detectado el código muerto, es decir, código constituido por sentencias que nunca se ejecutan.
- - Si hay código muerto en el programa , no se podrá lograr una cobertura del 100%.
- No podrán ser detectados instrucciones faltantes, es decir, código que es necesario con el objeto de cumplir con la especificación.
- - Las pruebas se desarrollan solamente respecto de sentencias ejecutadas, ¿Tódo el código puede ser alcanzado / ejecutado?.
- - El código faltante no puede ser detectado utilizando técnica de caja blanca (análisis de cobertura).
13 Given the following:
Switch PC on
Start “outlook”
IF outlook appears THEN
Send an email
Close outlook
a) 1 test for statement coverage, 1 for branch coverage
b) 1 test for statement coverage, 2 for branch coverage-->OK
c) 1 test for statement coverage. 3 for branch coverage
d) 2 tests for statement coverage, 2 for branch coverage
e) 2 tests for statement coverage, 3 for branch coverage
13 Teniendo en cuenta lo siguiente:
Switch PC on
Start “outlook”
IF outlook appears THEN
Send an email
Close outlook
a) Prueba 1 para la cobertura de declaración, 1 para la cobertura de rama
b ) 1 prueba para la cobertura de sentencias , 2 para la cobertura de ramas-->OK
c ) 1 prueba para la cobertura de declaración. 3 para la cobertura de ramas
d ) 2 pruebas para la cobertura de declaración , 2 para la cobertura de ramas
e) 2 pruebas para la cobertura de declaración, 3 para la cobertura de la rama
14 Given the following code, which is true:
IF A > B THEN
C = A – B
ELSE
C = A + B
ENDIF
Read D
IF C = D Then
Print “Error”
ENDIF
a) 1 test for statement coverage, 3 for branch coverage
b) 2 tests for statement coverage, 2 for branch coverage-->OK
c) 2 tests for statement coverage. 3 for branch coverage
d) 3 tests for statement coverage, 3 for branch coverage
e) 3 tests for statement coverage, 2 for branch coverage
14 Dado el siguiente código, lo cual es cierto :
IF A > B THEN
C = A – B
ELSE
C = A + B
ENDIF
Read D
IF C = D Then
Print “Error”
ENDIF
a) Prueba 1 para la cobertura de declaración, 3 para la cobertura de la rama
b) 2 pruebas para la cobertura de sentencia, 2 para la cobertura de ramas-->OK
c ) 2 pruebas para la cobertura de declaración. 3 para la cobertura de ramas
d ) 3 pruebas para la cobertura de declaración , 3 para la cobertura de la rama
e) 3 pruebas para la cobertura de declaración, 2 para la cobertura de rama
Pick up and read the newspaper
Look at what is on television
If there is a program that you are interested in watching then switch the the television on and watch
the program
Otherwise
Continue reading the newspaper
If there is a crossword in the newspaper then try and complete the crossword
a) SC = 1 and DC = 1
b) SC = 1 and DC = 2
c) SC = 1 and DC = 3
d) SC = 2 and DC = 2
e) SC = 2 and DC = 3-->OK
15 Considere lo siguiente
Recogida y leer el periódico
Mira lo que está en la televisión
Si hay un programa que usted está interesado en ver a continuación, encienda el televisor encendido y
reloj el programa
De otra manera
Seguir leyendo el periódico
Si hay un crucigrama en el periódico y luego tratar de completar el crucigrama
a) SC = 1 and DC = 1
b) SC = 1 and DC = 2
c) SC = 1 and DC = 3
d) SC = 2 and DC = 2
e) SC = 2 and DC = 3-->OK
No hay comentarios:
Publicar un comentario