Вы находитесь на странице: 1из 23

Unidades temticas de Ingeniera del Software

Estrategias de prueba del software


2 edicin (2002)

Facultad de Informtica

una estrategia global


Prueba del sistema
Direccin de la prueba

Prueba de validacin Prueba de integracin Prueba de unidad

Codificacin Ingeniera de sistemas Diseo Anlisis

Estrategias de prueba del software

contenido
Aspectos estratgicos La prueba de unidad mbito de la prueba Procedimiento de prueba La prueba de integracin Integracin descendente Integracin ascendente Enfoque combinado Mdulos crticos La prueba de validacin Revisin de la configuracin Pruebas alfa y beta La prueba del sistema Medidas preventivas Tipos de pruebas Prueba de recuperacin Prueba de seguridad Prueba de resistencia Prueba de rendimiento Referencias bibliogrficas

Estrategias de prueba del software

aspectos estratgicos
Especificar los requisitos de manera cuantificable antes de probar. Establecer los objetivos de la prueba de manera explcita. Desarrollar un perfil para cada categora de usuario. Desarrollar un plan de prueba con prueba de ciclo rpido. Construir un software robusto diseado para probarse a s mismo. Usar revisiones tcnicas formales como filtro antes probar. Llevar a cabo revisiones tcnicas formales para evaluar la prueba. Desarrollar un enfoque de mejora continua al proceso de prueba.

Estrategias de prueba del software

la prueba de unidad
El proceso de verificacin se centra en la menor unidad de diseo del software.
Se aplica sobre la descripcin del diseo procedimental. Usa tcnica de prueba de caja blanca. Se puede realizar en paralelo para diferentes mdulos.

Mdulo

Estrategias de prueba del software

mbito de la prueba
La interfaz del mdulo. El impacto de los datos globales sobre el mdulo. Las estructuras de datos locales. Las condiciones lmite. Los caminos de ejecucin de la estructura de control. Los caminos de manejo de errores.

Estrategias de prueba del software

procedimiento de prueba
Para cada prueba, se debe desarrollar un software que controle y/o resguarde. Un controlador es un programa principal que acepta los datos del caso de prueba, pasa los datos al mdulo e imprime los resultados. Un resguardo es un subprograma que reemplaza a los mdulos subordinados, realiza alguna manipulacin de datos, imprime una verificacin de entrada y devuelve el control.
Resultados Casos de prueba

Controlador

Mdulo

Resguardo

Estrategias de prueba del software

la prueba de integracin
Es una tcnica sistemtica para construir la estructura del programa y detectar errores asociados con la interaccin.
La integracin no incremental no es recomendable. La integracin incremental puede ser descendente o ascendente. Se necesitan pruebas de regresin.

Estrategias de prueba del software

integracin descendente
Los mdulos subordinados al mdulo de control principal se van incorporando a la estructura primero-en-profundidad, o primero en anchura.
Se usa el mdulo de control principal como controlador de la prueba, disponiendo de resguardos para todos los mdulos directamente subordinados. Se sustituyen los resguardos subordinados uno a uno por los mdulos. Se llevan a cabo pruebas cada vez que se integra un mdulo. Tras terminar las pruebas se reemplaza otro resguardo con el mdulo real.
en anchura Estrategias de prueba del software 9 en profundidad

integracin ascendente
Empieza la construccin y la prueba con los mdulos atmicos eliminando la necesidad de resguardos .
Se combinan los mdulos de bajo nivel en grupos que realicen una subfuncin especfica. Se escribe un controlador para coordinar la entrada y la salida de los casos de prueba. Se prueba el grupo. Se eliminan los controladores y combinan los grupos movindose hacia arriba por la estructura del programa.

Estrategias de prueba del software

10

enfoque combinado
Desventaja de la integracin descendente
Necesidad de resguardos y las complicaciones asociadas al uso de los mismos.

Desventaja de la integracin ascendente


El programa como entidad no existe hasta que se aada el ltimo mdulo.

Usar la integracin descendente para los niveles superiores de la estructura del programa y la ascendente para los niveles subordinados.

Estrategias de prueba del software

11

