Jak pisać przypadki testowe, przykłady
Jak pisać przypadki testowe? Przykłady

Wyobraź sobie, że dzwonisz na infolinię banku. Twoje połączenie jest automatycznie odebrane przez maszynę, głos w słuchawce mówi „Wybierz 0, by połączyć się z konsultantem. Wciśnij 1, by zmienić termin spotkania…”. Czy wiesz, że ten automat właśnie recytuje przypadki testowe? Pierwszy dotyczyłby weryfikacji czy po wybraniu 1 jestem połączony z właściwym działem. Drugi tego, czy po wciśnięciu 0 zostałem przekierowany do konsultanta. Najprostszymi słowami można powiedzieć, że przypadek testowy jest to lista czynności do wykonania w celu sprawdzenia prawidłowości działania funkcjonalności.

Plan wpisu
  • W jakim celu piszemy przypadki testowe?
  • Z jakich elementów składa się przypadek testowy?
  • Czy zawsze powinniśmy pisać przypadki testowe?
  • Jakich narzędzi możemy używać do pisania przypadków testowych?
  • Jakie możliwości dają nam przypadki niskopoziomowe vs wysokopoziomowe.
  • Na końcu wpisu znajdziesz kilka przykładów przypadków nisko i wysoko poziomowych.

W jakim celu piszemy przypadki testowe?

Przypadki testowe piszemy, aby udokumentować w przejrzysty sposób różne możliwości obsłużenia modułów w ramach danej aplikacji. Dobre pokrycie przypadkami testowymi oprogramowania daje nam pewność podczas testów, że nie pominęliśmy żadnej ważnej funkcjonalności. Po zakończeniu testów, na podstawie przypadków testowych możemy budować nasze raporty z wykonanych testów. Dla nowo przyjętych do zespołu ludzi przypadki testowe mogą stać się bardzo dobrym źródłem informacji o niej. Przypadki testowe można również wykorzystać w kontekście testów akceptacyjnych w celu potwierdzenia działania aplikacji zgodnie z oczekiwaniami. Jak widać na powyższych przykładach, przypadki testowe (Test case) są bardzo istotne! Z tego powodu często w trakcie rozmów rekrutacyjnych na testera manualnego pada pytanie właśnie o nie.

Z jakich elementów składa się przypadek testowy?

Każdy przypadek testowy będzie mógł inaczej wyglądać oraz może być inaczej generowany w zależności od narzędzia, za pomocą którego piszemy taki test case. O narzędziach przeczytasz poniżej, tymczasem elementy (pola) przypadku testowego omawiam na przykładzie TestLink.

Elementy przypadku testowego
ID
Unikalny numer nadawany automatycznie przy tworzeniu przypadku testowego.
Twórca
Wartość nadawana automatycznie w momencie utworzenia przez użytkownika przypadku testowego.
Tytuł
Krótko zwięźle i na temat co ma być przetestowane.
Cel
Cel wykonania testu.
Warunek początkowy
Najprościej mówiąc, są to dane potrzebne do wykonania testu. Mogą być to zarówno informacje na temat konta użytkownika, jego uprawnień, jak i miejsca w aplikacji, gdzie znajduje się zalogowany użytkownik.
Kroki
Opis co wykonujemy krok po kroku, aby dotrzeć do celu przypadku testowego.
Rezultat
Rezultat wykonania kroku/kroków testowych.
Priorytet
Istnieje możliwość nadawania priorytetów przypadkom testowym, pozwala to w wypadku braku czasu zdefiniować, które testy zostaną wykonane w pierwszej kolejności.
Wykonanie Manualne/Automatyczne
Wartość w polu oznacza, czy dany przypadek ma być wykonywany ręcznie, czy jest pokryty kodem.
Czas na wykonanie
Czas, jaki zgodnie z naszą wiedzą powinien zostać poświęcony na weryfikację przypadku testowego.
Czy zawsze powinniśmy pisać przypadki testowe?

