Przypadek testowy (Test Case)
Definicja
Przypadek testowy to precyzyjny zestaw warunków, kroków i danych testowych, opracowany w celu zweryfikowania, czy konkretna funkcja systemu działa zgodnie z założeniami. O ile Scenariusz testowy określa co testujemy, przypadek testowy definiuje dokładnie jak to robimy, nie pozostawiając miejsca na domysły testera.
Struktura Przypadku Testowego
Profesjonalnie przygotowany przypadek testowy powinien zawierać następujące elementy:
- ID i Nazwa: Unikalny identyfikator i krótki opis celu (np. TC_001: Logowanie poprawnymi danymi).
- Warunki wstępne (Preconditions): Stan systemu przed testem (np. „Użytkownik posiada aktywne konto”).
- Kroki (Steps): Ponumerowana lista akcji do wykonania (np. „1. Wpisz e-mail… 2. Kliknij przycisk…”).
- Dane testowe (Test Data): Konkretne wartości użyte w teście (np. login:
test@wp.pl, hasło:S3cur3!). - Oczekiwany rezultat (Expected Result): Co powinno się stać (np. „System wyświetla Dashboard”).
- Rezultat rzeczywisty (Actual Result): Pole wypełniane po wykonaniu testu (kluczowe przy raportowaniu błędów).
- Status: Wynik (Pass/Fail/Blocked).
Różnice: Scenariusz vs Przypadek Testowy
Wielu analityków i testerów myli te pojęcia, dlatego warto zestawić je obok siebie:
| Cecha | Scenariusz Testowy | Przypadek Testowy |
|---|---|---|
| Poziom | Wysoki (biznesowy). | Niski (operacyjny). |
| Pytanie | Co sprawdzić? | Jak to sprawdzić (krok po kroku)? |
| Przykład | Sprawdź procedurę zakupu. | 1. Dodaj produkt X do koszyka… 2. Wybierz InPost… |
| Odbiorca | PO, Interesariusze, Managerowie. | Testerzy, Deweloperzy (przy naprawie bugów). |
Przypadek testowy w procesie Agile
W zwinnym wytwarzaniu oprogramowania rzadko tworzy się setki stron dokumentacji testowej przed startem prac. Stosuje się za to:
- Test-Driven Development (TDD): Deweloper pisze przypadek testowy (w kodzie) przed napisaniem samej funkcji.
- Acceptance Criteria (AC) jako baza: Każde kryterium akceptacji z User Story jest bezpośrednim źródłem dla przypadków testowych.
- Automatyzacja: Dobrze opisane przypadki testowe są podstawą do pisania skryptów automatycznych (np. w Selenium lub Cypress).
Dobre praktyki tworzenia (INVEST w testach)
Dobre przypadki testowe powinny cechować się:
- Precyzją: Każdy tester, wykonując te same kroki, musi osiągnąć ten sam wynik.
- Niezależnością: Wynik jednego przypadku nie powinien blokować możliwości wykonania innego (o ile to możliwe).
- Mierzalnością: Oczekiwany rezultat musi być zero-jedynkowy (udało się lub nie).
Typowe błędy
- ❌ Brak danych testowych – Pisanie „Wpisz login” bez podania, czy ma to być login poprawny, czy błędny.
- ❌ Zbyt długie przypadki – Łączenie 20 kroków w jeden test. Jeśli błąd wystąpi w 15. kroku, trudno jest powtórzyć całą procedurę.
- ❌ Opisywanie oczywistego UI – Skupianie się na tym, że „okno jest szare”, zamiast na tym, czy dane zostały zapisane w bazie.
Podsumowanie
Przypadki testowe są „instrukcją obsługi jakości” dla produktu. Pozwalają one na obiektywną ocenę, czy to, co zostało zbudowane, jest zgodne z tym, co zostało zaprojektowane w fazie Inżynierii Wymagań.
Powiązane pojęcia:
Kliknij w pojęcie, aby przejść do jego definicji w słowniku
Inne pojęcia ze słownika
Bug (Błąd)
Defekt w kodzie źródłowym lub projekcie systemu, który powoduje, że program zachowuje się w sposób nieoczekiwany, niepoprawny lub niezgodny z wymaganiami.
Czytaj więcej →Diagram Klas (Class Diagram)
Najważniejszy diagram strukturalny UML, który opisuje statyczną budowę systemu poprzez przedstawienie klas, ich atrybutów, metod oraz relacji zachodzących między nimi.
Czytaj więcej →Daily Scrum
Krótkie, codzienne spotkanie Zespołu Scrumowego służące synchronizacji działań i planowaniu pracy na najbliższe 24 godziny.
Czytaj więcej →
Latarnia Analizy