Jak scenariusz testowy pomaga na późniejszych etapach pracy rozwoju oprogramowania? Jak pisać scenariusze testowe? Czym różnią się scenariusze testowe i przypadki testowe? Sprawdźmy!
Inny rodzaj scenariusza, czyli kilka słów o scenariuszach testowych
Czy są jakieś podobieństwa między scenariuszem filmowym a scenariuszem testowym? Owszem, można pewne zauważyć. Scenariusz filmowy opisuje zwykle pewną fabułę, historię – scenariusz testowy również, ale bardziej w aspekcie technicznym. Przedstawia on zazwyczaj listę wykonywanych akcji w danym oprogramowaniu – historię użytkownika, który porusza się np. po aplikacji webowej, mobilnej lub desktopowej. Jest to bardzo ważny rodzaj dokumentacji, dzięki której testerzy oprogramowania mogą zweryfikować, czy dane oprogramowanie działa poprawnie, sprawdzić działanie dostępnych funkcji i upewnić się, czy system spełnia wymogi stawiane przez klientów.
Przeczytaj także: Testowanie oprogramowania: co warto wiedzieć?
Czym jest scenariusz testowy?
Zacznijmy od definicji scenariusza testowego ISTQB. Według niej jest to:
„Dokument zawierający sekwencję działań wymaganych do wykonania testu. Znany również jako skrypt testowy lub manualny skrypt testowy”.
Tworzenie scenariusza testowego polega na:
- Identyfikacji scenariusza testowego
- Stworzeniu wykazu czynności przygotowawczych scenariusza testowego
- Stworzeniu wykazu przypadków testowych
- Stworzeniu wykazu czynności końcowych
Ale po co pisać scenariusz testowy? Przecież logowanie do aplikacji jest proste…
Często można się spotkać z opiniami osób, które twierdzą, że tworzenie tego typu dokumentacji, jaką jest scenariusz testowy, jest bezużyteczne. Argumenty? „Logowanie jest przecież dziecinnie proste, to jest rzecz oczywista, a rozpisywanie tego wszystkiego to strata czasu…”. Ja sam, pracując w branży testerskiej w różnych projektach, spotkałem się z tego typu tokiem myślenia.
Zalety posiadania scenariuszy testowych
Tworzenie dokładnych, przemyślanych, dobrze zaprojekowanych scenariuszy testowych jest jak najbardziej potrzebne i przynosi wiele korzyści. Najważniejsze z nich:
- przejrzyste scenariusze testowe są doskonałą pomocą dla nowo zatrudnionych w firmie testerów. Dzięki nim proces zapoznania się z daną aplikacją oraz wdrożenia do projektu jest o wiele szybszy,
- dobrze przygotowany scenariusz jest świetną podstawą do manualnych testów regresji (jeśli scenariusz nie jest zautomatyzowany). Trzymając się danego scenariusza, tester wykonuje zawsze te same kroki, co pozwala zachować powtarzalność testów. Bez scenariusza testowego byłoby trudno zapamiętać całą historię użytkownika i testowanie oprogramowania stałoby się chaotyczne,
- scenariusze testowe są często bazą do późniejszej automatyzacji danej historyjki użytkownika. W oparciu o taką dokumentację znacznie łatwiej jest implementować testy automatyczne z gwarancją, że nie pominie się ważnych części systemu.
Miniscenariusz testowy, czyli kilka słów o przypadkach testowych
W praktyce najczęściej spotykam się z sytuacją, że dana aplikacja jest na początkowym etapie rozwoju i dany scenariusz testowy opisuje np. tylko akcje logowania do systemu. Gdy taki scenariusz jest jeszcze na etapie, na którym są rozpisane tylko akcje logowania, to wówczas mamy do czynienia z przypadkiem testowym. Tym samym odpowiadam na częste pytanie początkujących testerów: „Co odróżnia przypadek testowy od scenariusza testowego?”.
Na kolejnych etapach projektu powstają coraz to nowsze historyjki użytkownika, więc istnieje potrzeba tworzenia kolejnych przypadków testowych. Przykładowa sytuacja: programiści dodali opcję zmiany hasła po zalogowaniu – powstaje kolejny przypadek testowy.
Wraz z rozwojem aplikacji powstaje coraz to więcej przypadków testowych, które po zebraniu tworzą dany scenariusz testowy – historyjkę użytkownika. Zbiór przypadków testowych będzie zatem niezbędny do realizacji danego scenariusza testowego celem sprawdzenia poprawności działania systemu w jakimś zakresie.
Przepis na przypadek testowy
Jeśli chodzi o formę przypadków testowych, często jest ona elastyczna, w zależności od danego projektu i klienta. Jednak przyjęło się, że przypadek testowy powinien zawierać następujące elementy:
- Tytuł, ID oraz informacje o testerze, który tworzy dany przypadek
- Krótki opis, wymagania biznesowe, do których się odnosi
- Warunki wstępne
- Kroki testowe
- Oczekiwany rezultat
Przykład scenariusza testowego
Scenariusze testowe mają elastyczne formy. Jedne są mniej rozbudowane, inne bardziej, na przykład zawierają dane testowe, informacje o środowisku testowym, statusy, etykiety itp.
Scenariusze testów: podsumowanie
Scenariusze testów są pomocne nie tylko w branży filmowej. Scenariusz testowy jest ważnym elementem codziennej pracy w wielu firmach dostarczających oprogramowanie na całym świecie. Dzięki nim testowanie aplikacji dla różnych platform jest wykonywane skutecznie, a ryzyko pojawienia się błędów w oprogramowaniu na etapie produktu końcowego znacząco maleje.