Jak napisać dobry scenariusz testów?

Jak napisać dobry scenariusz testów?

Scenariusz testów to szczegółowy zapis dotyczący interakcji użytkownika z oprogramowaniem. Odgrywa on istotną rolę w doskonaleniu przypadków testowych. Czym konkretnie jest scenariusz testowy? Czym różni się od przypadków testowych? Jak go dobrze napisać? Odpowiedzi na te i wiele innych pytań dotyczących scenariuszy testowych znajdziesz w dalszej części artykułu. 

 

 

Scenariusz testów — co to jest?

 

Scenariusz testowy,  zwany czasem też specyfikacją procedury testowej, jest dokumentacją przypadku użycia. Innymi słowy, opisuje działanie, które użytkownik może wykonać na aplikacji. Czasami może również opisywać sytuację, w jakiej może się znaleźć użytkownik, podczas korzystania z danego oprogramowania.

 

Scenariusze testowe są tworzone w celu zapewnienia, że ​​każda funkcja oferowana przez aplikację działa zgodnie z oczekiwaniami. Aby stworzyć dokładne scenariusze testowe, najlepiej zebrać dane wejściowe od klientów, interesariuszy i programistów. Pomoże to skutecznie uwzględnić wszystkie możliwe scenariusze użytkownika i umożliwi kompleksowe testowanie wszystkich przepływów biznesowych danego oprogramowania.

 

Scenariusze testowe są wymagane do weryfikacji całego systemu z perspektywy użytkownika. Tworząc je, testerzy powinni postawić się na miejscu użytkowników, aby mieć jasność co do rzeczywistych scenariuszy, które oprogramowanie będzie musiało obsłużyć po wypuszczeniu do użytku.

 

Scenariusz testów — w jakim celu się go tworzy?

 

Scenariusze testowe umożliwiają weryfikację poprawności testowanego oprogramowania oraz sprawdzenie, czy procesy biznesowe założone w specyfikacji projektu zostały poprawnie zaimplementowane. Innymi słowy, jest to szereg czynności, które pozwalają na przeprowadzenie testu.

 

Poprawnie przygotowany scenariusz testów pomaga zapewnić pełne pokrycie testami, gdyż scenariusze testowe muszą w optymalnym przypadku zostać zatwierdzone przez analityków biznesowych, programistów i potencjalnych klientów (najlepiej przez grupę kontrolną). Tak naprawdę obejmują one wszystko, co należy przetestować jeszcze przed wypuszczeniem oprogramowania.

 

Scenariusz testów pomaga też oszacować wymagany nakład pracy przy testowaniu, a także odpowiednio zorganizować proces testowania. Może on również służyć jako propozycja dla klienta. Ponadto pomaga zidentyfikować najważniejsze przepływy użytkowników, co jest przydatne  w organizacji działań testowych zgodnie z priorytetami.

 

Scenariusz testów a przypadek testowy — czym się różnią?

 

Czasem spotkać można zamienne stosowanie nazw scenariusza testowego i przypadku testowego, jednak jest to błąd. Najważniejszą różnicą pomiędzy tymi dwoma zagadnieniami jest to, że na scenariusz testowy składa się wiele przypadków testowych. Można go porównać do apteczki z przyborami służącymi do udzielenia pierwszej pomocy. Apteczka jest scenariuszem testowym, a poszczególne bandaże, plastry i leki to przypadki testowe. Scenariusz testowy opatrzenia rany składałby się więc z przypadków testowych takich jak: oczyszczenie miejsca zranienia, naklejenie plastra, bądź założenie bandażu itd.

 

Scenariusze testów, zawierają więc wiele pogrupowanych  przypadków testowych i sekwencji, które dodatkowo mogą być rozdzielone na różne warianty zachowań użytkowników testowanego produktu.

 

Kiedy nie stosuje się scenariuszy testów?

 

Scenariusze testowe odgrywają kluczową rolę w odniesieniu sukcesu przez produkt wysokiej jakości, jednak w niektórych przypadkach nie są one konieczne. Kiedy nie piszemy scenariuszy testów? Oto niektóre przykłady takich sytuacji.

 

  • Testowana aplikacja jest niestabilna, sprawia trudności, a ilość czasu na testy jest ograniczona. Tworzenie szczegółowych scenariuszy testowych wymaga czasu, a tworzenie ich dla niestabilnego oprogramowania nie ma sensu, ponieważ będą się one zmieniać wraz ze stabilizacją oprogramowania.

 

  • W projektach metodologii zwinnej, takich jak Scrum i Kanban.

 

  • Podczas wdrażania poprawek błędów lub testów regresji. W takich przypadkach nie tworzymy scenariuszy testowych, tylko po prostu korzystamy z wcześniej napisanych przypadków testowych.

 

Scenariusz testów — jak go dobrze napisać?

 

Napisanie dobrego scenariusza testowego w początkowej fazie rozwoju pozwala zaoszczędzić sporo czasu w kolejnych etapach. Poniżej podajemy pięć podstawowych kroków, jakie należy podjąć, by stworzyć dobry scenariusz testów.

 

    1. Podaj nazwę, opis i niezbędne informacje dla każdego przypadku testowego.

