CalidadySotware.com / Testing / Pruebas Unitarias 4

Autor: Ing. Alexander Oré B.

UNIT TESTING - PRUEBAS UNITARIAS - CAP 4

 

Integración incremental Descendente

Inicia del módulo de control principal (de mayor nivel) para luego ir incorporando los módulos subordinados progresivamente. No hay un procedimiento considerado óptimo para seleccionar el siguiente módulo a incorporar. La única regla es que el módulo incorporado tenga todos los módulos que lo invocan previamente probados.

En general no hay una secuencia óptima de integración. Debe estudiarse el problema concreto y de acuerdo a este, buscar el orden de integración más decuado para la organización de las pruebas. No obstante, pueden considerarse las siguientes pautas:

  • Si hay secciones críticas como ser un módulo complicado, se debe proyectar la secuencia de integración para incorporarlas lo antes posible.
  • El orden de integración debe incorporar cuanto antes los módulos de entrada y salida.
 
 


Existen principalmente dos métodos para la incorporación de módulos:

  1. Primero en profundidad: Primero se mueve verticalmente en la estructura de módulos.
  2. Primero en anchura: Primero se mueve horizontalmente en la estructura de módulos.

Etapas de la integración descendente:

  • El módulo de mayor nivel hace de impulsor y se escriben módulos ficticios simulando a los subordinados, que serán llamados por el módulo de control superior.
  • Probar cada vez que se incorpora un módulo nuevo al conjunto ya engarzado.
  • Al terminar cada prueba, sustituir un módulo ficticio subordinado por el real que reemplazaba, según el orden elegido.
  • Escribir los módulos ficticios subordinados que se necesiten para la prueba del nuevo módulo incorporado.

Ventajas de la integración descendente:

  • Las fallas que pudieran existir en los módulos superiores se detectan en una etapa temprana.
  • Permite ver la estructura del sistema desde un principio, facilitando la elaboración de demostraciones de su funcionamiento.
  • Concuerda con la necesidad de definir primero las interfaces de los distintos subsistemas para después seguir con las funciones específicas de cada uno por separado.

Desventajas de la integración descendente:

  • Requiere mucho trabajo de desarrollo adicional ya que se deben escribir un gran número de módulos ficticios subordinados que no siempre son fáciles de realizar. Suelen ser más complicados de lo que aparentan.
  • Antes de incorporar los módulos de entrada y salida resulta difícil introducir los casos de prueba y obtener los resultados.
  • Los juegos de datos de prueba pueden resultar difíciles o imposibles de generar puesto que generalmente son los módulos de nivel inferior los que proporcionan los detalles.
  • Induce a diferir la terminación de la prueba de ciertos módulos.
Integración No Incremental

    La integración no incremental es bastante sencilla y generalmente se recomienda para proyectos de poca envergadura, la integración consiste en probar cada modulo por separado de manera similar a la intregación incremental pero una vez de terminar con los módulos independientes, se continua probandolos todos juntos como un todo.

    La única ventaja es que no se necesita ningún tipo de trabajo adicional: ni planificar el orden de integración, ni crear módulos impulsores, ni crear módulos ficticios subordinados.

    Por otro lado, la lista de desventajas incluye:

  • No se tiene noción de la comunicación de los módulos hasta el final.
  • En ningún momento se dispone de un producto (ni siquiera parcial) para mostrar o presentar.
  • El hecho de realizar todas las pruebas de una vez hace que las sesiones de prueba sean largas y tediosas.
  • La cantidad de errores que arroje puede ser atemorizante.
  • La tarea de encontrar la causa de los errores resulta mucho más compleja que con los métodos incrementales.
  • Se corre el riesgo de que a poco tiempo de que se cumpla el plazo de entrega, haya que volver sobre el diseño y la codificación del sistema.

 

<<Anterior

 

Ing. Alexander Oré B.

 
 
 
CalidadySoftware.com 2009 - © Todos los derechos reservados
Sitio Web Alojado por NazcaSoft.com