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.

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.

IDUnikalny numer nadawany automatycznie przy tworzeniu przypadku testowego.
TwórcaWartość nadawana automatycznie w momencie utworzenia przez użytkownika przypadku testowego.
TytułKrótko zwięźle i na temat co ma być przetestowane.
CelCel wykonania testu.
Warunek początkowyNajproś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.
KrokiOpis co wykonujemy krok po kroku, aby dotrzeć do celu przypadku testowego.
RezultatRezultat wykonania kroku/kroków testowych.
PriorytetIstnieje 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/AutomatyczneWartość w polu oznacza, czy dany przypadek ma być wykonywany ręcznie, czy jest pokryty kodem.
Czas na wykonanieCzas, jaki zgodnie z naszą wiedzą powinien zostać poświęcony na weryfikację przypadku testowego.
Elementy 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.

Więcej na temat TestLink znajdziesz w serii wpisów na temat TestLink na tym blogu.

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. Natomiast przypadki testowe wysokopoziomowe mają dane wejściowe, i wyjściowe nie sprecyzowane. Jakie daje nam to możliwości?

korepetycje z testowania oprogramowania teoria praktyka i przygotowanie do rozmowy rekrutacyjnej

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.

KrokRezultat
1. Wprowadź poprawne dane w pole Login i Hasło1. Pola zostały uzupełnione.
2. Naciśnij przycisk Zaloguj2. Użytkownik został zalogowany do aplikacji.
Priorytet: Wysoki
Wykonanie: Manualne
Estymowany czas: Minuta
Przykład przypadku niskopoziomowego – Logowanie do aplikacji za pomocą konta użytkownika.
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.

KROKREZULTAT
1. Naciśnij przycisk Zaloguj przez Facebook.1. Użytkownik został zalogowany do aplikacji.
Priorytet: Wysoki
Wykonanie: Manualne
Estymowany czas: Minuta
Przykład przypadku niskopoziomowego – Logowanie do aplikacji za pomocą konta Facebook.
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.

KROKREZULTAT
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
Przykład przypadku niskopoziomowego – Logowanie za pomocą konta Facebook bez konta w aplikacji.
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.

KROKREZULTAT
1. Zweryfikuj możliwość logowania się do aplikacji za pomocą poprawnych danych.1. Weryfikacja pozytywna.
Priorytet: Wysoki
Wykonanie: Manualne
Estymowany czas: 5 Minut
Przykład przypadku wysokopoziomowego – Logowanie do aplikacji.
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.

KROKREZULTAT
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ład przypadku wysokopoziomowego – Logowanie do aplikacji.
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 4 komentarzy

  1. Magda

    jestem mało zorientowana w temacie, więc chciałabym zapytać o coś co może się wydawać oczywiste osobom bardziej doświadczonym.
    Jeśli mamy szczegółową specyfikację, to czy pisanie przypadków testowych w takim wypadku, nie jest parafrazowaniem specyfikacji ?

    1. Waldemar Szafraniec

      Z jednej strony tak a z drugiej nie, ponieważ przypadki testowe traktujemy jako coś odrębnego. Dzielącego nam specyfikacje na mniejsze części i jednocześnie pozwalające nam potwierdzić jak ona działa. Jednym słowem często nie bierzemy specyfikacji 1 do 1 tylko przerabiamy ją a niejednokrotnie rozbudowujemy jeszcze bardziej.

  2. kin

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

  3. Julia

    dzieki bardzo za info i przyklady ! 🙂

Dodaj komentarz