Z jednej strony przypadki testowe dają nam jasny obraz sytuacji w aplikacji plus pozwalają łatwo przechowywać dane odnośnie do wykonanych testów.
Z drugiej strony, jeżeli projekt, w którym pracujemy jest bardzo mały, wtedy raczej nie powinniśmy pisać przypadków testowych. Wynika to z prostej zasady, mały projekt to mały budżet i zwykle krótki czas. Samo napisanie przypadków wymaga sporego nakładu czasu, co za tym idzie, by on się zwrócił, konieczne jest kilkukrotne wykonanie testów.

Narzędzia, których możemy użyć do pisania przypadków testowych.

TestLink

Program na licencji GNU, całkowicie darmowy. Zapewni nam podstawowe możliwości tworzenia, jak i zarządzania przypadkami testowymi. TestLink możemy zsynchronizować z Jira, ale niestety w ograniczony sposób. Program ten jest popularny i często używany przez testerów.

Zephyr

Jedno z narzędzi komercyjnych. Jest to nakładka do Jira umożliwiająca tworzenie przypadków testowych, zarządzanie nimi.

HP QC

Narzędzie dedykowane tworzeniu i zarządzaniu przypadkami testowymi, komercyjne, lecz minusem może być brak synchronizacji z bugtrackerem np. Jira.

Excel

Niektóre firmy do tworzenia i zarządzania przypadkami testowymi wykorzystują arkusze w Excelu. Nie jest to najprzyjemniejsze narzędzie, ale jednak jest wykorzystywane.

Niskopoziomowe vs wysokopoziomowe przypadki testowe

Przypadki niskopoziomowe mają od razu na starcie sprecyzowane dane wejściowe, jak i rezultat wykonania testu. W przypadku przypadków testowych wysokopoziomowych dane wejściowe, jak i dane wyjściowe nie są konkretne. Jakie daje nam to możliwości?
W przypadku pisania przypadków testowych niskopoziomowych musimy dużo więcej czasu poświęcić na to, żeby dobrze pokryć daną funkcjonalność testami. Tego typu przypadków piszemy z reguły więcej by przetestować jedna funkcjonalność. W przypadku pisania przypadków wysokopoziomowych napiszemy tych przypadków mniej jednocześnie pokrywając większą ilość wymagań niż w wypadku przypadków niskopoziomowych. Dodatkowo przypadki wysokopoziomowe mogą być jednym z działań, jakie pozwolą nam na niedopuszczenie do Paradoksu pestycydów.
Przy ogólnych danych wejściowych oraz ogólnych danych wyjściowych istnieje mała szansa, że testerzy będą powielali swoje testy.

Przypadki testowe - przykłady

Mechanizm logowania w aplikacji Allegro – przykłady niskopoziomowego i wysokopoziomowego przypadku testowego.

PRZYPADEK NISKOPOZIOMOWY 1
Tytuł: Logowanie do aplikacji za pomocą konta użytkownika.
Cel: Weryfikacja możliwości zalogowania do aplikacji za pomocą poprawnych danych.
Warunki początkowe:
– W aplikacji istnieje aktywne konto użytkownika.
– Użytkownik znajduje się na ekranie logowania do aplikacji.

Krok Rezultat
1. Wprowadź poprawne dane w pole Login i Hasło
1. Pola zostały uzupełnione.
2. Naciśnij przycisk Zaloguj
2. Użytkownik został zalogowany do aplikacji.
Priorytet: Wysoki
Wykonanie: Manualne
Estymowany czas: Minuta
PRZYPADEK NISKOPOZIOMOWY 2

Tytuł: Logowanie do aplikacji za pomocą konta Facebook.
Cel: Weryfikacja możliwości zalogowania do aplikacji za pomocą konta połączonego z kontem na portalu Facebook.
Warunki początkowe:
– W aplikacji istnieje aktywne konto użytkownika połączone z kontem na portalu Facebook.
– Użytkownik znajduje się na ekranie logowania do aplikacji.

Krok Rezultat
1. Naciśnij przycisk Zaloguj przez Facebook.
1. Użytkownik został zalogowany do aplikacji.
Priorytet: Wysoki
Wykonanie: Manualne
Estymowany czas: Minuta
PRZYPADEK NISKOPOZIOMOWY 3

