Moim zdaniem, jedynym sposobem na przekonanie się o testach jest wykazanie, że są one przydatne - tzn. Że niepowodzenia testów pomagają znaleźć i naprawić błędy .
Sposób, w jaki opisujesz problem, wygląda na to, że tak nie jest. Popatrz...
... kiedy pociągnę, czyjś kod przerwie moje testy i to ja muszę je naprawić.
Jeśli dobrze rozumiem, masz na myśli, że musisz zmodyfikować testy. Cóż, to nie brzmi jak niepowodzenia testów pomagają znaleźć i naprawić błędy , prawda? Jeśli testy nie pomogą w znalezieniu błędów, to jest dość słaba pozycja, by zacząć przekonywać kolegów - czego mogliby oczekiwać? żmudne poprawki w delikatnym kodzie testowym?
To może brzmieć jak ślepy zaułek, ale tak naprawdę nie jest. Twój ostateczny cel (przekonanie do TDD) nadal ma całkiem dobry sens, nie porzucaj go. Po prostu ponownie skoncentruj swoje wysiłki na usunięciu odkrytej przeszkody.
Niepowodzenia testowe, które Ci teraz przeszkadzają, są w zasadzie „fałszywymi alertami” - co oznacza, że są to błędy w testach, których nie ma w kodzie. Wykorzystaj je jako okazję do ulepszenia testów, aby dowiedzieć się, jak zrobić dobry, niezawodny projekt testu. Pracuj nad testami, aby „fałszywe alarmy” były rzadsze i aby ułatwić wykrywanie prawdziwych błędów w testowanym kodzie.
Gdy odkryjesz prawdziwe błędy, daj znać swoim kolegom i pomóż im je naprawić - i nie zapomnij wskazać, że błędy te zostały wykryte przez twoje testy. To naprawdę solidna podstawa do przekonania kolegów.
Warto wspomnieć, że umiejętności projektowania testów rozwijane na etapie „wstępnym” najprawdopodobniej będą ponownie potrzebne, jeśli (kiedy :) w końcu przekonasz swoich kolegów z drużyny do korzystania z TDD. Pomyśl o tym...
... Co by się stało, gdy niedoświadczonym kolegom wprowadzono programowanie oparte na testach?
Pierwszą rzeczą, jakiej można się spodziewać, jest to, że chłopaki zaczną pisać kiepskie testy, a (horror!) Nawet łamać dobre podczas nauki. Aby pomóc im znaleźć sposób, aby zrobić to dobrze, musisz dość dobrze zrozumieć dobry projekt testu.
Wszystkie błędy, które znajdziesz i naprawisz teraz w testach, będą powtarzane przez wszystkich twoich kolegów z drużyny, gdy zaczną się uczyć. Jeśli (kiedy!) Tak się stanie, lepiej przygotuj się do szybkiego i jasnego wyjaśnienia, jak poprawić, jeśli chcesz, aby pozostali pozytywnie nastawieni do TDD.