Ten pierwszy drobny krok to dobra praktyka, która pozwala od razu zweryfikować, o co chodzi w konkretnym przypadku testowym. Ułatwia odnalezienie się w scenariuszu testerom, którzy nie brali udziału w projektowaniu przypadków testowych, a także tym, którzy przykładowo stworzyli scenariusz, ale odłożyli go do pracy nad innym projektem. Każdy przypadek powinien zawierać krótki, ale zrozumiały opis wszystkich informacji pozwalających odpowiedzieć na pytanie „Co chcę przetestować?”, określić założenia i warunki wstępne, niezbędne do wykonania testu, a także zawierać dane testowe, konieczne  do jego wykonania.

    1. Napisz przypadki dla użytkownika końcowego. Budując scenariusz testowy, postaw się na miejscu użytkownika końcowego. Dobry scenariusz testowy powinien obejmować jak najwięcej ścieżek, którymi może przejść potencjalny użytkownik aplikacji. Dlatego ważne jest częste kontaktowanie się z klientem, aby jak najlepiej zrozumieć koncepcję produktu, a także zapewnić jak najlepsze wrażenia podczas korzystania z niego, gdy wreszcie aplikacja będzie używana przez klienta.
    1. Pogrupuj przypadki testowe. Scenariusze testowe są często budowane w arkuszach kalkulacyjnych. Ponieważ w scenariuszu pojawia się coraz więcej przypadków testowych, znalezienie wszystkich istotnych informacji w arkuszu kalkulacyjnym może być problematyczne. Obecnie istnieje wiele narzędzi do bardziej efektywnego zarządzania scenariuszami testowymi, takich jak np. oprogramowanie do mapowania myśli. Po zakończeniu tworzenia scenariusza konieczne jest dokładne przeanalizowanie tego, co udało się stworzyć. Należy zastanowić się, czy — scenariusz jest wystarczająco dobry, pozwala zweryfikować wymagania projektowe, przypadki są łatwe do zrozumienia i wykonania przez testera oraz można je ponownie wykorzystać?
    1. Korzystaj z uniwersalności przypadków testowych. W kolejnych (nowych) projektach można wykorzystać niektóre przypadki testowe ze scenariuszy, które zostały stworzone wcześniej w poprzednich projektach. Często podczas pisania scenariusza można również wykorzystać część przypadku testowego, która została już napisana w scenariuszu dla zupełnie innego przypadku testowego. 

Biorąc pod uwagę, że liczba przypadków testowych rośnie wraz z każdą nową funkcjonalnością oraz ze względu na ograniczenia czasowe i budżetowe, ogromnym wyzwaniem jest stworzenie uniwersalnego scenariusza testowego, który zapewni 100% pokrycie testami obszarów aplikacji. Sprawne przygotowanie scenariuszy testowych to umiejętność, którą można nabyć tylko poprzez praktykę. Jeśli podczas tworzenia scenariuszy testowych postawisz się na miejscu użytkownika końcowego, jesteś na dobrej drodze. 

 

Istotną kwestią jest także ustalenie priorytetów działań. W tym celu należy przeanalizować funkcjonalności w systemie i określić, które z nich są kluczowe. Testowanie priorytetowe znacznie zmniejszy wysiłek poświęcony na testy regresywne, które są wykonywane w celu zweryfikowania, czy zmiany w oprogramowaniu spowodowały błędy i czy jakość opracowanych rozwiązań sprawi, że użytkownicy będą chcieli skorzystać z testowanego produktu.

 

  1. Wyślij scenariusze testowe do przełożonego w celu ich przejrzenia i oceny, a następnie przekaż je do przeglądu innym zainteresowanym stronom zaangażowanym w projekt.

 

Praktyczne wskazówki przy tworzeniu scenariuszy testów

 

  • Dla uproszczenia utwórz jeden scenariusz testowy dla jednego wymagania lub historii użytkownika.

 

  • Jeśli jeden scenariusz testowy musi uwzględniać wiele wymagań, upewnij się, że każde wymaganie zostało wcześniej sprawdzone oddzielnie. W przeciwnym razie łatwo będzie pominąć niektóre funkcje.

 

  • Jeśli okaże się, że liczba scenariuszy testowych jest zbyt duża lub zbyt kosztowna do wykonania, ustal priorytety, w oparciu o preferencje klientów.

 

Podsumowując, opracowanie scenariuszy testów i ich zrozumienie jest ważnym etapem testów  i poprawia jakość produktu. Scenariusze testowe umożliwiają weryfikację poprawności testowanego oprogramowania. Ponadto sprawdzają, czy procesy biznesowe założone w specyfikacji produktu zostały poprawnie zaimplementowane. Dzięki temu szeregowi czynności, możliwe jest poprawne przeprowadzenie testów produktu.

 

Notatka o autorze:

Zajmuję się testowaniem, zabezpieczaniem i zapewnianiem jakości oprogramowania od ponad 13 lat. Rozpocząłem swoją karierę od testów manualnych i analizy biznesowo-technicznej. Obecnie prowadzę firmę Quality Island, która zajmuje się szeroko pojętym testowaniem oprogramowania oraz szkoleniami dla przyszłych i obecnych testerów oprogramowania. Moją specjalnością są testy automatyczne aplikacji webowych oraz budowa procesów automatyzacji i robotyzacji. Od 8 lat prowadzę aktywnie szkolenia oraz konsultacje z tych tematów i wykonuję zlecenia dla firm trzecich jako konsultant, ekspert oraz audytor. Współpracuję również z firmami jako osoba do rekrutacji i weryfikacji technicznych. Interesują mnie głównie tematy związane z architekturą IT oraz zagadnienia DevOps/TestOps, ponieważ ściśle wiążą się z zapewnianiem jakości oprogramowania.

 

Tomasz Stelmach

CEO&Founder

 

0 komentarzy

Wyślij komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *