niedziela, 27 października 2013

80% i nie mniej

Przeczytałem świetny tekst o testowaniu na stronie Alberto Savoia (Artima Developera) i uważam, że kwestia pokrycia kodu wciąż powraca, więc zamieszczę spolszczoną wersje Mądrości Testvusa o pokryciu.



Pewnego ranka, młody programista rozmawiał z wielkim mistrzem.
"Jestem gotowy pisać testy jednostkowe. Do jakiego pokrycia kodu powinienem dążyć"
Wielki mistrz odpowiedział:
"Nie przejmuj się pokryciem, po prostu pisz dobre testy"
Młody programista uśmiechnął się, podziękował i poszedł.


Później, tego samego dnia, inny programista zadał to samo pytanie.
Wielki mistrz wskazał na garnek wrzącej wody i powiedział.
"Ile ziarenek ryżu powinienem włożyć do garnka?"
Programista spojrzał zdziwiony i odpowiedział:
"Skąd mogę wiedzieć? To zależy ile ludzi chcesz nakarmić, jak bardzo są głodni, jakie inne jedzenie podajesz, ile masz dostępnego ryżu i tak dalej"
"Dokładnie" - odpowiedział wielki mistrz
Drugi programista uśmiechnął się, podziękował i poszedł.


Pod koniec dnia, trzeci programista przyszedł i zadał to samo pytanie odnośnie pokrycia kodu.
"Osiemdziesiąt procent i nie mniej" - odpowiedział mistrz surowym głosem uderzając ręką o stół
Trzeci programista uśmiechnął się, podziękował i poszedł.


Po ostatniej odpowiedzi, młody uczeń podszedł pod wielkiego mistrza.
"Wielki mistrzu, dzisiaj słyszałem różne Twoje odpowiedzi do tego samego pytania o pokryciu kodu. Dlaczego?"
Wielki mistrz wstał z krzesła.
"Choć napij się ze mną świeżej herbaty i porozmawiajmy o tym"


Po tym jak zaparzyli zieloną herbatę - wielki mistrz zaczął:
"Pierwszy programista jest nowy i dopiero zaczyna znajomość z testowaniem. Teraz ma dużo kodu, który nie ma testów. Długą drogę ma do przebycia, a koncentrując się w tej chwili na pokryciu kodu byłoby przygnębiające i bezużyteczne. Lepiej jest dla niego by przyzwyczaił się do pisania kodu i testów. Później będzie się martwił o pokrycie kodu"


"Drugi programista jest doświadczony w programowaniu i testowaniu. Kiedy odpowiedziałem pytająco, 'ile ziarenek ryżu powinno się umieścić w garnku', to pomogłem mu zrozumieć, że ilość wymaganych testów jest uzależnione od wielu czynników, a on wie lepiej niż ja - bo to jest jego kod. Nie mam jednej prostej odpowiedzi i on jest wystarczająco bystry, aby o tym nie wiedział".


Rozumiem - odpowiedział młody uczeń - ale skoro tam nie ma pojedynczej odpowiedzi, to dlaczego odpowiedziałeś trzeciemu programiście 'Osiemdziesiąt procent i nie mniej'?
Wielki mistrz zaczął się śmiać tak mocno i głośno, że było widać, że wypił coś więcej niż zieloną herbatę.
"Trzeci programista chciał tylko prostych odpowiedzi - nawet, gdyby nie było prostych odpowiedzi, a i tak nie będzie ich przestrzegał"
Młody uczeń i siwy wielki mistrz skończyli pić herbatę w kontemplacyjnej ciszy.


Inne mądrości Testvusa można poczytać na stronie artima lub w wersji pdf.

Brak komentarzy:

Prześlij komentarz