Академический Документы
Профессиональный Документы
Культура Документы
Facultad de Informtica
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
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.
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
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.
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
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.
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.
10
enfoque combinado
Desventaja de la integracin descendente
Necesidad de resguardos y las complicaciones asociadas al uso de los mismos.
Usar la integracin descendente para los niveles superiores de la estructura del programa y la ascendente para los niveles subordinados.
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.
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
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.
14
15
La responsabilidad es de todos los creadores de cada uno de los elementos del sistema
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.
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.
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.
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.
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.
22
referencias bibliogrficas
Pressman, R. Ingeniera del software: un enfoque prctico. McGrawHill, 2002.
23