Академический Документы
Профессиональный Документы
Культура Документы
Pruebas de integracin
Si se han realizado las pruebas de unidad, y todos los mdulos funcionan bien, Por qu dudar de que funcionen bien cuando se integran?
Integracin incremental
El programa se construye y prueba en pequeos incrementos, en los cuales resulta ms fcil aislar y corregir los errores, es ms probable que se prueben por completo las interfaces y se vuelve factible la aplicacin de un enfoque sistemtico.
Integracin descendente
Los mdulos se integran al descender por la jerarqua de control, Se empieza por el mdulo de control principal (programa principal). Los mdulos subordinados al mdulo principal se incorporan de una de dos maneras: primero en profundidad o primero en anchura.
Ejemplo
M1 M2
M3
M4 Se integran M1, M2 y M5
M5
M6
M7
Posteriormente, si se requiere de M6 para que M2 funcione, se integra primero M6 y luego M8, si no, se integra M8 y luego M6 Despus se integra el flujo del medio,
M8
10
Ejemplo
M1 M2
M3
M4
M5
M6
M7
M8
11
2. 3. 4. 5.
Problemas
El problema ms comn del enfoque descendente es cuando se requieren funciones de mdulos de bajo nivel para que los de alto nivel funcionen adecuadamente. Alternativas
Retrasar las pruebas. Desarrollar resguardos para simular el funcionamiento de los mdulos. Integrar los mdulos de abajo hacia arriba.
13
Integracin ascendente
Empieza la construccin y las pruebas con mdulos de los niveles ms bajos de la estructura del programa. Ventaja:
Siempre est disponible el procesamiento requerido para los componentes subordinados a un determinado nivel. No se requieren resguardos.
14
Ejemplo
Mc
Ma Mb
C1
C2
C3
Grupo 3
Grupo 1 Grupo 2
Pruebas del Software 16
Pruebas de regresin
Los cambios que surgen de la integracin de mdulos pueden causar problemas con funciones que antes funcionaban bien. Las pruebas de regresin consisten en ejecutar el mismo conjunto de pruebas que ya se ha aplicado, para asegurar que los cambios no han afectado el funcionamiento del sistema.
17
Pruebas de regresin
Las pruebas de regresin contienen tres distintas clases de casos de prueba:
Una muestra representativa de pruebas que ejecutarn todas las funciones del software. Pruebas adicionales que se concentran en las funciones que probablemente el cambio afecte. Pruebas que se concentran en los componentes del software que han cambiado.
18
Pruebas de humo
Es un enfoque de prueba de integracin que se realiza mientras el software se desarrolla, y que consiste en las siguientes actividades:
Los componentes de software traducidos a cdigo se integran en una sola construccin. Se disea una serie de pruebas para exponer errores que impedirn que la construccin realice apropiadamente su funcin. La construccin se integra con otras construcciones, y diariamente se aplica una prueba de humo a todo el producto en su forma actual.
Pruebas del Software 19
Pruebas de humo
Ventajas:
Se minimiza el riesgo en la integracin. Se mejora la calidad del producto final. Se simplifica el diagnstico y la correccin de errores. El progreso es ms fcil de evaluar.
20
21
Ejercicio
Formar equipos de cuatro personas. Determinar las caractersticas que debe tener un sistema para que su integracin se pueda realizar de forma:
Descendente Ascendente Incremento de funcionalidad
Qu tipos de sistemas deben integrarse siguiendo cada uno de los modelos de integracin anteriores? Escribir sus conclusiones y expresarlas al grupo.
Pruebas del Software 22
25
26
Prueba de recuperacin
Obliga al software a fallar de varias maneras y verifica que se recupere adecuadamente.
Se utiliza para verificar que tan tolerante a fallos es el sistema, o qu tan fcil es corregir el sistema despus de una falla.
Si la recuperacin es automtica debe evaluarse que sean correctos la reinicializacin, los mecanismos de respaldo, la recuperacin de datos y el nuevo arranque. Si se requiere intervencin humana, se debe evaluar el tiempo medio de reparacin.
Pruebas del Software 27
Prueba de seguridad
Comprueba que los mecanismos de proteccin integrados al sistema realmente lo protejan de irrupciones inapropiadas. Quien realiza la prueba desempea el rol de un individuo que quiere ingresar al sistema. El papel del diseador del sistema es lograr que el costo de la irrupcin sea mayor que el valor de la informacin que se obtendr.
Pruebas del Software 28
Prueba de resistencia
Ejecuta un sistema de tal manera que requiera una cantidad, una frecuencia o un volumen anormal de recursos. Por ejemplo:
Generar diez interrupciones por segundo cuando la taza media es de dos. Aumentar la frecuencia de entrada de datos en una magnitud que permita determinar cmo respondern las funciones de entrada. Se ejecutan casos de prueba que requieran el mximo de memoria u otros recursos. Se causan problemas de administracin de memoria. Se producen bsquedas excesivas de datos en el disco.
Pruebas del Software 29
Prueba de desempeo
Est diseada para probar el desempeo del sistema en tiempo de ejecucin. Con frecuencia se vinculan con pruebas de resistencia y suelen requerir instrumentacin de software y hardware.
30
Ejercicio
Agruparse por equipos de cuatro personas:
Definir una prueba de sistema para cada uno de los tipos de prueba descritos anteriormente para un sistema hipottico definido por ustedes.
31
Pruebas de aceptacin
Pruebas de aceptacin
Tambin son conocidas como pruebas de validacin. Se concentran en las acciones visibles para el usuario y en la salida del sistema que ste puede conocer. Deben demostrar que el sistema comple con los requerimientos.
33
34
Pruebas controladas
Se utilizan cuando el software es personalizado. El cliente realiza las pruebas de una forma planeada y sistemtica. La prueba puede durar semanas o incluso meses.
35
36
Tarea
Leer y escribir una sntesis crtica sobre el artculo:
Davis, F.D., Perceived Usefulness, Perceived Ease of Use, and User Aceptance of Information Technology, MIS Quarterly, September 1989, 319-340 p.
37
Bibliografa
Pressman, captulo: 13 Graham D. et al., 2008, Foundations of Software Testing: ISTQB Certification, Revised Edition, Course Technology, Captulo 4.
38