Test de integración de software

El aseguramiento de calidad del software se compone de una serie de pruebas que atraviesan todo el ciclo de desarrollo e implementación de la aplicación. Ya hablamos de la prueba unitaria (probar cada parte del programa por separado) y de la prueba de estrés (sobreexigir el programa para probar su robustez).  El tercer paso es el test de integración.

El fundamento de las pruebas unitarias es que separar un problema en partes pequeñas ayuda a su resolución. De manera similar, analizar módulos pequeños y separados permite detectar y reparar errores con mayor facilidad. Sin embargo, la corrección de errores durante esa etapa no asegura que no surjan problemas durante el acoplamiento de los módulos.

Durante el test de integración, se prueban de manera combinada los módulos que componen el software. Dichos módulos se van acoplando progresivamente en conjuntos. Luego de cada acoplamiento, se prueba la correcta interacción entre los módulos. Una vez que se haya verificado que el conjunto funciona de acuerdo con lo previsto, se le suma un nuevo módulo y se vuelven a realizar pruebas. Así, el conjunto va creciendo y probándose con cada agregado hasta completar la aplicación. Cada conjunto, parcial o total, debe verificar los requerimientos funcionales, de rendimiento y de seguridad definidos en las primeras etapas del ciclo de vida del software.

Existen varios tipos de pruebas de integración. Los más comunes son big bang, top-down y bottom-up. En big bang, se acoplan todos los módulos de una sola vez, reduciendo la cantidad de pruebas (pero también dificultando la detección de posibles errores). En bottom-up, se prueban primero los componentes de bajo nivel y luego se avanza hacia los de mayor nivel. En top-down, el enfoque es exactamente inverso.

Más allá del enfoque que se utilice, el test de integración es de importancia crítica, ya que es en esta etapa del plan de QA donde el software empieza a acercarse a su forma final.