Por supuesto. TDD es solo otra metodología que ayuda a construir un código de calidad, e independientemente de cuán grande sea su empresa o cuán lejos pueda ser el alcance de su producto, tener un código bien probado es mejor que no tener un código bien probado.
Dicho esto, no estoy de acuerdo con la idea de que solo porque haya decidido hacer de TDD su proceso, todo debe ser absolutamente un clavo de desarrollo. Es una gran herramienta, pero como todas las herramientas, existen excelentes casos de uso, y luego hay otros menos ideales. La creación de prototipos, por ejemplo, sufre de TDD. Explorar un nuevo marco / tecnología y aprender gradualmente partes de una estructura gigante no se adapta bien a la rigidez API de TDD. Los sistemas complejos en los que no está claro de inmediato qué partes necesitan ser burladas, calzadas o resumidas, no son excelentes candidatos para TDD.
Y por otro lado, TDD tampoco es el código final de calidad. Hay otros tipos de pruebas que aumentan el conjunto de pruebas unitarias que proporcionaría el TDD típico, y aunque TDD puede ayudar a aclarar las decisiones de diseño, no hace que su código esté mágicamente bien diseñado. La podredumbre y la descamación del conjunto de pruebas pueden convertirse en un problema, y debe sopesar los costos reales de mantener y adherirse a su conjunto a medida que crece en tamaño y alcance.
- Tiene una gran cantidad de casos de prueba con tiempo y recursos limitados. ¿Cómo se realizan las pruebas de regresión?
- ¿FreeCodeCamp es realmente útil para conseguir un trabajo de desarrollador?
- ¿Cuál sería la estructura organizativa más óptima para la empresa de desarrollo de software orientada a Agile con menos de 100 personas que realizan SaaS?
- ¿Cuál es el mejor proveedor de servicios de pruebas de software (empresa) que ofrece consultas de automatización de pruebas, herramientas, etc.
- ¿Cuál es la diferencia entre las pruebas de software y la inspección de software?