Estamos trabajando en un producto grande que ha estado en producción durante aproximadamente 5 años. La base de código está ... erm ... funcionando. No muy bien, pero está funcionando. Las nuevas características se lanzan a producción y se prueban con un pequeño control de calidad. Los errores son corregidos, etc. Pero nadie, excepto yo, está escribiendo pruebas unitarias. Nadie usa el poder de "rastrear" errores al escribir pruebas unitarias para garantizar que este error especial (caso de prueba) nunca vuelva a ocurrir.
He hablado con la gerencia. He hablado con desarrolladores. He hablado con todos en toda la empresa. Todos dicen: "Sí, debemos escribir más pruebas unitarias". Eso fue hace un año. Desde entonces he forzado introducción de pre-commit revisión de código ( Gerrit ) y la integración continua ( Jenkins ).
Realicé algunas reuniones sobre pruebas unitarias y también mostré los beneficios de escribir pruebas unitarias. Pero nadie parece estar interesado.
P1: ¿Cómo puedo motivar a mis compañeros de trabajo para que escriban pruebas unitarias?
P2: ¿Cómo me mantengo motivado para seguir los estándares de calidad de mi código personal? (¡A veces es realmente frustrante!)
PD: Algunos hechos frustrantes (alcanzados en 1 año):
- Total de pruebas unitarias: 1693
- Total de "pruebas unitarias de ejemplo": alrededor de 50
- Hecho por mí: 1521
Editar: ¿Estoy esperando demasiado? Es mi primer lugar de trabajo y estoy tratando de hacerlo lo mejor posible.
Edición 2: Basado en todas las respuestas, hice una pequeña lista de verificación para mí. He hablado con dos desarrolladores en privado y tuvimos una charla buena y honesta.
Uno de ellos me dijo, como dijo Telastyn , que está realmente incómodo con las pruebas unitarias. Dijo que le gustaría ser "más profesional" pero que necesita un arranque rápido. También dijo que nuestra reunión de prueba unitaria con todos los desarrolladores (alrededor del 11 de septiembre) fue buena, pero fue demasiado concurrida. Meh Algunas críticas para mí, pero aprenderé de eso. (¡vea las respuestas a continuación sobre las reuniones de tdd kata!)
El otro dijo que no está interesado en escribir pruebas unitarias. Él piensa que su trabajo es lo suficientemente bueno para su salario. No quiere poner más esfuerzo. Me quedé sin palabras. Típico 9-5 "trabajador".
La semana que viene voy a hablar con los otros desarrolladores.
Gracias por sus excelentes respuestas (hasta ahora) y su apoyo. ¡Realmente lo aprecio! He aprendido mucho, muchas gracias!