Sei sulla pagina 1di 25

Aseguramiento de la calidad

y pruebas de software
5- Pruebas del software
Caja Negra/Caja Blanca
Blanca A. Vargas Govea
vargasgovea@itesm.mx
Marzo 12, 2013
Contenido

Pruebas de caja negra


Causa-efecto Tabla de decisin

Reporte de pruebas de caja negra

Introduccin a pruebas de caja blanca

2
Causa y efecto: tabla de decisin
Se usan para registrar Cada columna de la
reglas de negocio que tabla representa una
deban ser regla que origina una
implementadas y accin.
probadas. Cada regla debe ser
Las condiciones un caso de prueba.
representan posibles
entradas.

3
Ejemplo
Especificacin de un juego: Condiciones R1 R2 R3
A se establece Si Si No
si una persona A se establece en la propiedad
en una propiedad cuyo dueo de B
A tiene Si No --
es una persona B, A debe suficiente
pagar renta a B. Si A no tiene dinero para
pagar la renta
dinero suficiente para pagar a
Acciones
B, A debe desalojar la A permanece Si No Si
propiedad y queda fuera del en el juego
juego.
Caso de prueba 1
Idea bsica: Identificar
Caso de prueba 2
condiciones y acciones y
definir las reglas. Caso de prueba 3 4
Tabla de decisin
Ventaja Desventajas
Prueba combinaciones Puede haber muchas
de condiciones. causas y efectos.

5
Cmo reportar resultados de prueba?

6
Anatoma de un caso de prueba:
Formato
Test ID Descripcin Pasos Result Resultados Status
ados actuales
espera
dos
1
2
Test ID. Identificador, se puede asociar al requerimiento o especificacin
que cubre.
Descripcin. Descripcin de la prueba.
Pasos. Entradas que se prueban, pasos necesarios, lo que se necesite para
ejecutar la prueba.
Resultados esperados. Lo que se espera con base en la entrada descrita.
Resultados actuales. Si la prueba fu pasada o no. Si no, describir la falla.
Status. Posibles valores: Pass/Fail.
7
Anatoma de un caso de prueba:
Ejemplo
Test Descripcin Pasos Resultados Resultados Status
ID esperados actuales
T1 Probar el botn 1- Introducir La --- Pass
Save con valores vlidos informacin
entradas vlidas en Nombre. se guarda.
en los campos 2- Introducir
correspondientes. valores vlidos
en Email.
3- Oprimir el
botn Save.
T2 Probar el botn 1- Introducir La El sistema Fail
Save con valores informacin guard la
entradas vlidas invlidos en no se guarda. informacin.
en los campos Nombre. El sistema Solicit valores
correspondientes. 2- Introducir debe pedir vlidos, sin
valores valores embargo,
invlidos en vlidos. guard la
Email. informacin
3- Oprimir el
botn Save. 8
Tips Caja Negra
Probar lo que el cliente
quiere que el programa
haga, no lo que el
programador hizo.
Usar el formato de
pruebas.
Especificar lo que el
tester debe hacer para
ejecutar la prueba.
9
Photo Credit: <a href="http://www.flickr.com/photos/23047251@N06/2538226816/">the mad LOLscientist</a> via <a href="http://compfight.com">Compfight</a> <a
href="http://creativecommons.org/licenses/by/2.0/">cc</a>
Tips Caja Negra
Probar pronto y a
menudo.
Escribir los casos ms
simples que puedan
revelar falla.
Usar la tcnica de
particin de
equivalencia para
evitar pruebas
redundantes. 10
Photo Credit: <a href="http://www.flickr.com/photos/92455770@N00/4549185468/">Sarabbit</a> via <a href="http://compfight.com">Compfight</a> <a
href="http://creativecommons.org/licenses/by-sa/2.0/">cc</a>
Tips Caja Negra
Usar anlisis de lmites
para encontrar fallas
comunes.
Usar tablas de decisin
para registrar reglas
complicadas que
deben probarse.
Ejecutar primero las
pruebas de particin
de equivalencia. 11
Photo Credit: <a href="http://www.flickr.com/photos/44124401707@N01/2794525924/">LeeLeFever</a> via <a href="http://compfight.com">Compfight</a> <a
href="http://creativecommons.org/licenses/by-nc/2.0/">cc</a>
Tips Caja Negra
Evitar casos de prueba
dependientes de otros.
Si hay muchos y el
ltimo no pasa se
tienen que repetir los
anteriores.
Pensar siempre en lo
peor que puede ocurrir
y escribir un caso de
prueba para eso.
12
Introduccin: Caja Blanca

