Pracujemy nad dużym produktem, który jest produkowany od około 5 lat. Baza kodów działa ... eee ... działa. Niezbyt dobrze, ale działa. Nowe funkcje są wprowadzane do produkcji i testowane z niewielką kontrolą jakości. Błędy zostały naprawione itp. Ale nikt oprócz mnie nie pisze testów jednostkowych. Nikt nie korzysta z mocy „śledzenia” błędów, pisząc testy jednostkowe, aby upewnić się, że ten specjalny błąd (przypadek testowy) nigdy się nie powtórzy.
Rozmawiałem z zarządem. Rozmawiałem z programistami. Rozmawiałem ze wszystkimi w całej firmie. Wszyscy mówią: „Tak, musimy napisać więcej testów jednostkowych!” To było około rok temu. Od tego czasu wymusiłem wprowadzenie przeglądu kodu przed zatwierdzeniem ( Gerrit ) i ciągłej integracji ( Jenkins ).
Odbyłem kilka spotkań na temat testów jednostkowych, a także pokazałem zalety pisania testów jednostkowych. Ale nikt nie wydaje się zainteresowany.
P1: Jak zmotywować moich współpracowników do napisania testów jednostkowych?
Q2: Jak mogę zmotywować się do przestrzegania standardów jakości mojego osobistego kodu? (Czasami jest to naprawdę frustrujące!)
PS: Niektóre frustrujące fakty (osiągnięte w ciągu 1 roku):
- Łączna liczba testów jednostkowych: 1693
- Łącznie „przykładowe testy jednostkowe”: około 50
- Sporządzono przeze mnie: 1521
Edycja: Czy oczekuję zbyt wiele? To moje pierwsze miejsce pracy i staram się dać z siebie wszystko.
Edycja 2: Na podstawie wszystkich odpowiedzi stworzyłem sobie małą listę kontrolną. Rozmawiałem z dwoma deweloperami na osobności i rozmawialiśmy dobrze.
Jeden z nich powiedział mi, jak powiedział Telastyn , że jest naprawdę niewygodny w testach jednostkowych. Powiedział, że chciałby być „bardziej profesjonalny”, ale potrzebuje kickstartu. Powiedział także, że nasze spotkanie w sprawie testów jednostkowych ze wszystkimi programistami (około 9–11) było dobre, ale było zbyt tłoczno. Meh Niektórzy krytycy dla mnie, ale nauczę się z tego. (patrz odpowiedzi poniżej dotyczące spotkań kata TDD!)
Drugi powiedział, że nie jest zainteresowany pisaniem testów jednostkowych. Uważa, że jego praca wystarcza na jego pensję. Nie chce wkładać większego wysiłku. Byłem całkiem zaniemówiony. Typowy „pracownik” 9–5.
W przyszłym tygodniu będę rozmawiać z innymi programistami.
Dziękujemy za wspaniałe odpowiedzi (jak dotąd!) I wsparcie. Bardzo to doceniam! Dużo się nauczyłem, dziękuję bardzo!