Východisková situácia
Klient potreboval opakovateľne overovať webové používateľské scenáre aj správanie systému pri záťaži, no nemal existujúcu automatizovanú sadu ani nič iné, na čo by sa dalo nadviazať.
Návrh a realizácia
Webová automatizácia bola vytvorená v Pythone so Seleniom a bol použitý design pattern Page Object Model.
Riešenie obsahovalo aj vlastnú logiku opakovania pre situácie, pri ktorých bolo rozumné odlíšiť náhodný technický problém od skutočného zlyhania. Opakovanie neprekrývalo výsledok testu: jeho úlohou bolo dodať k zlyhaniu lepší kontext.
Výkonnostné scenáre boli pripravené v Apache JMeter. Spolu išlo o desiatky webových a záťažových scenárov.
Spúšťanie a reportovanie
Tím klienta spúšťal testy podľa potreby. Reportovanie rešpektovalo jeho preferenciu jednoduchých textových výstupov: e-mail obsahoval stručný opis zlyhania a podrobný log z testu.
Pri záťažových testoch sa nesledoval iba čas odozvy. Vyhodnocovala sa stabilita pri záťaži a hľadali sa konkrétne úzke miesta medzi volaniami služieb.
Čo riešenie prinieslo
- Webové testy tím pravidelne používal na kontrolu kľúčových scenárov.
- Reporty poskytovali tímu prehľad o zlyhaniach a podrobné logy slúžili ako podklad na ich analýzu.
- Vďaka výsledkom výkonnostných testov klient odhalil úzke hrdlo, ktorého príčinu mohol následne odstrániť.
- Klient získal ucelené riešenie pre funkčné aj výkonnostné overovanie namiesto izolovaných skriptov.
- Automatizácia odľahčila tím manuálnych testerov tým, že znížila objem opakovaných kontrol webových scenárov.