Nous travaillons sur un grand produit en production depuis environ 5 ans. La base de code est .. euh .. fonctionne. Pas vraiment bien mais ça marche. Les nouvelles fonctionnalités sont mises en production et testées avec un petit contrôle qualité. Les bugs sont corrigés, etc. Mais personne, sauf moi, n'écrit des tests unitaires. Personne n'utilise le pouvoir de "traquer" les bogues en écrivant des tests unitaires pour s'assurer que ce bogue spécial (cas de test) ne se reproduira plus jamais.
J'ai parlé à la direction. J'ai parlé à des développeurs. J'ai parlé à tous les membres de l'entreprise. Tout le monde dit: "Oui, nous devons écrire plus de tests unitaires!" C'était il y a environ un an. Depuis lors, j'ai forcé l'introduction de la révision du code pré-engagement ( Gerrit ) et de l'intégration continue ( Jenkins ).
J'ai organisé des réunions sur les tests unitaires et j'ai également montré les avantages de l'écriture de tests unitaires. Mais personne ne semble être intéressé.
Q1: Comment motiver mes collègues à écrire des tests unitaires?
Q2: Comment rester motivé pour suivre mes normes de qualité de code personnelles? (Parfois c'est vraiment frustrant!)
PS: Quelques faits frustrants (atteints en 1 an):
- Total des tests unitaires: 1693
- Total "exemples de tests unitaires": environ 50
- Fait par moi: 1521
Edit: Est-ce que j'attends trop? C'est mon premier lieu de travail et j'essaie de faire de mon mieux.
Edit 2: Sur la base de toutes les réponses, j'ai créé une petite liste de contrôle pour moi-même. J'ai parlé à deux développeurs en privé et nous avons eu une conversation bonne et honnête.
L'un d'entre eux m'a dit, comme Telastyn , qu'il était vraiment mal à l'aise avec les tests unitaires. Il a dit qu'il aimerait être "plus professionnel" mais qu'il a besoin d'un coup de pouce. Il a également déclaré que notre réunion de test unitaire avec tous les développeurs (autour de 9-11) était bonne, mais trop encombrante. Meh Certains critiques pour moi, mais je vais apprendre de cela. (Voir les réponses ci-dessous concernant les réunions de tdd kata!)
L'autre a déclaré qu'il n'était pas intéressé par l'écriture de tests unitaires. Il pense que son travail est suffisant pour son salaire. Il ne veut pas faire plus d'effort. J'étais presque sans voix. Typique 9-5 "travailleur".
La semaine prochaine, je vais parler aux autres développeurs.
Merci pour vos bonnes réponses (jusqu'à présent!) Et votre soutien. J'apprécie vraiment cela! J'ai beaucoup appris, merci beaucoup!