Growth is not an accident. It’s a perfect fit.

Naspäť na novinky

Referencia: SkyToll – Automatizácia prípravy Selenium Grid prostredí

Ako sme nahradením jednej Selenium inštancie distribuovaným Grid-om a automatizáciou nasadenia na MS Azure transformovali sekvenčné testovanie na paralelné s Infrastructure as Code prístupom.

O projekte

Pre spoločnosť SkyToll sme navrhli a implementovali prechod z jednej Selenium inštancie na škálovateľný Selenium Grid. Projekt zahŕňal návrh distribuovanej architektúry na MS Azure, vytvorenie automatizovaných skriptov pre nasadenie pomocou Infrastructure as Code prístupu a migráciu existujúcich PHP testovacích skriptov z jednoinštančného na paralelné grid prostredie.

Kľúčové výzvy

Pôvodný stav (AS-IS):

  • Testovanie prebiehalo v jednej Selenium inštancii so sekvenčným spúšťaním testov
  • Obmedzená kapacita testovania bez možnosti paralelizácie
  • Absentujúca škálovateľná infraštruktúra pre distribuované testovanie
  • Závislosť na jednom testovcom uzle bez redundancie

Implementované riešenie

  • Distribuovaná platforma: Prechod na Selenium Grid s možnosťou paralelného testovania
  • Infrastructure as Code: Automatizované skripty pre reprodukovateľné nasadenie celej grid infraštruktúry
  • Paralelizácia testov: Transformácia sekvenčného testovania na paralelné vykonávanie
  • Cloud-native prístup: Využitie Azure služieb pre optimálnu škálovateľnosť

Technické riešenie

Deployment a infraštruktúra

  • Cloud-native riešenie: Nasadenie na MS Azure
  • Automatizované nasadenie: Ansible skripty pre kompletne automatizované vytvorenie grid infraštruktúry
  • Škálovateľná architektúra: Hub-node topológia umožňujúca dynamické pridávanie testovacích uzlov
  • Paralelné vykonávanie: Možnosť súčasného spúšťania viacerých testov naprieč uzlami

Integrácie a nástroje

  • Selenium Grid: Centrálna koordinácia distribuovaného testovania namiesto jednej inštancie
  • PHP skripty: Migrácia existujúcich testovacích skriptov pre grid architektúru s podporou paralelizácie
  • MS Azure: Cloud platforma pre hosting a škálovanie
  • Ansible: Infrastructure as Code pre automatizované nasadenie celej infraštruktúry
  • DevOps nástroje: Automatizácia deployment procesov

Výsledky a prínosy

Operačné výhody

  • Paralelné testovanie: Možnosť paralelného behu viacerých testov naraz
  • Škálovateľnosť: Možnosť dynamického pridávania testovacích uzlov podľa potreby
  • Zvýšená kapacita: Odstránenie bottleneck jednej Selenium inštancie
  • Redundancia: Eliminácia závislosti na jednom testovcom uzle
  • Rýchle nasadenie: Automatizované skripty umožňujú rýchle vytvorenie nového grid prostredia

Technické benefity

  • Distribuovaná platforma: Prechod z monolitickej na distribuovanú testovaciu architektúru
  • Reprodukovateľnosť: Infrastructure as Code zabezpečuje konzistentné nasadenie
  • Cloud benefity: Využitie Azure služieb pre optimálny výkon a nákladovú efektívnosť

Výsledok: SkyToll získal moderné, škálovateľné testovacie prostredie s možnosťou paralelného behu testov, ktoré dramaticky zrýchlilo celý proces testovania a zvýšilo kapacitu bez závislosti na jednom uzle.

Poskytované služby