Testowanie przypadków użycia z przykładami
⚡ Inteligentne podsumowanie
Testowanie przypadków użycia (Use Case Testing) weryfikuje transakcje typu end-to-end poprzez badanie interakcji między aktorem a systemem. Technika ta napędza przypadki testowe na poziomie systemowym i akceptacyjnym, wykrywa luki integracyjne i uzupełnia kontrole na poziomie jednostki o realistyczne przepływy pracy użytkowników.

Co to jest testowanie przypadków użycia?
Testowanie przypadków użycia To technika testowania oprogramowania, która identyfikuje przypadki testowe obejmujące cały system, transakcja po transakcji, od początku do końca. Przypadki testowe opisują interakcje między użytkownikami a aplikacją. Testowanie przypadków użycia ujawnia luki, które mogłyby nie zostać wykryte podczas testowania poszczególnych komponentów oprogramowania w izolacji.
A przypadek użycia W testowaniu to krótki opis konkretnego sposobu wykorzystania oprogramowania przez aktora lub użytkownika. Przypadki użycia są pisane na podstawie działań użytkownika i odpowiadających im reakcji aplikacji i są szeroko wykorzystywane do wyprowadzania… przypadki testowe na poziomie systemowym i akceptacyjnym.
Kluczowe elementy przypadku użycia
Każdy przypadek użycia jest zbudowany z tego samego zestawu bloków konstrukcyjnych. Znajomość poszczególnych elementów z góry ułatwia zaprojektowanie pokrycia, które dokładnie odpowiada przypadkom testowym:
- Aktor: Użytkownik lub system zewnętrzny inicjujący interakcję. Reprezentowany jako „A” w przepływach tekstowych.
- System: Oprogramowanie testowane, które reaguje na działanie aktora. Reprezentowane jako „S”.
- Warunki wstępne: stan, w jakim musi znajdować się system, aby można było rozpocząć przypadek użycia.
- Główny scenariusz sukcesu: sekwencja szczęśliwych kroków aktora i systemu.
- Rozszerzenia / alternatywne przepływy: gałęzie obsługujące wyjątki, błędy walidacji lub alternatywne wybory.
- Warunki końcowe: stan, w jakim system pozostaje po zakończeniu przypadku użycia.
Jak przeprowadzić testowanie przypadków użycia: przykład
W przypadku użycia aktor jest reprezentowany przez „A”, a system przez „S”. Poniższy przykład opisuje funkcjonalność logowania w aplikacji internetowej.
| Główny scenariusz sukcesu | Krok | OPIS |
|---|---|---|
| A: Aktor S: System | 1 | A: Wprowadź nazwę agenta i hasło |
| 2 | S: Sprawdź hasło | |
| 3 | S: Zezwól na dostęp do konta | |
| Rozszerzenia | 2a | Hasło jest nieprawidłowe S: Wyświetl komunikat i poproś o ponowną próbę (do 4 razy) |
| 2b | Hasło nieprawidłowe 4 razy S: Zamknij aplikację |
Powyższy schemat opisuje jedną szczęśliwą ścieżkę i dwa rozszerzenia. Czytając go krok po kroku:
- Pierwszym krokiem całego procesu logowania jest podanie przez aktora adresu e-mail i hasła.
- System weryfikuje hasło.
- Jeśli hasło jest prawidłowe, dostęp zostanie przyznany.
- Jeśli hasło jest nieprawidłowe, system wyświetla komunikat i monituje o maksymalnie cztery ponowne próby wprowadzenia hasła.
- Jeśli po czterech próbach podanie hasła pozostanie nieprawidłowe, system zablokuje dalsze próby (w tym przykładzie blokując adres IP).
Na podstawie tego przypadku użycia przetestowałbyś scenariusz powodzenia plus jeden przypadek dla każdego rozszerzenia. To daje co najmniej trzy przypadki testowe: prawidłowe logowanie, odzyskiwalne nieprawidłowe hasło i blokadę po wielokrotnych błędach.
Zalety testowania przypadków użycia
Testowanie przypadków użycia naturalnie wpisuje się w wymagania i przypadki testowe. Główne zalety to:
- Kompleksowe pokrycie: testuje transakcje w obrębie modułów, a nie izolowanych funkcji.
- Walidacja skoncentrowana na użytkowniku: każdy scenariusz odzwierciedla sposób, w jaki rzeczywisty aktor korzysta z systemu.
- Usuń traczdolność: przypadki użycia są bezpośrednio odwzorowywane na kryteria akceptacji dla interesariuszy.
- Zapobieganie wadom: ujawnia luki integracyjne przed rozpoczęciem cykli regresji.
- Artefakty wielokrotnego użytku: ten sam przypadek użycia jest wykorzystywany w przypadkach testowych, materiałach szkoleniowych i dokumentacji użytkownika.
Ograniczenia testowania przypadków użycia
Ta technika jest skuteczna, ale nie wyczerpująca. Należy pamiętać o następujących ograniczeniach:
- Nie zastępuje testów jednostkowych: usterki komponentów niskiego poziomu nadal wymagają ukierunkowanych testów.
- Zależy od dokładnych przypadków użycia: niejednoznaczne przepływy powodują niejednoznaczne testy.
- Ograniczone w przypadku pokrycia niefunkcjonalnego: wydajność, bezpieczeństwo i dostępność wymagają własnych technik.
- Koszty utrzymania: przypadki użycia muszą być aktualizowane w miarę zmian reguł biznesowych.

