4. Testowanie przejść między stanami
(ang. state transition testing) umożliwia weryfikację zdolności oprogramowania do wchodzenia w zdefiniowane stany i wychodzenia z nich poprzez poprawne i niepoprawne przejścia. W reakcji na zdarzenia oprogramowanie zmienia stan i wykonuje działania.
Zdarzenia mogą mieć dodatkowy kwalifikator warunku (nazywany czasem warunkiem dozoru albo warunkiem sprawdzającym przejścia), który wpływa na wybór ścieżki przejścia.
Do śledzenia przejść pomiędzy stanami używa się albo diagramu przejść pomiędzy stanami, który przedstawia w postaci graficznej wszystkie poprawne przejścia pomiędzy stanami, albo tablicy stanów, która zawiera wszystkie możliwe przejścia, zarówno poprawne, jak i niepoprawne.
Aby stworzyć prosty diagram przejść pomiędzy stanami, wystarczy zidentyfikować i określić:
listę stanów
możliwe przejścia między stanami
Stan (ang. state)
reprezentuje określone warunki, w jakich znajduje się obiekt lub status, jaki może on posiadać. Stany wykluczają się nawzajem – obiekt może być w określonym czasie tylko w jednym stanie. Aby je zidentyfikować, należy przeanalizować dziedzinę biznesową (problemową).
Obiekt powinien posiadać:
stan początkowy (np. utworzony, nowy)
stany pośrednie (np. zatwierdzony, oczekujący)
stan końcowy (np. usunięty, zakończony)
Przejście (ang. transition)
reprezentuje zachowanie, które powoduje zmianę stanu obiektu (z określonego stanu do jednego ze stanów możliwych dla niego do osiągnięcia). Przejścia mogą być wyzwalane przez zakończone aktywności, zdarzenia czy inne wyzwalacze, ale tylko te, na które odpowiada obiekt będąc w danym stanie.
Obszar zastosowania - można zastosować w przypadku każdego oprogramowania o zdefiniowanych stanach, w którym występują zdarzenia powodujące przejścia pomiędzy tymi stanami (np. przejścia na inny ekran aplikacji):
oprogramowanie wbudowane
strony WWW i transakcyjne
systemy sterowania, np. sterowniki sygnalizatorów świetlnych.
Testowanie przejść pomiędzy stanami sprawdza się na wszystkich poziomach testowania.
Przykład
Diagram
Stany - żółte kółka; Przejścia – strzałki; Zdarzenia, zakończone aktywności - opisy przy przejściach.
Przypadki testowe dla przykładowego diagramu:
TC1 – włożenie karty, oczekiwanie na wpisanie PINu, poprawny PIN jest wpisany za pierwszym razem i uzyskujemy dostęp do konta
TC2 – włożenie karty, oczekiwanie na wpisanie PINu, niepoprawny PIN jest wpisany 3 razy i karta zostaje zatrzymana
TC3 – włożenie karty, oczekiwanie na wpisanie PINu, niepoprawny PIN jest wpisany 1 raz, następnie jest wpisany poprawny PIN i uzyskujemy dostęp do konta
TC4 – włożenie karty, oczekiwanie na wpisanie PINu, niepoprawny PIN jest wpisany 2 razy, następnie jest wpisany poprawny PIN i uzyskujemy dostęp do konta
Tablica stanów
zawiera wszystkie możliwe przejścia, zarówno poprawne, jak i niepoprawne, na przykład:
PIN prawidłowy
PIN nieprawidłowy
S1 - Start
S2
S2
S2 - Oczekiwanie na PIN
S3
S3
S3 - 1 próba
S6
S4
S4 - 2 próba
S6
S5
S5 - 3 próba
S6
S7
S6 – Dostęp do konta
-
-
S7 – Karta zatrzymana
-
-
Last updated
Was this helpful?