2010-03-16 24 views
21

Hay tanto escrito sobre pruebas unitarias pero apenas he encontrado libros/blogs sobre pruebas de integración. ¿Podría sugerirme algo para leer sobre este tema?¿Cómo hacer las pruebas de integración?

¿Qué pruebas escribir al realizar pruebas de integración? ¿Qué hace una buena prueba de integración? etc etc

Gracias

Respuesta

4

Tal vez por lo general es más difícil encontrar información sobre las pruebas de integración, ya que es mucho más específico a la aplicación real y su uso comercial. Sin embargo, aquí está mi opinión sobre esto.

Lo que se aplica a las pruebas unitarias también se aplica a las pruebas de integración: los módulos deben tener una forma fácil de simular sus entradas externas (archivos, DB, tiempo ...), para que puedan probarse junto con la otra unidad- pruebas.

Pero lo que he encontrado extremadamente útil, al menos para aplicaciones orientadas a datos, es poder crear una versión "consola" de la aplicación que toma archivos de entrada que determinan completamente su estado (sin dependencias en bases de datos, recursos de red ...) y genera el resultado como otro archivo. Entonces, uno puede mantener pares de entradas/archivos de resultados esperados, y probar regresiones como parte de construcciones nocturnas, por ejemplo. Tener esta versión de consola permite una creación de scripts más sencilla y hace que la depuración sea increíblemente más fácil ya que uno puede confiar en un entorno muy estable, donde es fácil reproducir errores y ejecutar el depurador.

5

Cualquier cosa escrita por Kent Beck, padre de JUnit y SUnit, es un gran lugar para comenzar (para pruebas unitarias/escritura de pruebas en general). Supongo que no se refiere a la "integración continua", que es un enfoque de compilación basado en procesos (muy bueno, cuando lo haces funcionar).

En mi propia experiencia, las pruebas de integración se ven muy similares a las pruebas de unidades regulares, simplemente en un nivel superior. Más simulacros de objetos. Más inicialización de estado.

Creo que las pruebas de integración son como cebollas. Ellos tienen capas.

Algunas personas prefieren "integrar" todos sus componentes y probar el producto "completo" como la prueba de "integración". Ciertamente puede hacer esto, pero yo prefiero un enfoque más gradual. Si comienzas a nivel bajo y luego sigues realizando pruebas en capas de composición superiores, obtendrás pruebas de integración.

Cuestiones relacionadas