Cześć. Dzisiaj powiem Ci, czym jest TDD – Test Driven Development. Zapraszam!

Czym jest TDD?

Test-driven development (TDD) – technika tworzenia oprogramowania, zaliczana do metodyk zwinnych. Pierwotnie była częścią programowania ekstremalnego (ang. extreme programming), lecz obecnie stanowi samodzielną technikę.

Źródłohttps://pl.wikipedia.org/wiki/Test-driven_development

Czyli w skrócie, jest to technika, w której piszemy unit testy wraz z kodem produkcyjnym. Warto zaznaczyć, że na samym początku piszemy unit test, a dopiero później kod produkcyjny.

Dlaczego w taki sposób?

Ponieważ napiszemy test, który musi spełniać określone wymagania, a dopiero potem test produkcyjny w taki sposób, żeby te wymagania spełniał, czyli działał zgodnie z założeniami.

Fazy TDD

TDD jest podzielony na trzy fazy:

  1. Piszemy test jednostkowy, który będzie testował funkcjonalność, która jeszcze nie istnieje. Może zdarzyć się sytuacja, w której kod nawet nie będzie się kompilował, ponieważ odnosimy się do metody, która jeszcze nie istnieje.
  2. Piszemy kod produkcyjny, zgodnie z założeniami. Kod nie musi być idealny, ponieważ chodzi tutaj o fakt stworzenia kodu, który pokryje test napisany przed chwilą. Jeżeli kod napisany, to pozostaje tylko uruchomić unit test i sprawdzić, czy faktycznie wszystko przechodzi, tak jak powinno.
  3. Ostatnia faza to refaktoryzacja samego kodu. Innymi słowy, chodzi o to, żeby kod był w jeszcze lepszym stanie, niż po napisaniu go na potrzeby przechodzenia unit testów. Przykładem takiego czyszczenia może być napisane osobnej metody, która pozbędzie się powtarzania tego samego kodu.

Jak widzisz, są trzy fazy, które nie wyglądają zbyt skomplikowanie od strony pisania ich. Dzięki pisaniu w taki sposób możesz czuć się swobodniej podczas aktualizowania istniejącego kodu, który jest już na produkcji.

Pamiętaj!

Podczas skończenia refaktoryzacji oraz pisania testów, nie zapominaj o uruchamianiu wszystkich testów jednostkowych. Dlaczego? Odpowiedź jest banalna, ponieważ może zdarzyć się tak, że w jakiś sposób „mała zmiana” może powodować błędy w innej części aplikacji, którą nie bierzesz pod uwagę. Dlatego nie zapominaj i uruchamiaj wszystkie testy!