Testy funkcjonalne sprawdzają, czy aplikacja działa zgodnie z wymaganiami funkcjonalnymi, czyli czy wykonuje zadania oczekiwane przez użytkownika lub klienta. Tester nie musi analizować kodu źródłowego — interesuje go przede wszystkim efekt działania programu.
W pytaniu egzaminacyjnym opis dotyczy formularza osobowego: sprawdzane jest, czy użytkownik wypełnił wymagane pola, czy e-mail zawiera znak @, czy numer telefonu ma poprawny format oraz czy zaznaczono zgodę na przetwarzanie danych. To typowy przykład testu funkcjonalnego, ponieważ weryfikowana jest konkretna funkcja systemu: poprawna obsługa formularza i walidacja danych.
Co sprawdzają testy funkcjonalne?
- czy funkcja działa zgodnie ze specyfikacją,
- czy aplikacja poprawnie reaguje na dane użytkownika,
- czy pojawiają się właściwe komunikaty błędów,
- czy dane są poprawnie zapisywane, przetwarzane lub odrzucane,
- czy użytkownik może wykonać przewidziane operacje.
Przykład
Dla formularza rejestracyjnego test funkcjonalny może obejmować sprawdzenie:
- czy pusty formularz nie zostanie wysłany,
- czy błędny adres e-mail zostanie odrzucony,
- czy poprawne dane pozwolą utworzyć konto,
- czy brak zgody wymaganej regulaminem blokuje wysłanie formularza.
Czym nie są testy funkcjonalne?
Nie należy ich mylić z testami wydajnościowymi, które sprawdzają szybkość i obciążenie systemu, ani z testami jednostkowymi, które dotyczą pojedynczych metod lub funkcji w kodzie. Testy funkcjonalne oceniają zachowanie aplikacji z perspektywy wymagań i użytkownika.