Výchozí situace
Klient potřeboval opakovaně ověřovat webové uživatelské scénáře i chování systému při zátěži, ale neměl existující automatizovanou sadu ani nic jiného, na co by bylo možné navázat.
Návrh a realizace
Webová automatizace byla vytvořena v Pythonu se Seleniem a byl použit design pattern Page Object Model.
Řešení obsahovalo také vlastní logiku opakování pro situace, kdy bylo vhodné odlišit náhodný technický problém od skutečného selhání. Opakování nezakrývalo výsledek testu: jeho úlohou bylo dodat k selhání lepší kontext.
Výkonnostní scénáře byly připraveny v Apache JMeteru. Celkem šlo o desítky webových a zátěžových scénářů.
Spouštění a reportování
Tým klienta spouštěl testy podle potřeby. Reportování respektovalo jeho preferenci jednoduchých textových výstupů: e-mail obsahoval stručný popis selhání a podrobný log z testu.
U zátěžových testů se nesledovala jen doba odezvy. Vyhodnocovala se stabilita při zátěži a hledala se konkrétní úzká místa mezi voláními služeb.
Co řešení přineslo
- Webové testy tým pravidelně používal ke kontrole klíčových scénářů.
- Reporty poskytovaly týmu přehled o selháních a podrobné logy sloužily jako podklad pro jejich analýzu.
- Díky výsledkům výkonnostních testů klient odhalil úzké hrdlo, jehož příčinu mohl následně odstranit.
- Klient získal ucelené řešení pro funkční i výkonnostní ověřování namísto izolovaných skriptů.
- Automatizace odlehčila týmu manuálních testerů tím, že snížila objem opakovaných kontrol webových scénářů.