Una prueba de integración verifica que los componentes de un sistema complejo (por ejemplo, software, aeronaves, planta de energía) están trabajando juntos según lo diseñado.
Imaginemos que estamos hablando de un avión (con el software es más abstracto y difícil de hacer la diferencia). Las pruebas de integración incluyen, verificando:
- interacción correcta entre algunos componentes. Ejemplo: cuando se presiona el botón de arranque, el motor arranca y la hélice alcanza la velocidad de rotación esperada (el avión todavía permanece en tierra)
- interacción correcta con componentes externos. Ejemplo: compruebe que la radio incorporada pueda comunicarse con una radio estacionaria (avión aún en tierra)
- interacción correcta entre todos los componentes involucrados, para que el sistema en su conjunto funcione como se espera. Ejemplo: un equipo de pilotos e ingenieros de prueba arranca 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 el software, los componentes pueden ser casos de uso, módulos, funciones, interfaces, bibliotecas, etc ...
La prueba de aceptación verifica que el producto es adecuado para su propósito. Son en principio realizadas 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 embarque con pasajeros de prueba para verificar que el personal pueda monitorear el embarque como se espera con los procedimientos operativos. Algunos escenarios podrían ser tan simples que se verían como una prueba de unidad, pero los realiza el usuario (por ejemplo, pruebe los enchufes eléctricos con el equipo de las compañías).
- el sistema funciona en una situación empresarial casi real. Ejemplo: realice 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 asegurarse de que sus tareas se puedan llevar a cabo con el sistema y de prevenir con prudencia cualquier problema imprevisto (por ejemplo, como esta corporación de ferrocarriles que descubrió durante las pruebas de aceptación que tuvieron 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 pretenden demostrar que el sistema en su conjunto funciona. Sin embargo, el "todo" podría ser mayor para el cliente (debido a que el sistema puede ser parte de un sistema organizativo más grande) y más técnico para el integrador del sistema: