Test jednostkowy (unit test) to fragment kodu, który sprawdza inny fragment kodu - to najprostsza definicja jaką udało mi się znaleźć. Poza podstawowym celem jakim jest eliminacja błędów, dzięki używaniu testów jednostkowych zyskamy m.in

  • redukcje kosztów
  • bezproblemowy refactoring
  • wyższą jakość kodu

Eliminacja błędu jest tym bardziej kosztowna im projekt jest dalej posunięty w czasie. Szczególnie eliminacja błędów na etapie wdrożenia zabiera dużo czasu i zasobów. Co gorsze wpływa negatywnie na nasz profesjonalizm w oczach klienta, a może nawet mieć swoje skutki w postaci kar umownych, czy nawet zerwania umowy.

SimpeTest

Nie wyobrażam sobie przeprowadzania refactoringu bardziej złożonych struktur bez wcześniejszego napisania testów jednostkowych. Refactoryzacje można przedstawić w trzech krokach: test - code - refactor. Jeżeli nasz kod nie przechodzi testów, otrzymujemy czerwony pasek (np. w Simpletest). Następnie staramy się napisać poprawny kod i otrzymać zielony pasek. Dopiero teraz możemy zając się właściwą refactoryzacją, stosując odpowiednie przekształcenia czy wzorce projektowe. Co istotne, refaktoryzujemy także testy, a nie tylko kod aplikacji.

Same pisanie testów nie jest łatwe i także wymaga wprawy. Trzeba również tak projektować kod aplikacji aby był łatwo testowalny. Czas jaki poświęcimy na opanowanie tej sztuki na pewno pozytywnie wpłynie na nasze umiejętności programistyczne.

O poszczególnych aspektach testów jednostkowych opowiem w następnych postach. Na razie zapraszam do obejrzenia slajdów z mojej prezentacji na ten temat. (ps. Tak wiem, nie wysiliłem się stosując domyślny szablon PowerPointa, obiecuje że następnym razem bardziej przyłożę się do prezentacji).

Społeczność: Powiązane posty:

Komentarze

  1. Szymon

    Pierwszy…

  2. PiotrB

    teorii
    slajd 42 - to tylko kwestia sposobu mierzenia

  3. Hubert Marzec

    To jest właśnie minus zastosowania statements coverage…

Dodaj komentarz