martes, 27 de mayo de 2014

Marco teórico: Pruebas de integración ascendentes

Definición: 

1. Pruebas integrales o pruebas de integración son aquellas que se realizan en el ámbito del desarrollo de software una vez que se han aprobado las pruebas unitarias. Únicamente se refieren a la prueba o pruebas de todos los elementos unitarios que componen un proceso, hecha en conjunto, de una sola vez. Consiste en realizar pruebas para verificar que un gran conjunto de partes de software funcionan juntos. Son las pruebas posteriores a las pruebas unitarias y preceden a las pruebas del sistema. 

2. La prueba de integración es una técnica sistemática para construir la estructura del programa mientras al mismo tiempo, se lleva a cabo pruebas para detectar errores asociados con la interacción. El objetivo es tomar los módulos probados en unidad y estructurar un programa que esté de acuerdo con el que dicta el diseño. La integración puede ser descendente si se integran los módulos desde el control o programa principal, o bien, ascendente, si la verificación del diseño empieza desde los módulos más bajos y de allí al principal. 

3. Empieza la construcción y la prueba con los niveles más bajos de la estructura del programa. Dado que los módulos se integran de abajo hacia arriba, el proceso requerido de los módulos subordinados siempre está disponible y se elimina la necesidad de resguardos. Se puede implementar una estrategia de integración ascendente mediante los siguientes pasos: • Se combina los módulos de bajo nivel en grupos que realicen una subfunción específica del software. • se describe un controlador (un programa de control de la prueba) para coordinar la entrada y la salida de los casos de prueba. • Se prueba el grupo. • Se eliminan los controladores y se combinan los grupos moviéndose hacia arriba por la estructura del programa.


Características: 

Integración ascendente, es donde la construcción del diseño empieza desde los módulos más bajos hacia arriba (módulo principal), el procesamiento requerido de los módulos subordinados siempre está disponible y elimina la necesidad de resguardo. La sección de una estrategia de integración depende de las características del software y, a veces, del plan del proyecto, en algunos de los casos se puede combinar ambas estrategias. 


Importancia 

Aun cuando los módulos de un programa funcionen bien por separado es necesario probarlos conjuntamente; un conjunto puede tener un efecto adverso cuando se combina; por el cual es imprescindible la aplicación de pruebas de integración que propician que no ocurran errores de este tipo.  


¿Dónde aplicarla? 

Consiste en construir el sistema a partir de los distintos componentes y probarlo con todo integrados. Estas pruebas deben realizarse progresivamente. El foco de atención es el diseño y la construcción de la arquitectura de software.

¿Cómo aplicarla?
 

Se combinan los módulos para formar los grupos 1,2 y 3. Cada uno de los grupos se somete a prueba mediante un controlador (mostrado como un bloque punteado). Los módulos de los grupos 1 y 2 son subordinados Ma. Los controladores D1 y D2 se eliminan y los grupos interaccionan directamente con Ma. De forma similar, se elimina el controlador D3 del grupo 3 antes de la integración con el módulo Mb. Tanto Ma como Mb se integraran finalmente con el módulo Mc y así sucesivamente.  


Ventajas y Beneficios 

No se necesitan resguardos. A medida que la integración progresa hacia arriba, disminuye la necesidad de conductores de pruebas separados. De hecho si los niveles superiores del programa se integran de forma descendente, se pueden reducir sustancialmente en número de conductores y se simplifica enormemente la integración de grupos. Hay muchas discusiones sobre las ventajas y desventajas de las pruebas de integración ascendentes frente a las descendentes, pero los que tenemos que tener claro, que se llegó a la conclusión que las ventajas de una, son las desventajas de la otra. La selección de un tipo de prueba de integración dependerá directamente del software y a veces del plan del proyecto. En general el mejor compromiso puede ser una aproximación combinada (a veces denominada prueba sándwich) que use la descendente para los niveles superiores de la estructura del programa junto con la ascendente para los niveles subordinados. A medida que progresen las pruebas de integración, el encargado debe identificar los módulos críticos. Un módulo crítico es aquel que tiene una o más de las siguientes características: 

• Esta dirigido a varios requerimientos del software. 
• Tiene un mayor nivel de control (Reside relativamente alto en la estructura del programa). 
• Es complejo o propenso a errores. 
• Tiene unos requerimientos de rendimientos muy definidos 

No hay comentarios:

Publicar un comentario