Una prueba de integración es cualquier prueba que no puede describirse como una prueba unitaria. Los diferentes tipos de pruebas de integración (pruebas de rendimiento, pruebas de sistema, pruebas de aceptación, etc.) no son el tema de esta pieza. Nuestra principal preocupación aquí es simplemente diferenciar las pruebas unitarias de todo lo demás.
Teniendo en cuenta esas viñetas, podemos decir que las pruebas de integración probablemente:
- Ser mucho más lento que las pruebas unitarias.
- Ser mucho más difícil o lento recrear y ejecutar completamente
- Recolectar el resultado de la prueba podría ser más problemático
¿Cuándo tienen sentido las pruebas de integración?
Las pruebas de integración pueden tener mucho sentido en la mayoría de los sistemas en dos configuraciones particulares:
- Escrito como una capa adicional de pruebas de regresión más allá de las pruebas unitarias
- En situaciones de código heredado, escritas antes de que se puedan realizar pruebas unitarias o refactorización
Capa de prueba de regresión adicional
Las pruebas de integración pueden servir como una “prueba de humo” adicional que se puede ejecutar cuando el sistema completo necesita ser probado, lo que demuestra que la implementación de todos los componentes del sistema funciona bien, por ejemplo. Con ese tipo de pruebas, probaría muchas cosas pequeñas en un caso de prueba grande.
- Me gustaría saber más sobre mis derechos. Si no soy residente permanente ni ciudadano de los Estados Unidos, ¿hay alguna forma de ir a la cárcel en lugar de ser deportado?
- Tengo $ 20 en mi cuenta bancaria. ¿Cómo puedo convertir esos $ 20 en más?
- En mi opinión, mis nuevas unidades de aire acondicionado en mi casa de 2 plantas siguen funcionando y en exceso. Obviamente ya he recibido una llamada para que la empresa vuelva a salir, pero ¿qué significa esto? ¿Qué lo hace funcionar y funcionar cuando ni siquiera hace tanto calor afuera y esto va a aumentar mi factura de servicios públicos en lugar de reducirla?
- Si invierto 1100000 en un FD al 9.04% por un vencimiento de 7 años, obtengo c.2000000 al final de 7 años, mientras que si pago un préstamo de la misma cantidad por un período de 7 años al 10.75%, entonces pago un total de 15,69,993. Entonces puedo tomar un préstamo e invertirlo en un FD para ganar dinero. ¿Dónde me estoy equivocando aquí?
- He dejado mis papeles. Ahora mi organización actual está procesando una contraoferta. ¿Debo tomarlo? ¿Qué sería apropiado y profesional?
Pruebas de integración en código heredado
Michael Feathers, en su libro “Trabajando eficazmente con código heredado” definió el código heredado como “código que no tiene pruebas”. Por lo general, es difícil o imposible escribir pruebas unitarias para dicho código, ya que en su mayoría no es comprobable. Herramientas como Typemock Isolator ayudan a aliviar ese problema al fingir cualquier cosa, y las pruebas de integración pueden servir como una prueba de humo adicional para asegurarse de que no interrumpe la integración entre los componentes del sistema, un nivel por encima de las pruebas unitarias. ver Programa Health Check