Proponuje ci postawę, że nauczysz się czegoś na podstawie tego doświadczenia. Jestem pewien, że tak.
Pierwszą rzeczą, której powinieneś się nauczyć, jest to, że konieczność testów jednostkowych nie ma nic wspólnego z twoim doświadczeniem . Najlepszy programista będzie również jednym z najlepszych testerów jednostkowych:
Bill Venners: Mówisz w swojej książce Refaktoryzacja: „Jeśli chcesz refaktoryzować, niezbędnym warunkiem są solidne testy”. Czy to oznacza, że jeśli nie masz testów, nie powinieneś refaktoryzować?
Martin Fowler: Powinieneś myśleć o tym jak chodzenie po linie bez siatki. Jeśli jesteś dobry w chodzeniu po linie i nie jest tak wysoko, możesz spróbować. Ale jeśli nigdy wcześniej nie chodziłeś po linie, a to nad wodospadem Niagara, prawdopodobnie potrzebujesz dobrej sieci.
Od http://www.artima.com/intv/refactorP.html
Pisałem PHP bez testów jednostkowych. Potem, po latach praktykowania testów jednostkowych w Javie, odkryłem, że nie mogę pracować na niczym bardziej skomplikowanym niż pojedyncze strony w PHP bez testów jednostkowych. Powód? Produktywność . Bez testów jednostkowych nie mogłem pewnie refaktoryzować - oznaczało to, że albo A) będę musiał zburzyć znacznie więcej i pracować nad wszystkim od początku, albo B) , będę musiał poradzić sobie z brzydkim, starszym kodem.
Kiedy składasz ofertę, czy musisz wziąć pod uwagę czas na przetestowanie? Tak . Czy wydaje się intuicyjne, że zajmie to więcej czasu? Tak, jeszcze raz . Prawdopodobnie, jak z grubsza oszacowały niektóre inne odpowiedzi, będziesz musiał oszacować 50-100% więcej niż bez testów jednostkowych.
Jednak!...
- Wcześniej złapiesz i naprawisz dziury w specyfikacji
- Co oznacza, że będziesz rozwijał się do czystszej i bardziej solidnej specyfikacji
- Będziesz mógł szybko i pewnie reagować na zmiany specyfikacji
- Będziesz miał mniej błędów
- Twoje błędy zostaną wykryte wcześniej i łatwiej będzie je naprawić
W rezultacie Twoje szacunki będą dokładniejsze . Jeśli pobierzesz opłatę za godzinę, bardziej zaimponujesz swoim klientom i będziesz w stanie podnieść stawki. Jeśli pobierzesz opłatę ryczałtową, zarobisz więcej pieniędzy na godzinę.
Bez testowania twoje prognozy najprawdopodobniej są bzdurą. Błędy, zlecenia zmian i redefinicje są bardzo trudne do dokładnego oszacowania. Testowanie jest kluczem do zminimalizowania wpływu wszystkich trzech!