Testowanie przejść między stanami z przykładem
⚡ Inteligentne podsumowanie
Testowanie przejść między stanami to technika „czarnej skrzynki”, która weryfikuje, jak aplikacja przechodzi między stanami w miarę zmiany warunków wejściowych. W tym samouczku wyjaśniono cztery części diagramu, różnice między diagramami stanów a tabelami oraz praktyczne przykłady ATM i logowania dla testerów.
Co to jest testowanie przejścia stanu?
Testowanie przejścia stanu to technika testowania typu „czarna skrzynka”, w której zmiany warunków wejściowych powodują zmiany stanu lub danych wyjściowych w testowanej aplikacji (AUT). Pomaga ona analizować zachowanie aplikacji w różnych warunkach wejściowych, a testerzy mogą podawać dodatnie i ujemne wartości wejściowe, rejestrując jednocześnie zachowanie systemu.
Opiera się na modelu, na którym zbudowany jest system i testy. Każdy system, w którym uzyskuje się różne wyniki dla tego samego wejścia — w zależności od tego, co wydarzyło się wcześniej — jest systemem o skończonej liczbie stanów. Technika testowania przejść między stanami jest pomocna, gdy trzeba… testować różne przejścia systemowe.
Kiedy stosować testowanie przejść między stanami
- Gdy tester testuje aplikację przy użyciu skończonego zbioru wartości wejściowych.
- Gdy tester testuje sekwencję zdarzeń, które mają miejsce w AUT, umożliwia to sprawdzenie zachowania aplikacji pod kątem sekwencji wartości wejściowych.
- Gdy testowany system zależy od zdarzeń lub wartości z przeszłości.
Kiedy nie należy polegać na testach przejścia między stanami
- Gdy testowanie nie jest wykonywane dla sekwencyjnych kombinacji wejść.
- Gdy testowanie ma na celu sprawdzenie różnych funkcjonalności, na przykład w przypadku testowania eksploracyjnego.
Cztery części diagramu przejścia stanu
Model transformacji państwa składa się z czterech głównych komponentów, opisanych poniżej.
1) Państwa do którego oprogramowanie może dotrzeć.
2) Przejście z jednego stanu do drugiego.
3) Wydarzenia które powodują przejście, takie jak zamknięcie pliku lub wypłata pieniędzy.
4) Działania wynikające z sytuacji kryzysowej, np. wyświetlenia komunikatu o błędzie lub otrzymania gotówki.
Diagram przejść stanów a tabela przejść stanów
Istnieją dwa główne sposoby przedstawiania lub projektowania przejść stanów: diagram przejść stanów i tabela przejść stanów.
| WYGLĄD | Schemat przejścia między stanami | Tabela przejść między stanami |
|---|---|---|
| Nazywane również | Wykres stanu / wykres | Tabela stanów |
| Reprezentacja | Boxes dla stanów, strzałki dla przejść | Siatka stanów (wiersze) i zdarzeń (kolumny) |
| Najlepiej do identyfikacji | Prawidłowe przejścia | Nieprawidłowe przejścia |
| Każda komórka pokazuje | Do | Stan osiągnięty po wystąpieniu zdarzenia |
Jak wykonać przejście między stanami (przykłady)
Przykład 1: Blokada kodu PIN bankomatu
Rozważmy funkcję systemu ATM, w której jeśli użytkownik trzy razy wprowadzi nieprawidłowe hasło, konto zostanie zablokowane.
W tym systemie, jeśli użytkownik wprowadzi prawidłowe hasło w którejkolwiek z pierwszych trzech prób, logowanie zostanie pomyślnie zakończone. Jeśli użytkownik wprowadzi nieprawidłowe hasło za pierwszym lub drugim razem, zostanie poproszony o jego ponowne wprowadzenie. Jeśli użytkownik wprowadzi nieprawidłowe hasło po raz trzeci, konto zostanie zablokowane.
Diagram przejścia między stanami (przykład 1)
Na diagramie, za każdym razem, gdy użytkownik wprowadzi poprawny kod PIN, przechodzi do stanu „Access Granted” (Udzielono dostępu). Jeśli wprowadzi nieprawidłowe hasło, przechodzi do kolejnej próby, a jeśli zrobi to po raz trzeci, osiąga stan „Account Blocked” (Zablokowano konto).
Tabela przejść stanów (przykład 1)
| Miasto | Poprawny PIN | Nieprawidłowy PIN |
|---|---|---|
| S1) Rozpocznij | S5 | S2 |
| S2) 1. próba | S5 | S3 |
| S3) 2. próba | S5 | S4 |
| S4) 3. próba | S5 | S6 |
| S5) Dostęp przyznany | - | - |
| S6) Konto zablokowane | - | - |
W tabeli, po wprowadzeniu przez użytkownika prawidłowego kodu PIN, stan przechodzi do S5 (dostęp udzielony). Jeśli użytkownik wprowadzi nieprawidłowe hasło, przechodzi do następnego stanu, a po trzeciej błędnej próbie osiąga stan zablokowania konta.
Przykład 2: Logowanie do rezerwacji lotów
Na ekranie logowania rezerwacji lotów należy wprowadzić prawidłową nazwę agenta i hasło, aby uzyskać dostęp wniosek o rezerwację lotu.
Wykres przejścia stanu
Aplikacja pozwala na trzy próby; jeżeli użytkownik wprowadzi nieprawidłowe hasło przy czwartej próbie, system automatycznie zamknie aplikację.
Wykres stanu pomaga określić prawidłowe przejścia do przetestowania. Testowanie zarówno z poprawnym, jak i niepoprawnym hasłem jest obowiązkowe, a dla scenariusze testoweMożna przetestować logowanie za drugą, trzecią lub czwartą próbą. Można użyć tabeli stanów, aby zidentyfikować nieprawidłowe przejścia systemowe.
W tabeli stanów wszystkie prawidłowe stany są wymienione po lewej stronie, a zdarzenia, które je powodują, u góry. Każda komórka pokazuje stan, do którego system przechodzi po wystąpieniu zdarzenia. Na przykład, w stanie S1, poprawne hasło prowadzi do S6 (Dostęp udzielony); błędne hasło przy pierwszej próbie prowadzi do S3 (Druga próba). W ten sam sposób można określić wszystkie pozostałe stany.
Za pomocą tej metody wyróżniane są dwa nieprawidłowe stany. Załóżmy, że jesteś w stanie S6 (jesteś już zalogowany) i otwierasz kolejną instancję rezerwacji lotu i wpisujesz hasła dla tego samego agenta. Należy przetestować reakcję systemu w takim scenariuszu.
Zalety i wady techniki przejścia stanu
| Zalety | Wady |
|---|---|
| Zapewnia graficzną lub tabelaryczną reprezentację zachowania systemu,ping testerzy muszą znać i skutecznie obsługiwać system. | Nie można na nim polegać w każdej sytuacji — na przykład nie nadaje się do systemów, które nie są skończone lub sekwencyjne. |
| Umożliwia testerowi sprawdzenie, czy wszystkie warunki zostały spełnione, a wyniki przechwycone. | Wymaga zdefiniowania wszystkich możliwych stanów. Działa to w przypadku małych systemów, ale nie sprawdza się w przypadku większych ze względu na wykładniczy wzrost liczby stanów. |






