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

Testowanie oparte 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:

  1. Offline / apriori: Generowanie zestawรณw testรณw przed ich wykonaniem. Zestaw testรณw to nic innego jak zbiรณr przypadkรณw testowych.
  2. 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.

Maszyny skoล„czone

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.

Wykresy 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

Ujednolicony jฤ™zyk modelowania

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 โ€“

Ewolucja testowania oprogramowania

Podsumuj ten post nastฤ™pujฤ…co: