Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Pruebas.
Javier Gutirrez / javierj@us.es
ndice
1.
2.
3.
4.
5.
Motivo:
Fallo software. La programacin no se haba probado lo suficiente.
Pruebas:
Ms importancia y
protagonismo da a da.
Garantizan la calidad del
software.
Garantizan la satisfaccin de
los requisitos.
Ahorran tiempo y recurso
en el desarrollo.
Su objetivo: localizar, para
subsanarlas, el mayor nmero
de deficiencias lo antes
posible.
No vale ejecutar el
programa de cualquier
manera.
Funciona el telfono?.
Valores de
prueba
123-45-67-89
Acciones
1. Descolgar auricular.
2. Marcar nmero de Pepote.
3. Esperar contestacin.
Resultado esperado
(Pepote): Digameee.
Acciones
1. Ponerme la camisa.
2. Abrochrmela.
3. Moverme un poco.
4. Mirarme al espejo.
Cuidado con la etiqueta o con arrugarla
por si hay que devolverla
Resultado esperado
Elegancia y confort.
Valores de
prueba
Acciones
Resultado
esperado
???
Suma(a, b)
???
return a + b;
}
Valores de
prueba
Acciones
Resultado
esperado
0, 0
Suma(a, b)
0, b = no 0
Suma(a, b)
return a + b;
}
3, 4
Suma(a, b)
-2, -8
Suma(a, b)
-10
-3, 6
Suma(a, b)
Integer.MAX_V
ALUE, 6
Suma(a, b)
3
-2147483643
Un proceso de pruebas
Objetivos
Objetivosde
deprueba
prueba
Diseo
Diseode
decasos
casosde
de
prueba
prueba
Nuestro
Nuestroobjetivo
objetivo
Codif.
Codif.de
decasos
casosde
de
prueba
prueba
Ejecucin
Ejecucin
Anlisis
Anlisisde
deresultados
resultados
En conclusin
Probar es ejecutar casos de prueba.
Caso de prueba:
entrada + acciones + salida
salida obtenida == salida esperada
salida obtenida != salida esperada
En conclusin
No
Las pruebas slo pueden
encontrar los errores que buscan.
Por esto es tan importante un
buen diseo de pruebas.
Niveles de prueba
Niveles de prueba
10
Niveles de prueba
Pruebas unitarias
Herramientas:
Cuando: Durante la
construccin del sistema.
Objetivo: Prueban el diseo
y el comportamiento de cada
uno de los componentes una
vez construidos.
11
Pruebas unitarias
Tcnicas:
Tcnicas:
Anlisis de caminos.
Particin de categoras.
Mutaciones.
Algoritmos genricos.
Anlisis de valores lmite.
Grficos causa-efecto.
Etc.
En general, han sido muy
estudiadas.
Pruebas de integracin
Herramientas:
12
Pruebas de integracin
Tcnicas:
Arriba abajo:
El primer componente que se prueba es el primero
de la jerarqua (A). Una de las ventajas es que las
interfaces entre los distintos componentes se
prueban en una fase temprana y con frecuencia.
Abajo a arriba:
Se prueban primero los componentes de ms bajo
nivel (E, F) Este tipo de enfoque permite un
desarrollo ms en paralelo, pero presenta mayores
dificultades a la hora de planificar y de gestionar.
Pruebas de sistema
Herramientas:
13
Pruebas de implantacin
Herramientas:
Pruebas de aceptacin
Herramientas:
Cuando: Despus de la
implantacin en el entorno de
produccin.
14
Pruebas de regresin
Herramientas:
Las mismas.
Cuando: Durante el
mantenimiento del sistema.
Objetivo: Comprobar que los
cambios sobre un componente de
un sistema de informacin, no
introducen un comportamiento no
deseado o errores adicionales en
otros componentes no modificados
15
Introduccin
Un cdigo perfecto no es un sistema software perfecto.
Un ejemplo:
Introduccin
Si el cdigo es perfecto, dnde est el fallo?.
??
16
17
Modelo de uso
funcionales
Datos de entrada
y resultados esperados
Escenarios.
Diagramas de estados.
Beneficios:
Reduce el tiempo y los recursos necesarios.
Permite sistematizar y automatizar el proceso.
Las pruebas de sistema son independientes de la
plataforma y arquitectura.
Permite validar de forma temprana los requisitos,
permitiendo corregir las deficiencias que presenten.
Tcnicas
En resumen:
18
Prdida de tiempo
Imposibles de mantener
Engao
Descartadas al primer cambio
Moda pasajera
Por qu?.
19
Automatizar.
Qu hacer?.
Qu podemos automatizar?.
Diseo de las pruebas
20
Mayor rapidez de
ejecucin.
Menos recursos.
Evitamos pruebas
obsoletas
Inconvenientes:
Muy pocas
herramientas!.
Necesitan una base a
menudo inexistente.
Un conjunto pobre de
pruebas.
Mal.
No buscamos
automatizarlo
absolutamente todo.
Gastamos ms en la
automatizacin que en
la pruebas en s.
Tenemos modelos y
documentacin del
sistema.
Construimos el sistema
sobre la marcha.
Nosotros controlamos
las herramientas de
prueba.
Las herramientas de
prueba nos controlan a
nosotros.
21
Conclusiones
Las
Las herramientas
herramientas son
son importantes
importantes pero
pero
Una
Una herramienta
herramienta de
de prueba
prueba no
noes
esuna
una
estrategia
ni
un
proceso
ni
un
plan
estrategia ni un proceso ni un plande
deprueba.
prueba.
Una
Unaherramienta
herramientade
depruebas
pruebassin
sinsaber
sabertcnicas,
tcnicas,prcticas
prcticas
yytener
tenerexperiencia
experienciaen
enpruebas
pruebases
estan
tantil
tilcomo
comoun
un
entorno
entornode
deprogramacin
programacinsin
sinsaber
saberelellenguaje.
lenguaje.
Fin
Qu
Qu vamos
vamos aa ver
ver aa partir
partir de
de aqu?
aqu?
1:
1: Cmo
Cmo definir
definir casos
casosde
deuso
usoyyotros
otrosrequisitos
requisitos
para
para que
que se
se puedan
puedan probar.
probar.
2:
2: Algunas
Algunas propuestas
propuestas existentes
existentespara
paraextraer
extraer
pruebas
a
partir
de
casos
de
uso.
pruebas a partir de casos de uso.
3:
3:El
Elproceso
procesoETUC
ETUCyyun
uncaso
casoprctico.
prctico.
22