You are on page 1of 20

The Art of Software testing

MYERS

Saquen una hoja ...

Escribir un conjunto de casos de prueba, un conjunto de datos que van a testear bien el siguiente programa.
El programa lee tres enteros. Los tres valores representan la medida de los lados de un tringulo. El programa imprime un mensaje que determina si el tringulo es esacaleno, isceles o equiltero.

Evaluar el conjunto de los casos de prueba

Un caso de prueba que representa un tringulo vlido escaleno (1,2,3 / 2,5,10) equiltero issceles (2,2,4) Al menos tres casos de una posibilidad vlida, en donde se permuten los datos (3,3,4 4,3,3 3,4,3) FI: uno con un 0 En todo tringulo uno con un valor negativo un lado es menor
que la suma de los otros dos y mayor que su diferencia

Evaluar el conjunto de los casos de prueba

la suma de dos de los nmeros es igual al tercero (1,2,3) idem anterior + la permutacin de lugar la suma de dos de los nmeros es menor al tercero (1,2,4) idem anterior + permutacin del lugar (0,0,0) nmeros no enteros valor errneo (asdfk dfjka aldj) para cada caso de prueba especific la salida

Evaluar el conjunto de los casos de prueba

Buenos programadores 7 u 8, entre 14

Casos de Prueba

Caso de prueba son un conjunto de datos de entrada que me permiten obtener un valor de salida del sistema. El objetivo es hallar cul es el subconjunto de todos los casos de prueba que tiene una mayor probabilidad de detectar errores.

Test de Unidad

Tipos
Caja Blanca
statement coverage Decision coverage decision / condition coverage Multiple-condition coverage

Caja Negra
particin equivalente anlisis de los valores lmites Grafo de causa efecto adivinacin/suposicin de errores

Caja Blanca

> = 20

Caja Blanca

Testeo exhaustivo de caminos o testeo exhaustivo de entradas


Imposibilidad real de hacerlo No asegura la correccin del programa
No necesariamente machea las especificaciones Pueden faltar caminos Errores que se manifiestan dependiendo de los datos que estemos usando

Si bien el testeo exhaustivo de entradas es superior al testeo exhaustivo de caminos, ninguna de las dos estrategias son convenientes.

Caja Blanca / Statement Coverage


a
A>1 AND B=0

v c

X=X/A A B X

ace
b
A=2 OR X>1

f v e f

2 0 3

X=X+1

Caja Blanca / Decision / Coverage


a
A>1 AND B=0

v c

X=X/A A B X

f
b
A=2 OR X>1

acd
abe v e

3 0 3 2 1 1

X=X+1
Si AND en vez de OR

f d

Caja Blanca / Decision/ Condition Coverage


a

A>1 A<=1
A>1 AND B=0

X=X/A

B=0 B=/0 A=2 A=/2

b
A=2 OR X>1

X>1 X<=1
e

X=X+1
ace

A B X
2 0 4 1 1 1

abd

Caja Blanca / Condition A>1 A<=1 Coverage


a
A>1 AND B=0

B=0 B=/0 c X=X/A A=2 A=/2 X>1 X<=1 A B X abe 1 0 3 2 1 1 e abe

b
A=2 OR X>1

X=X+1

Caja Blanca / Multiple Condition Coverage A


a
A>1 AND B=0

A 2

X >1

>1 =0 c X=X/A

>1 =/0
<=1 =0 <=1 =/0

<=1

=/2 >1 =/2 <=1

b
A=2 OR X>1

A B X e 2 0 4

X=X+1

2 1 1
1 0 2

1 1 1

Caja Negra / Particin equivalente

Maximizar el nmero de errores encontrados en un nmero finito de casos de prueba Incluir la mayor cantidad posible de condiciones de entrada en los casos de prueba para minimizar el nmero total de casos de prueba Se debe tratar de particionar los dominios de las entradas del programa en un nmero finito de clases equivalentes (el test del valor representativo es equivalente al test de cualquier otro valor) Se deben definir las clases equivalentes vlidas y las no vlidas

Caja Negra / Particin Equivalente


Identificacin de los los casos de prueba a partir de la entrada

Rango de valores una clase equivalente vlida dos clases invlidas Nmero de valores una clase equivalente vlida dos clases invlidas Conjunto de valores de entradas, manejados en forma diferente por el programa uno vlido y otro invlido debe ser

Caja Negra / Anlisis de Valores lmites

Un rango de valores para la entrada / salida caso de prueba para los extremos del intervalo caso de pruebas invlidos alrededor de los extremos Un nmero de valores entrada / salida un caso de prueba para el mximo y otro para el mnimo un caso de prueba en los alrededores del nmero Si la entrada o salida es un conjunto ordenado focalizarse en el primero y ltimo elemento

Caja Negra / Grafo de causa efecto

Explora las circunstancias en donde se dan combinaciones de las entradas Tabla de Decisin
Causas son las entradas Efectos son las salidas Columnas de la Tablas son los casos de Prueba

Recomendacin

Se recomienda hacer casos de testeo usando los mtodos de caja negra y despus desarrollar casos de testeo suplementarios de caja blanca, cuando sea necesario.

Recomendacin

Si las especificaciones contienen combinaciones de las entradas, comenzar con un grafo de causa efecto Siempre usar anlisis de los valores lmites (entrada o salida), completando el anterior Completar los casos de prueba, identificando las clases equivalentes para las entradas y las salidas. Usar suposicin de errores para agregar adicionales casos de prueba Examinar los casos de prueba considerando la lgica del programa.

You might also like