Sobes.tech
Junior

Czym jest test oparty na scenariuszach użytkowania?

sobes.tech AI

Odpowiedź od AI

Testy scenariuszy użytkowania (testowanie przypadków użycia) to technika projektowania testów oparta na opracowywaniu przypadków testowych (test-case) na podstawie opisów interakcji użytkownika z systemem. Skupia się na sprawdzaniu funkcjonalności systemu z punktu widzenia końcowego użytkownika, symulując typowe sekwencje działań, które użytkownik wykonuje, aby osiągnąć określony cel.

Główne cechy:

  • Podstawa: scenariusze użycia (use cases) lub historie użytkownika (user stories).
  • Cel: sprawdzenie, czy system spełnia opisane w scenariuszach użycia wymagania funkcjonalne.
  • Skupienie: na interakcji użytkownika z systemem i przepływach danych.
  • Wynik: zestaw przypadków testowych obejmujących zarówno główne ("happy path"), jak i alternatywne oraz wyjątkowe przepływy.

Etapy:

  1. Identyfikacja scenariuszy użycia.
  2. Opracowanie opisów scenariuszy (warunki wstępne, kroki, warunki końcowe).
  3. Definicja głównych, alternatywnych i wyjątkowych przepływów.
  4. Opracowanie przypadków testowych dla każdego przepływu.
  5. Wykonanie przypadków testowych i analiza wyników.

Przykład (fragment scenariusza "Logowanie użytkownika"):

Krok Działanie System
1 Użytkownik otwiera stronę logowania. Wyświetla się formularz logowania i hasła.
2 Użytkownik wpisuje poprawny login.
3 Użytkownik wpisuje poprawne hasło.
4 Użytkownik klika przycisk "Zaloguj się". System weryfikuje dane logowania.
5 Użytkownik jest przekierowywany na stronę główną.

Typy przepływów:

  • Główny przepływ (Main Flow): Idealna sekwencja działań w przypadku powodzenia scenariusza.
  • Alternatywny przepływ (Alternative Flow): Odmiana głównego przepływu, prowadząca do sukcesu, ale przez inne kroki (np. logowanie przez media społecznościowe).
  • Wyjątkowy przepływ (Exceptional Flow): Sytuacja, gdy wykonanie scenariusza kończy się błędem lub niepełnym wynikiem (np. błędne hasło).

Zalety:

  • Skupienie na potrzebach użytkownika.
  • Kompleksowe pokrycie funkcjonalności.
  • Pomaga wykryć błędy w interakcji między komponentami.
  • Przypadki testowe są łatwe do zrozumienia i użycia dla wszystkich uczestników projektu.