Sei sulla pagina 1di 14

<<Técnicas de Diseño de Pruebas -

Técnicas de Caja Blanca y


Técnicas basadas en la experiencia>>
Curso: Pruebas de Software
16
TECNICAS DE PRUEBAS DE CAJA BLANCA
04 TECNICAS DE PRUEBAS DE CAJA BLANCA

mejores pruebas
Función ejercitada,
estructura insuficiente

Pruebas
Funcionales

Estructura ejercitada,
función insuficiente

% Statement % Decision % Condition


Combination
Pruebas Estructurales

Una cobertura del 100% Cobertura no es


no Significa 100% probado! Minuciosidad
Ing. Alejandro Bartra
3
04 TECNICAS DE PRUEBAS DE CAJA BLANCA

Cobertura de sentencias
• porcentaje de sentencias ejecutables ejercitadas por un conjunto de
pruebas
número de sentencias ejercitadas
=
número total de sentencias

• ejemplo:
• el programa cuenta con 100 sentencias
• 87 sentencias ejecutables ?
• declaración de cobertura = 87%

Pruebas ad hoc típicas, logran un 60 - 75%

Ing. Alejandro Bartra


4
04 TECNICAS DE PRUEBAS DE CAJA BLANCA

Ejemplo de cobertura de sentencias

Test Input Expected


1 read(a) case output
2 IF a > 6 THEN
3 b=a 1 7 7
4 ENDIF
5 print b

Como las 5 sentencias están "cubiertas" por


este caso de prueba, hemos logrado
100% de cobertura de la declaración.

Número de
sentencias

Ing. Alejandro Bartra


5
04 TECNICAS DE PRUEBAS DE CAJA BLANCA

Cobertura de la Decisión (Cobertura de las ramas)


• Porcentaje de salidas de decisión ejercitados por un conjunto de pruebas

número de salidas de decisión ejecutadas


= número total de salidas de decisión

False
?
• Ejemplo:
• Un programa cuenta con 120 resultados de decisión True
• Las pruebas ejecutan 60 resultados de decisión
• La cobertura de decisión = 50%

Pruebas ad hoc típicas, logran un 40 - 60%

Ing. Alejandro Bartra


6
04 TECNICAS DE PRUEBAS DE CAJA BLANCA

1234
Rutas a través del código

1 2 1 2 1 2 3 ?

? ? ? ?

Ing. Alejandro Bartra


7
04 TECNICAS DE PRUEBAS DE CAJA BLANCA

Rutas a través del código con loop

1 2 3 4 5 6 7 8 ….

tantas veces como sea


posible dar la vuelta
al bucle (esto puede ser
ilimitado, es decir, infinito)
?

Ing. Alejandro Bartra


8
Ejemplo 1

Wait

Wait for card to be inserted


Yes Display
IF card is a valid card THEN Valid
display “Enter PIN number” card? “Enter..
IF PIN is valid THEN
select transaction No
Valid Yes Select
ELSE (otherwise) Reject
PIN? trans...
display “PIN invalid” card
ELSE (otherwise) No
reject card
End Display
“PIN in..

End

Ing. Alejandro Bartra


9
Ejemplo 2

Read A
IF A > 0 THEN Read
IF A = 21 THEN
Print “Key” Yes Yes
ENDIF A>0 A=21
ENDIF No No
Print

3
- Complejidad Ciclomática: _____
- Pruebas mínimas para lograr: End
1
• Cobertura de Sentencia:____
• Cobertura de decisión: ______
3

Ing. Alejandro Bartra


10
Ejemplo 3

Read A Read
Read B
IF A > 0 THEN
IF B = 0 THEN Yes No
A>0 B=0 Print
Print “No values”
ELSE No Yes
Print B Yes
Print A>21 Print
IF A > 21 THEN
Print A No
ENDIF
ENDIF
ENDIF End
4
- Complejidad Ciclomática: _____
- Pruebas mínimas para lograr:
• Cobertura de sentencia: ______
2
• Cobertura de decisión: _____
4

Ing. Alejandro Bartra


11
Ejemplo 4

Yes
Read A<0 Print
Read A No
Read B
Print
IF A < 0 THEN
Print “A negative”
ELSE Nota: hay 4 Yes
Print “A positive” caminos
B<0 Print
ENDIF No
IF B < 0 THEN
Print “B negative” Print
ELSE
Print “B positive”
ENDIF End
3
- Complejidad Ciclomática: _____
- Pruebas mínimas para lograr:
• Cobertura de sentencia: ______
2
• Cobertura de decisión: _____
2
Ing. Alejandro Bartra
12
Ejemplo 5

Yes
Read A<0 Print
Read A No
Read B
IF A < 0 THEN
Print “A negative” Yes
B<0 Print
ENDIF
IF B < 0 THEN No
Print “B negative”
ENDIF
End

3
- Complejidad Ciclomática: _____
- Pruebas mínimas para lograr:
1
• Cobertura de sentencia: ______
• Cobertura de decisión: _____
2

Ing. Alejandro Bartra


13
Ejemplo 6

Yes
Read A<0 Print
Read A No
IF A < 0 THEN
Print “A negative”
Yes
ENDIF A>0 Print
IF A > 0 THEN
Print “A positive” No
ENDIF
End

3
- Complejidad Ciclomática: _____
- Pruebas mínimas para lograr:
• Cobertura de sentencia: ______
2

• Cobertura de decisión: _____


2

Ing. Alejandro Bartra


14

Potrebbero piacerti anche