Anonymizovaný projekt z praxe

Automatizácia webových a výkonnostných testov od nuly

Klient nemal žiadne automatizované testy, všetko sa robilo ručne. Bolo preto potrebné navrhnúť celú architektúru riešenia podľa požiadaviek klienta.

  • Python
  • Selenium
  • Page Object Model
  • Apache JMeter

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.

Potrebujete navrhnúť alebo nahradiť testovaciu automatizáciu?

Stručne opíšte dnešné riešenie, najdôležitejšie scenáre a spôsob, akým chcete výsledky používať.