Przejdź do treści
TestLine Menu
TestLine
testowanie od podstaw

Jak napisać przypadek testowy: elementy, przykład i techniki

Z czego składa się dobry przypadek testowy i jak dobrać do niego dane, żeby kilka testów sprawdziło więcej niż kilkadziesiąt przypadkowych.

autor
Artur Machowski, Senior QA Engineer
opublikowano
czytanie
8 min

Po co pisać przypadki testowe

Przypadek testowy to zapis jednego sprawdzenia: w jakim stanie zaczynasz, co robisz i czego oczekujesz. Dzięki niemu test może wykonać ktoś inny, możesz go powtórzyć przy regresji, a po czasie wiadomo, co zostało sprawdzone.

To trzecia część serii “Testowanie od podstaw”. Teorię, na której opierają się techniki z tego wpisu, opisuję w poprzedniej części.

Elementy przypadku testowego

elementpo co
identyfikatorżeby dało się go wskazać w raporcie i zgłoszeniu
tytułco sprawdzamy, w jednym zdaniu
warunki wstępnestan systemu przed testem: konto, uprawnienia, dane
dane testowekonkretne wartości, nie “jakieś dane”
krokiponumerowane akcje
oczekiwany wynikco ma się stać; bez tego nie wiadomo, czy test przeszedł
powiązaniewymaganie lub historyjka, której dotyczy
priorytetktóre testy wykonać, gdy brakuje czasu

Przykład

Wymaganie: przy rejestracji użytkownik podaje wiek. Konto mogą założyć osoby w wieku od 18 do 65 lat.

ID: REJ-07
Tytuł: Rejestracja odrzuca wiek poniżej 18 lat
Wymaganie: US-112, rejestracja konta
Priorytet: wysoki
Warunki wstępne: użytkownik niezalogowany, formularz rejestracji otwarty
Dane: e-mail [email protected], hasło Test!2026, wiek 17
Kroki:
  1. Wypełnij e-mail i hasło.
  2. W polu "Wiek" wpisz 17.
  3. Kliknij "Załóż konto".
Oczekiwany wynik:
  - konto nie zostaje utworzone;
  - pod polem "Wiek" widać komunikat o minimalnym wieku 18 lat;
  - wpisane dane pozostają w formularzu.

Zwróć uwagę na trzy rzeczy. Tytuł mówi, co jest sprawdzane. Dane są konkretne. Oczekiwany wynik ma kilka punktów, bo “nie zakłada konta” to za mało: formularz, który czyści wszystkie pola po błędzie, też jest problemem.

Klasy równoważności

Ile wartości wieku warto sprawdzić? Wszystkich się nie da, a losowe wybieranie nic nie daje. Technika klas równoważności dzieli dane na grupy, które system powinien traktować tak samo:

klasaprzykładoczekiwany wynik
poniżej 1810odrzucony
od 18 do 6530przyjęty
powyżej 6580odrzucony
nie liczbaabcodrzucony
puste pole(brak)odrzucony

Z każdej klasy bierzesz jedną wartość. Pięć testów zamiast kilkudziesięciu, a każdy sprawdza coś innego.

Wartości brzegowe

Najwięcej błędów kryje się na granicach. Programista napisał wiek > 18 zamiast wiek >= 18 i osiemnastolatek nie może się zarejestrować. Dlatego do klas dokładasz wartości na granicach i tuż za nimi:

wartośćdlaczegooczekiwany wynik
17tuż pod dolną granicąodrzucony
18dolna granicaprzyjęty
65górna granicaprzyjęty
66tuż nad górną granicąodrzucony

Zanim zaczniesz testować, upewnij się, że granice są jasne. “Od 18 do 65” może znaczyć “do 65 włącznie” albo “przed 65. urodzinami”. Takie pytanie zadane na etapie wymagań oszczędza zgłoszenie defektu, który okaże się nieporozumieniem.

Tablica decyzyjna

Gdy wynik zależy od kilku warunków naraz, pomaga tablica decyzyjna. Przykład: darmowa dostawa przysługuje klientom z kartą stałego klienta albo przy zamówieniu od 200 zł.

karta stałego klientazamówienie od 200 złdarmowa dostawa
taktaktak
taknietak
nietaktak
nienienie

Cztery kombinacje, cztery przypadki. Przy trzech warunkach byłoby ich osiem, więc tablica szybko pokazuje, czy jakaś kombinacja nie została pominięta w wymaganiach.

Najczęstsze błędy

  • Brak oczekiwanego wyniku. Kroki bez wyniku to instrukcja obsługi, nie test.
  • Kilka sprawdzeń w jednym przypadku. Gdy test nie przejdzie, nie wiadomo, która część zawiodła.
  • Ogólne dane. “Wpisz poprawny e-mail” każdy zrozumie inaczej.
  • Zależność od innych testów. Przypadek, który działa tylko po wykonaniu poprzedniego, psuje się przy zmianie kolejności.
  • Opisywanie interfejsu zamiast zachowania. “Kliknij niebieski przycisk w prawym górnym rogu” przestaje być prawdą po pierwszym redesignie.

Przypadek testowy czy lista kontrolna

Nie każdy test potrzebuje pełnego opisu. W stabilnym produkcie i doświadczonym zespole często wystarczy lista kontrolna, np. “rejestracja: granice wieku, zajęty e-mail, słabe hasło”. Pełne przypadki opłacają się tam, gdzie test wykonują różne osoby, gdzie są wymogi audytu albo gdzie przypadek ma potem trafić do automatyzacji.

Przypadki testowe trzyma się zwykle w narzędziu do zarządzania testami (TestRail, Xray, Zephyr) albo, w małych projektach, w arkuszu. Na start wystarczy arkusz.

Co dalej

Gdy przypadek testowy nie przejdzie, trzeba zgłosić defekt, i to jest kolejna część serii. Jeśli przygotowujesz się do rozmowy, techniki z tego wpisu pojawiają się w pytaniach rekrutacyjnych w dziale o projektowaniu testów.

Seria “Testowanie od podstaw”

  1. Czym zajmuje się tester i jak zacząć
  2. Teoria testowania w pigułce
  3. Jak napisać przypadek testowy (ten wpis)
  4. Jak zgłaszać defekty
  5. Testowanie API od podstaw
  6. Pierwsze kroki w automatyzacji testów

Masz release za kilka tygodni?

Opisz projekt w formularzu. Odpiszę z pytaniami o zakres albo z wstępnym planem testów.