Revoluce v softwarovém testování: Model Based Testing a jeho benefity

19. května 2022

Pokud jste se dnes přihlašovali ke svému e-bankovnímu účtu nebo používáte populární platformu Spotify, pak je tu šance, že jste použili aplikaci, která na nejen počátku své existence prošla metodou softwarového testování zvanou Model Based Testing (MBT).

 

Pro koncové uživatele je důležité, aby aplikace či webové stránky vyhověly vysokým nárokům užívání. Vše by mělo být intuitivní i jednoduché na ovládání, fungovat bez života zpomalujících záseků, podporovat několik platforem a nakonec poskytnout měřitelnou návratnost na investici. MBT by právě mělo být onou intuitivní volbou. Ideálním příkladem jsou třeba CRM systémy, IoT, různé e-commerce projekty anebo právě internet banking…

Jak nám tedy MBT může pomoci?

Jak funguje Model Based Testing

U jakéhokoliv softwaru je vždy potřeba přesně definovat, jak se má v různých situacích a podmínkách chovat. Pro každé testování tým vytvoří ‘model’, kde jasně popíše všechny vstupy, akce, přechodové stavy i výstupy, které by měl v normálních podmínkách software zvládat. Příklad modelu je UML diagram, ze kterého se vygeneruje přímo spustitelný kód. V diagramech jsou popsány mimo jiné i různé rozhodovací podmínky, toky dat z vstupů na výstupy.

MBT lze provádět buď online nebo offline technikou. Při offline způsobu si testeři za pomocí modelů vytváří testovací data. Zde můžeme například využít metodu test analýzy zvanou Pairwise testing.

Oproti tomu se v online variantě generují data během samotného testování automatizovaných testů. Avšak nelze pak opomenout nutnou znalost programovacího či skriptovacího jazyka a samozřejmě jisté analytické schopnosti.

Nástroje MBT

Pro modelování existuje nespočet nástrojů, mezi které patří například Spec Explorer, fMBT, Modbat nebo Graphwalker. A právě poslední uvedený byl vybrán pro názornou ukázku toho, jak Model Based Testing funguje a jak ho lze integrovat do automatizovaných testů.

Harder, Better, Faster, Stronger 

Ano, je to odkaz na text písničky od Daft Punk, ale také přesné shrnutí (ne)výhod MBT metody.  

Pravda je, že MBT potřebuje více přípravné práce na začátku, tak aby z dlouhodobého hlediska snížila časové a finanční náklady napříč klidně i několika projektů a portfolií. Za touto přípravou  by měl být zkušenější tým testerů, který chápe metodu i modelování. Modely se totiž dají zaznamenat vizuálně, třeba na papír nebo do dokumentu, pro opětovnou použitelnost v jiných projektech.

 

Perfektní model by měli schopni pochopit i ne-testeři. Konečný přehled výhod a nevýhod MBT metody:


Výhody: 

  • Snižuje náklady: finanční* a časové,
  • Včasná detekce systémových chyb a nadbytečných dat
  • Jednoduchá údržba a přehled o testech
     
  • HBT systematicky pokryje více testovatelného obsahu
  • Testování organicky poroste s produktem (aplikací/webem) 
  • Kvalitní a uznávaná testovací metoda
     
  • Šťastnější tester🙂 i zákazník

*za celkový objem potřebných testů

Nevýhody: 

  • Nutnost údržby modelů
  • Pochopení modelů nemusí být vždy jednoduché
  • Vyšší nároky na technické a analytické schopnosti testerů
  • Může v počátcích zvýšit náklady

Závěrem

Pro mnohé organizace je Model Based Testing opravdu revolučním, protože jeho výhody zcela převažují počáteční výzvy k její správné aplikaci. Nejenže metoda poskytuje nejobsáhlejší pokrytí testovatelného obsahu a jednoduchou údržbu, ale svoje prvotní náklady převýší dlouhodobým snižováním potřebného času na testing či detekci systémových chyb. 

MBT dokáže automatizovat své procesy, kde ve výsledku testeři získají víc času na ostatní kritické úkony a koncový zákazník tak dostane do rukou kvalitnější software, který poslouží jak má.

Filip Kadlec 
Test Manager