13
Caja Blanca
Caja Transparente -
Clear Box.
Caja de vidrio - Glass
Box.
El tester tiene como
meta asegurarse de
que los componentes
internos de un
programa estn
funcionando Photo Credit: <a
href="http://www.flickr.com/photos/30415880@N02/3796831314/">subsets

adecuadamente.
um</a> via <a href="http://compfight.com">Compfight</a> <a
href="http://creativecommons.org/licenses/by-nc-nd/2.0/">cc</a>
14
Caja Blanca
Caja Negra
Mientras que el diseo
de pruebas de Caja
Negra pueden usarse
para componentes de
SW grandes y
pequeos, el diseo
de pruebas de Caja
Blanca es ms til
para componentes
Caja Blanca
pequeos.
15
Photo Credit: <a href="http://www.flickr.com/photos/12859033@N00/2288766662/">jlcwalker</a> via <a href="http://compfight.com">Compfight</a> <a
href="http://creativecommons.org/licenses/by/2.0/">cc</a>
Caja Blanca
El nivel de detalle en la El tester debe
tcnica de caja blanca desarrollar casos de
es alto. prueba que cubran los
elementos estructurales
Enfoque comn
para determinar si
considerar elementos existen defectos en la
estructurales tales estructura del
como ramas, programa.
instrucciones, ciclos.

16
Criterios de cobertura
Se puede especificar un
criterio de cobertura Los casos de prueba deben
asegurar que todas las ramas
Ramas: condiciones son cubiertas al menos una vez
TRUE/FALSE.
Cubrir ramas.
Porcentaje planeado de
Cubrir segmentos cobertura: 100%
especficos,
combinaciones y
variables.
17
Criterios de cobertura
Se pueden derivar casos de prueba que
Garanticen que todos los caminos independientes
dentro de un mdulo se cubran al menos 1 vez.
Cubrir todas las decisiones lgicas.
Cubrir todos los ciclos y sus lmintes.
Cubrir estructuras de datos para asegurar su validez.

18
Cmo?
Se debe correr el cdigo con entradas pre-
determinadas y asegurarse de que produce las
salidas esperadas.
A menudo se escriben drivers y stubs para estas
pruebas.
Tambin existen herramientas automticas.

19
Driver
Es un mdulo de SW usado para invocar un
mdulo para prueba. Le proporciona entradas,
controla, monitorea la ejecucin y reporta
resultados de prueba.
mueveJugador(Jugador1,2)
Un caso de prueba ejecutara sta lnea y
verificara la posicin resultante para asegurarse
de que el jugador est en la celda esperada.

20
Stubs
Componente dummy para simular el
comportamiento del componente real.
public void mueveJugador(Jugador jugadorn, int
valor){
jugador.colocaPosicion(1);
}

21
Mtodos
Existen diversos mtodos para disear casos de
prueba. Veremos:
Prueba de caminos
Flujo de control/Prueba de cobertura
Herramientas automticas.

22
Actividad y tarea

23
Actividad 14 - individual
Tomando los casos de prueba resultantes de tu
tarea 13 (anlisis de particin de equivalencias y de
lmites).
Elaborar un diseo de pruebas usando el formato
para Caja Negra.
Ejecutar las pruebas sobre el programa de bubble sort
realizado.
En caso de haber incluido un mdulo generador de
entradas, agrega resultados de las pruebas sin ese
mdulo.
Entrega tu tabla de pruebas con los resultados
24
obtenidos.
Tarea 14 Equipo
Tomando las particiones de equivalencia que
hicieron para su proyecto en la actividad 12.
Realiza el anlisis de lmites
Elaborar un diseo de pruebas usando el formato
para Caja Negra.

Enviar en formato pdf el Viernes 15 de Marzo

25