Una prueba de integración verifica que los componentes de un sistema complejo (p. Ej., Software, aeronave, planta de energía) están trabajando juntos como se diseñó.
Imaginemos que estamos hablando de un avión (con el software es más abstracto y difícil hacer la diferencia). Las pruebas de integración incluyen, verificando:
- Correcta interacción entre algunos componentes. Ejemplo: al presionar el botón de arranque, el motor arranca y la hélice alcanza la velocidad de rotación esperada (la aeronave aún permanece en tierra)
- correcta interacción con componentes externos. Ejemplo: compruebe que la radio integrada puede comunicarse con una radio estacionaria (el avión aún está en tierra)
- interacción correcta entre todos los componentes involucrados, para que el sistema en su conjunto funcione como se espera. Ejemplo: una tripulación de pilotos e ingenieros de prueba inicia el avión y vuela con él (todos usan paracaídas ...).
La prueba de integración aborda un problema técnico , a saber, que el sistema funciona a pesar de su subdivisión en componentes. En software los componentes pueden ser casos de uso, módulos, funciones, interfaces, bibliotecas, etc.
La prueba de aceptación verifica que el producto es apto para su propósito. En principio son realizados por el cliente. Tomando la analogía del avión, incluyen verificar que:
- Los escenarios empresariales previstos conducen al resultado esperado en una situación casi real. Ejemplo: ensayar un abordaje con pasajeros de prueba para verificar que el personal pueda monitorear el abordaje como se esperaba con los procedimientos operativos. Algunos escenarios podrían ser tan simples que se verían como pruebas unitarias, pero los realiza el usuario (por ejemplo, pruebe los enchufes eléctricos con el equipo de las empresas).
- El sistema funciona en una situación comercial casi real. Ejemplo: haga un vuelo de prueba vacío entre dos destinos reales, con pilotos recién entrenados de la aerolínea para verificar que el consumo de combustible sea el prometido.
La prueba de aceptación aborda más un problema de responsabilidad . En una relación cliente / proveedor puede ser una responsabilidad contractual (cumplimiento de todos los requisitos). Pero, en cualquier caso, también es responsabilidad de la organización usuaria garantizar que sus tareas puedan llevarse a cabo con el sistema y prevenir con prudencia cualquier problema imprevisto (por ejemplo, como esta corporación ferroviaria que descubrió durante las pruebas de aceptación que tenían que acortar algunos quais porque los nuevos vagones eran 5 cm demasiado grandes, ¡no es broma!).
Conclusiones: las pruebas de integración y aceptación se superponen. Ambos tienen la intención de mostrar que el sistema en su conjunto funciona. Sin embargo, el "todo" podría ser más grande para el cliente (porque el sistema puede ser parte de un sistema organizacional más grande), y más técnico para el integrador del sistema: