Anonymizovaný projekt z praxe

Automatizace webových a výkonnostních testů od nuly

Klient neměl žádné automatizované testy, všechno se dělalo ručně. Bylo proto potřeba navrhnout celou architekturu řešení podle požadavků klienta.

  • Python
  • Selenium
  • Page Object Model
  • Apache JMeter

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ářů.

Potřebujete navrhnout nebo nahradit testovací automatizaci?

Stručně popište dnešní řešení, nejdůležitější scénáře a způsob, jakým chcete výsledky používat.