Co to jest testowanie oparte na modelu?
Co to jest testowanie oparte na modelu?
Testowanie oparte na modelach to technika testowania oprogramowania, w ktรณrej zachowanie testowanego oprogramowania w czasie wykonywania jest sprawdzane z przewidywaniami modelu. Model to opis zachowania systemu. Zachowanie moลผna opisaฤ w kategoriach sekwencji wejลciowych, dziaลaล, warunkรณw, wynikรณw i przepลywu danych od wejลcia do wyjลcia. Powinien byฤ praktycznie zrozumiaลy i nadawaฤ siฤ do ponownego uลผycia; udostฤpniane muszฤ zawieraฤ dokลadny opis testowanego systemu.
Dostฤpnych jest wiele modeli opisujฤ cych rรณลผne aspekty zachowania systemu. Przykลadowe modele to:
- Przepลyw danych
- Kontrola przepลywu
- Grafy zaleลผnoลci
- Tabele decyzyjne
- Maszyny przejลcia stanรณw
Testowanie oparte na modelu opisuje, jak system zachowuje siฤ w odpowiedzi na dziaลanie (okreลlone przez model). Dostarcz dziaลanie i sprawdลบ, czy system reaguje zgodnie z oczekiwaniami.
Jest to lekka, formalna metoda walidacji systemu. Testowanie to moลผna zastosowaฤ zarรณwno do testowania sprzฤtu, jak i oprogramowania.
Przykลad testowania opartego na modelu
Powyลผszy model wyjaลnia uproszczone podejลcie do pisania wierszy w notatniku i moลผliwe dziaลania zwiฤ zane z kaลผdym krokiem. Za kaลผdฤ akcjฤ (jak rozpoczฤcie, wpisanie wiersza, zapisanie), Przypadek testowy moลผna wygenerowaฤ, a dane wyjลciowe moลผna zweryfikowaฤ.
Rodzaje MBT
Istniejฤ dwa typy frameworkรณw do testowania opartego na modelu:
- Offline / apriori: Generowanie zestawรณw testรณw przed ich wykonaniem. Zestaw testรณw to nic innego jak zbiรณr przypadkรณw testowych.
- Online / w locie: Generowanie zestawรณw testรณw podczas wykonywania testรณw
Rรณลผne modele w testowaniu
Aby zrozumieฤ czoลg podstawowy, konieczne jest zrozumienie niektรณrych modeli wyjaลnionych poniลผej. Przejrzyjmy je jeden po drugim:
Maszyny skoลczone
Model ten pomaga testerom oceniฤ wynik w zaleลผnoลci od wybranych danych wejลciowych. Rรณลผne kombinacje wejลฤ mogฤ skutkowaฤ odpowiadajฤ cym stanem systemu.
System bฤdzie miaล okreลlony stan i stan bieลผฤ cy, ktรณrym rzฤ dzi zestaw wejลฤ podanych przez testerรณw.
Rozwaลผmy przykลad-
Istnieje system umoลผliwiajฤ cy pracownikom logowanie siฤ do aplikacji. Obecnie stan pracownika to โOutโ, a po zalogowaniu siฤ do systemu zmieniล siฤ na โInโ. W stanie โwโ pracownik moลผe przeglฤ daฤ, drukowaฤ i skanowaฤ dokumenty w systemie.
Wykresy stanu
Jest rozszerzeniem skoลczonej maszyny stanowej i moลผe byฤ stosowana w zลoลผonych systemach czasu rzeczywistego. Diagramy stanรณw sลuลผฤ do opisywania rรณลผnych zachowaล systemu. Ma on okreลlonฤ liczbฤ stanรณw. Zachowanie systemu jest analizowane i przedstawiane w formie zdarzeล dla kaลผdego stanu.
Na przykลad -
Wady zgลaszane sฤ w narzฤdziu do zarzฤ dzania defektami ze statusem Nowe. Po naprawieniu problemu przez programistรณw naleลผy go zmieniฤ na status Naprawiony. Jeลli usterka nie zostanie naprawiona, zmieล status na Otwรณrz ponownie. Wykresy stanรณw powinny byฤ zaprojektowane w taki sposรณb, aby uwzglฤdniaลy wydarzenie dla kaลผdego stanu.
Ujednolicony jฤzyk modelowania (UML)
Ujednolicony jฤzyk modelowania (UML) to ustandaryzowany jฤzyk modelowania ogรณlnego przeznaczenia. UML zawiera zestaw technik notacji graficznej sลuลผฤ cych do tworzenia modeli wizualnych, ktรณre mogฤ opisaฤ bardzo skomplikowane zachowanie systemu.
UML ma takie notacje jak:
- Aktywnoลci
- Aktorzy
- Proces biznesowy
- Komponenty
- Jฤzyk programowania
Wyzwania zwiฤ zane z testowaniem opartym na modelu
Wdroลผenie MBT w kaลผdej organizacji wymaga oczywiลcie duลผych nakลadรณw inwestycyjnych i wysiลku. Poniลผej przedstawiono wady MBT w Inลผynieria oprogramowania.
- Niezbฤdne umiejฤtnoลci wymagane od testerรณw
- Czas krzywej uczenia siฤ bฤdzie dลuลผszy
- Sam model trudno zrozumieฤ
Zalety testowania modeli
Oto korzyลci pลynฤ ce z MBT:
- ลatwa konserwacja przypadku testowego/pakietu
- Redukcja kosztรณw
- Ulepszony zasiฤg testu
- Moลผna uruchomiฤ rรณลผne testy na n liczbie maszyn
- Wczesne wykrywanie usterek
- Wzrost liczby defektรณw
- Oszczฤdnoลฤ czasu
- Wiฤksza satysfakcja z pracy testera
Podsumowanie
Testerzy i tak konstruujฤ modele mentalne podczas testรณw. Te modele mentalne moลผna przeksztaลciฤ w modele na papierze. Pomaga to testerom osiฤ gnฤ ฤ czytelnoลฤ i moลผliwoลฤ ponownego uลผycia.
Testowanie oparte na modelach to nowe podejลcie do Testowanie oprogramowania. Poniลผej przedstawiono ewolucjฤ testowania oprogramowania โ





