piątek, 25 kwietnia 2008

Testowanie aplikacji

Kolejny projekt do napisania, tym razem serwer chatowy na RMI. Lubię takie projekty, można się dużo nauczyć, poznać nowe techniki, zagadnienia. Podczas projektowania aplikacji staram się dowiedzieć jak najwięcej na temat danego zagadnienia aby wybrać optymalne rozwiązanie. Często siedzę nad pustą kartką po kilkanaście/kilkadziesiąt minut. Aż wreszcie nadchodzi ten moment w którym trzeba stuknąć coś w klawiaturę.

Gdy mamy już opracowany plan działania pisanie aplikacji idzie całkiem gładko. Jeśli wszystko przemyślało się dobrze nie pojawiają się większe błędy, gdy tylko obmyśliliśmy ogólny zarys mogą pojawić się duże problemy ale jakoś dajemy sobie radę. Nasz aplikacja pęcznieje w funkcjonalności a my cieszymy mordkę. Wszystko idzie zgodnie z planem, powoli kończymy aplikacje, aż nadchodzi ten smutny moment w którym musimy ją wytestować.


Testowanie to jedna z najprzykrzejszy rzeczy które musi zrobić programista; stworzony został przecież do rzeczy wyższych jak sprawdzanie własnego kodu, który przecież jest idealny. Dodatkową trudność sprawia fakt, że programista podchodzi do stworzonej aplikacji bardziej technicznie, nie jak normalny człowiek. Wie jakie dane może przyjąć dane pole, co się stanie po kliknięciu, dlatego też zazwyczaj sprawdza aplikacje przy poprawnych danych wejściowych co jest poważnym błędem.

Rozwiązaniem takiego problemu jest Test-driven development (TDD), czyli pisanie pod testy. W wielkim skrócie TDD polega na napisaniu testów testujących konkretną metode/funkcje/klasę a następnie napisanie tejże metody/funkcji/klasy która ten test przechodzi. Ważne aby test był napisany rzetelnie i testował wszystkie możliwe problemy.
Jest to olbrzymi plus ponieważ programista oddając daną część kodu do repozytorium wie, że działa ona poprawnie.

Tymi słowami chciałbym zapowiedzieć serię postów na temat test-driven development. Postaram się w nich przybliżyć ideę pisania testów oraz techniki ich tworzenia.

Brak komentarzy:

Prześlij komentarz