Tytuł: Logowanie za pomocą konta Facebook bez konta w aplikacji.
Cel: Weryfikacja przeniesienia użytkownika na ekran uproszczonej rejestracji przy próbie logowania za pomocą konta Facebook niezsynchronizowanego z kontem w aplikacji.
Warunki początkowe:
– Użytkownik posiada konta w aplikacji Facebook niezsynchronizowane z aplikacją Allegro.
– Użytkownik znajduje się na ekranie logowania do aplikacji.

Krok Rezultat
1. Naciśnij przycisk Zaloguj przez Facebook.
1. Użytkownik został przeniesiony na ekran uproszczonej rejestracji.
2. Uzupełnij pola Daty urodzenia poprawnymi danymi.
2. Pola daty zostały pozytywnie uzupełnione.
3. Zaznacz wymaganą zgodę, a następnie naciśnij przycisk Zarejestruj.
3. Checkbox ze zgodą na warunki regulaminu został zaznaczony. Użytkownik został zarejestrowany i przeniesiony do aplikacji.
4. Wyloguj się z aplikacji.
4. Użytkownik został Wylogowany.
5. Naciśnij przycisk "Zaloguj się".
5. Użytkownik został przeniesiony na ekran logowania.
6. Naciśnij przycisk Zaloguj przez Facebook.
6. Użytkownik został zalogowany do aplikacji.
Priorytet: Wysoki
Wykonanie: Manualne
Estymowany czas: Minuta
PRZYPADEK WYSOKOPOZIOMOWY 1

Tytuł: Logowanie do aplikacji.
Cel: Weryfikacja możliwości zalogowania się do aplikacji.
Warunki początkowe:

– W aplikacji istnieje aktywne konto użytkownika połączone z kontem na portalu Facebook.

– W aplikacji istnieje aktywne konto użytkownika połączone z kontem gmail.

– Użytkownik znajduje się na ekranie logowania do aplikacji.

Krok Rezultat
1. Zweryfikuj możliwość logowania się do aplikacji za pomocą poprawnych danych.
1. Weryfikacja pozytywna.
Priorytet: Wysoki
Wykonanie: Manualne
Estymowany czas: 5 Minut
PRZYPADEK WYSOKOPOZIOMOWY 2

Tytuł: Logowanie do aplikacji.
Cel: Weryfikacja braku możliwości zalogowania się do aplikacji przy niepoprawnych danych.
Warunki początkowe:

– W aplikacji istnieje nieaktywne konto użytkownika.
– W aplikacji istnieje zablokowane konto użytkownika.
– Użytkownik znajduje się na ekranie logowania do aplikacji.

Krok Rezultat
1. Zweryfikuj brak możliwości zalogowania się do aplikacji przy użyciu niepoprawnych danych.
1. Użytkownik nie został zalogowany pojawił się komunikat o błędzie.
Priorytet: Wysoki
Wykonanie: Manualne
Estymowany czas: 5 Minut
Przykładowy przypadek testowy w TestLink
TestLink - przykładowy przypadek testowy

Waldemar Szafraniec

Nazywam się Waldemar Szafraniec. Karierę testera rozpocząłem w 2012 roku. Od początku pracy w zawodzie wiedziałem, że będzie to coś więcej niż tylko praca. Obecnie praca jest również moim hobby. Jednym z moich obowiązków w obecnym miejscu pracy jest rekrutowanie nowych testerów oraz szkolenie ich. Sam stale podnoszę swoje kwalifikacje uczestnicząc w szkoleniach (ISTQB, ISTQB Advanced Level – Test Analyst). Szkolę ludzi w dziedzinie testów manualnych od 2014 roku. Jestem trenerem, ponieważ wiem, że dobrze mi wychodzi przekazywanie wiedzy, wiem jak praca testera wygląda oraz mam doświadczenie w rekrutacji.

Ten post ma 2 komentarzy

  1. Bardzo dobry i konkretny artykuł z dobrymi przykładami. Dzięki! 🙂

  2. dzieki bardzo za info i przyklady ! 🙂

Dodaj komentarz