Czym są testy jednostkowe?
Testy jednostkowe sprawdzają poprawność działania pojedynczych, małych elementów programu, na przykład jednej funkcji, metody lub klasy. Ich celem jest potwierdzenie, że dany fragment kodu działa zgodnie z założeniami w oderwaniu od reszty systemu.
Co jest testowane?
Najczęściej testy jednostkowe obejmują:
- obliczenia wykonywane przez funkcję,
- zwracane wartości,
- reakcję na dane poprawne i błędne,
- działanie metod klas,
- obsługę wyjątków.
Cechy testów jednostkowych
- dotyczą najmniejszej części aplikacji,
- są zwykle tworzone przez programistów,
- wykonują się szybko,
- pomagają wykryć błędy na wczesnym etapie,
- nie sprawdzają całego działania interfejsu użytkownika.
Przykład
Jeśli aplikacja ma funkcję obliczającą pole prostokąta, test jednostkowy może sprawdzić, czy dla boków 4 i 5 wynik wynosi 20.
def pole(a, b):
return a * b
assert pole(4, 5) == 20
Testy jednostkowe a testy funkcjonalne
To ważne rozróżnienie egzaminacyjne:
- testy jednostkowe badają pojedynczy fragment kodu,
- testy funkcjonalne sprawdzają, czy cała funkcja systemu działa poprawnie z punktu widzenia użytkownika.
Przykład:
- test jednostkowy: sprawdzenie funkcji walidującej adres e-mail,
- test funkcjonalny: sprawdzenie, czy formularz rejestracyjny odrzuca błędny e-mail i wyświetla komunikat.
Kiedy stosować?
Testy jednostkowe stosuje się podczas programowania i rozwijania aplikacji. Są szczególnie przydatne wtedy, gdy kod jest rozbudowany i często modyfikowany.
Podsumowanie
Testy jednostkowe służą do sprawdzania pojedynczych elementów kodu, a nie całych procesów użytkownika. W pytaniach egzaminacyjnych często są przeciwstawiane testom funkcjonalnym i wydajnościowym.