Estamos trabajando en un gran producto que ha estado en producción durante aproximadamente 5 años. El código base está .. erm .. trabajando. No muy bien pero está funcionando. Las nuevas características se ponen en producción y se prueban con un pequeño control de calidad. Los errores son fijos, 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 compañía. Todo el mundo dice: "¡Sí, debemos escribir más pruebas unitarias!" Eso fue hace un año. Desde entonces, he forzado la introducción de la revisión del código de pre-confirmación ( Gerrit ) y la integración continua ( Jenkins ).
Tuve algunas reuniones sobre pruebas de unidad y también mostré los beneficios de escribir pruebas de unidad. 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 muy frustrante!)
PS: 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: ¿Espero demasiado? Es mi primer lugar de trabajo y estoy tratando de hacer lo mejor posible.
Edit 2: Basándome en todas las respuestas, he hecho una pequeña lista de verificación para mí. He hablado con dos desarrolladores en privado y tuvimos una buena y honesta charla.
Uno de ellos me dijo, como Telastyn dijo que está realmente incómodo con las pruebas de unidad. Dijo que le gustaría ser "más profesional" pero que necesita un kickstart. También dijo que nuestra reunión de prueba de unidad con todos los desarrolladores (alrededor del 9-11) fue buena, pero que estaba demasiado llena. Meh Algunas críticas para mí, pero voy a aprender de eso. (¡Vea las respuestas a continuación sobre las reuniones de kata tdd!)
El otro dijo que no está interesado en escribir pruebas unitarias. Él piensa que su trabajo es lo suficientemente bueno para su salario. Él no quiere poner más esfuerzo. Me quedé sin palabras. Típico 9-5 "trabajador".
La próxima semana 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!