Zasady testów jednostkowych
Testy jednostkowe to technika w inżynierii oprogramowania polegająca na sprawdzaniu poprawności działania pojedynczych, najmniejszych jednostek kodu, takich jak funkcje czy metody. Zasady testów jednostkowych obejmują tworzenie testów, które są izolowane, powtarzalne i automatyczne, aby umożliwić szybkie wykrywanie błędów. Testy te powinny być jednoznaczne, niezależne od siebie oraz łatwe do utrzymania i uruchamiania.
Zasady testów jednostkowych określają sposób projektowania, uruchamiania i wykorzystywania testów w procesie tworzenia oprogramowania. Obejmują między innymi szybkość testów, ograniczenie zależności od I/O, dokumentowanie zachowania aplikacji oraz wspieranie zmian architektonicznych.
Testy jednostkowe i TDD
Testy jednostkowe sprawdzają małe fragmenty kodu w izolacji, dlatego ich wykonanie powinno być szybkie i przewidywalne.
- Nie mogą korzystać z operacji wejścia-wyjścia (I/O), takich jak odczyt plików, połączenia z bazą danych czy komunikacja sieciowa.
- W podejściu TDD testy powinny wykonywać się w czasie krótszym niż sekunda, aby szybka informacja zwrotna była częścią codziennej pracy.
Testy BDD i logika biznesowa
Testy BDD opisują zachowanie aplikacji w sposób zrozumiały także dla osób spoza zespołu programistycznego.
- Mogą służyć jako dokumentacja działania aplikacji.
- Mogą również pełnić funkcję listy zmian w aplikacji.
- Pomagają zweryfikować prawidłowość logiki biznesowej.
Automatyzacja i refaktoryzacja
Automatyczne testy jednostkowe mogą pomóc bezpieczniej przepisać mikroserwis.
- Podczas refaktoryzacji warto zachować działające testy, aby szybko wychwytywać niezamierzone zmiany zachowania.
- Nową funkcjonalność można dodać jako osobny moduł, co może zmniejszyć ryzyko regresji.
Twierdzenia w tym opracowaniu
- Testy jednostkowe nie mogą używać I/O1 źródło
- Aby wykonywać TDD testy powinny wykonywać się w mniej niż sekundę1 źródło
- Testy BDD mogą służyć jako dokumentacja działania aplikacji1 źródło
- Testy BDD mogą służyć jako lista zmian w aplikacji1 źródło
- Testy BDD mogą pomóc zweryfikować prawidłowość logiki biznesowej1 źródło
- Testy automatyczne mogą pomóc przepisać mikroserwis1 źródło
- Dodanie nowej funkcjonalności jako osobnego modułu może zmniejszyć ryzyko regresji1 źródło