mdulos crticos
Estn dirigidos a varios requisitos. Tienen un mayor nivel de control. Son complejos o propensos a errores. Tienen requisitos de rendimiento muy definidos.

deben identificarse lo antes posible

Estrategias de prueba del software

12

la prueba de validacin
Comprueba que el software, una vez ensamblado, funciona de acuerdo con las expectativas razonables del cliente.
Se satisfacen los requerimientos funcionales. Se alcanzan los requisitos de rendimiento. La documentacin es correcta e inteligible. Se alcanzan otros requerimientos (compatibilidad, recuperacin de errores...)
Especificacin Especificacin de requisitos de requisitos

usa tcnicas de caja negra

Estrategias de prueba del software

13

revisin de la configuracin
Comprobar, para todos los elementos de la configuracin del software que:
se han desarrollado apropiadamente, se han catalogado, y estn suficientemente detallados para soportar la fase de mantenimiento.

Estrategias de prueba del software

14

pruebas alfa y beta


Son pruebas de aceptacin que permiten que el cliente valide los requisitos.
Las pruebas alfa se llevan a cabo en un entorno controlado. Las pruebas beta se llevan a cabo en el lugar de trabajo del cliente.

pueden durar semanas o meses

Estrategias de prueba del software

15

la prueba del sistema


El objetivo es verificar que se han integrado adecuadamente todos los elementos del sistema y que realizan las funciones apropiadas.

La responsabilidad es de todos los creadores de cada uno de los elementos del sistema

Estrategias de prueba del software

16

medidas preventivas
Disear caminos de manejo de errores que prueben toda la informacin procedente de otros elementos del sistema. Realizar pruebas que simulen datos en mal estado u otros problemas de la interfaz del software. Registrar los resultados de las pruebas. Participar en la planificacin y el diseo de casos de prueba.

Estrategias de prueba del software

17

tipos de pruebas

Prueba de recuperacin

Prueba de seguridad

Prueba de resistencia

Prueba de rendimiento
Estrategias de prueba del software 18

prueba de recuperacin
Fuerza el fallo del software de varias formas y verifica que la recuperacin se produce adecuadamente.
Si la recuperacin es automtica hay que evaluar la correccin de la inicializacin, de los mecanismos de recuperacin del estado del sistema, de la recuperacin de los datos y del proceso de rearranque. Si la recuperacin no es automtica, hay que evaluar los tiempos medios de reparacin para determinar si estn dentro de unos lmites aceptables.
Un sistema tolerante a fallos evita que cese el funcionamiento de todo el sistema cuando se produce un fallo del proceso.

Estrategias de prueba del software

19

prueba de seguridad
Verifica que los mecanismos de proteccin incorporados protegern al sistema.
Intenta conseguir las claves de acceso de cualquier forma. Ataca con software a medida. Bloquea el sistema. Provoca errores del sistema entrando durante su recuperacin.

Un sistema que maneje informacin que pueda afectar de forma inapropiada a las personas es un posible objetivo para entradas ilegales.

Estrategias de prueba del software

20

prueba de resistencia
Enfrenta al programa con situaciones atpicas, esto es, ejecuta el sistema de forma que demande recursos en cantidad, frecuencia o volmenes anormales.
Incrementa las frecuencias de datos de entrada. Ejecuta casos que requieran el mximo de memoria. Buscar demasiados datos que residan en disco. Realiza pruebas de sensibilidad intentando descubrir combinaciones de datos dentro de una clase de entrada vlida que pueda producir inestabilidad o un proceso incorrecto.

Estrategias de prueba del software

21

prueba de rendimiento
Prueban el rendimiento del software en tiempo de ejecucin dentro del contexto de un sistema integrado.
Requiere de instrumentacin tanto software como hardware para los procesos de monitorizacin y medicin. Se lleva a cabo durante todos los pasos de prueba.

Los sistemas de tiempo real y los sistemas empotrados se tienen que ajustar a los requisitos de rendimiento.

Estrategias de prueba del software

22

referencias bibliogrficas
Pressman, R. Ingeniera del software: un enfoque prctico. McGrawHill, 2002.

Estrategias de prueba del software

23

Вам также может понравиться