Wir arbeiten an einem großen Produkt, das seit ca. 5 Jahren in Produktion ist. Die Codebasis funktioniert .. ähm ... Nicht wirklich gut, aber es funktioniert. Neue Funktionen werden in die Produktion übernommen und mit einer kleinen Qualitätssicherung getestet. Bugs sind behoben, etc. Aber niemand außer mir schreibt Unit-Tests. Niemand nutzt die Fähigkeit, Fehler durch Schreiben von Komponententests "aufzuspüren", um sicherzustellen, dass dieser spezielle Fehler (Testfall) nie wieder auftreten wird.
Ich habe mit dem Management gesprochen. Ich habe mit Entwicklern gesprochen. Ich habe mit allen in der ganzen Firma gesprochen. Alle sagen: "Ja, wir müssen mehr Unit-Tests schreiben!" Das war vor ungefähr einem Jahr. Seitdem habe ich die Einführung von Pre-Commit Code Review ( Gerrit ) und Continuous Integration ( Jenkins ) erzwungen .
Ich habe einige Treffen über Unit-Tests abgehalten und auch die Vorteile des Schreibens von Unit-Tests aufgezeigt. Aber niemand scheint interessiert zu sein.
F1: Wie motiviere ich meine Kollegen, Unit-Tests zu schreiben?
F2: Wie bleibe ich motiviert, meinen persönlichen Code-Qualitätsstandards zu folgen? (Manchmal ist es wirklich frustrierend!)
PS: Einige frustrierende Fakten (in 1 Jahr erreicht):
- Gesamtzahl der Tests: 1693
- Insgesamt "Beispiel-Unit-Tests": rund 50
- Geschehen von mir: 1521
Edit: Erwarte ich zu viel? Es ist mein erster Arbeitsplatz und ich versuche mein Bestes zu geben.
Edit 2: Basierend auf allen Antworten habe ich eine kleine Checkliste für mich erstellt. Ich habe privat mit zwei Entwicklern gesprochen und wir hatten ein gutes und ehrliches Gespräch.
Einer von ihnen sagte mir, wie Telastyn sagte, dass er mit Unit-Tests wirklich unwohl ist. Er sagte, dass er "professioneller" sein möchte, aber er braucht einen Kickstart. Er sagte auch, dass unser Unit-Test-Meeting mit allen Entwicklern (gegen 9-11) gut war, aber es war zu voll. Meh. Einige Kritiker für mich, aber ich werde daraus lernen. (Siehe Antworten unten bezüglich Tdd Kata Meetings!)
Der andere sagte, er habe kein Interesse daran, Unit-Tests zu schreiben. Er denkt, dass seine Arbeit gut genug für sein Gehalt ist. Er will sich nicht mehr anstrengen. Ich war ziemlich sprachlos. Typische 9-5 "Arbeiter".
Nächste Woche werde ich mit den anderen Entwicklern sprechen.
Vielen Dank für Ihre großartigen Antworten (soweit!) Und Ihre Unterstützung. Ich weiß das wirklich zu schätzen! Ich habe viel gelernt, vielen Dank!