- Supongamos que nos hemos dado cuenta de un valor de TDD demasiado tarde. El proyecto ya está maduro, buena cantidad de clientes comenzaron a usarlo.
- Digamos que las pruebas automatizadas utilizadas son en su mayoría pruebas funcionales/del sistema y hay una gran cantidad de pruebas automatizadas de GUI.
- Digamos que tenemos nuevas solicitudes de funciones y nuevos informes de errores (!). Por lo tanto, buena parte del desarrollo continúa.
- Tenga en cuenta que ya habría un montón de objetos comerciales sin pruebas o con pocas unidades.
- Demasiadas colaboraciones/relaciones entre ellos, que de nuevo solo se prueban mediante pruebas funcionales/de sistema de nivel superior. Sin pruebas de integración per se.
- Bases de datos grandes con muchas tablas, vistas, etc. Solo para ejemplificar un único objeto de negocio ya existe una buena cantidad de viajes de ida y vuelta a la base de datos.
¿Cómo podemos introducir TDD en esta etapa?¿Es factible introducir el desarrollo impulsado por prueba (TDD) en un proyecto maduro?
Burlarse parece ser el camino a seguir. Pero la cantidad de burlas que tenemos que hacer aquí parece demasiado. Parece que se necesita desarrollar una infraestructura compleja para que el sistema de imitación funcione para las cosas existentes (BO, bases de datos, etc.).
¿Eso significa que TDD es una metodología adecuada solo cuando se comienza desde cero? Estoy interesado en conocer las estrategias factibles para introducir TDD en un producto ya maduro.
Gracias por la sugerencia del libro. Parece que es lo que busqué. – rpattabi