2012. július 10.

Weboldalak és webalkalmazások funkcionális tesztélese

10 perc olvasási idő

Weboldalak és webalkalmazások funkcionális tesztélese

Webes fejlesztésekkor elkerülhetetlen a már kész funkciók, folyamatok tesztelése, a hibák kiküszöbölése, valamint a működés finomhangolása. Legyen ez egy egyszerű regisztrációs vagy bejelentkezési űrlap, vagy akár egy webáruház rendelési folyamata. Egy-egy ilyen tesztelés elég időigényes tud lenni (emiatt sokan nyűgnek is érzik), gondoljunk csak bele, egy rendelés esetén ki kell keresnünk a terméket, a kosárba helyezni, majd a megrendelés űrlapot kitölteni, elküldeni (név, email cím, telefonszám, szállítási és fizetési mód, illetve a számlázási és fizetési cím megadása), így hasznos lenne, ha ezt automatizálni tudnánk.

A Selenium

Erre nyújt megoldást a Selenium nevű eszköz, amely már szinte a weboldalak funkcionális tesztelésének de facto szabványává vált.
Többféleképpen használhatjuk, létezik szerver oldali változata, illetve különböző programnyelvekhez kliens programkönyvtárak, ezen kívül készítettek egy Firefox kiterjesztést, mely a böngészőnkbe épülve segít nekünk bizonyos folyamatok, események rögzítésében, majd később bármikori megismétlésében.
Az utóbbiról fogok most írni, egy gyakorlati példán keresztül bemutatva a használatát.

Telepítés

A Selenium hivatalos oldaláról tudjuk letölteni magát a Firefox kiterjesztést. Érdemes átböngésznünk a weboldalt, egy elég részletes dokumentáció található róla, ebben a bejegyzésben csak az elinduláshoz szükséges információkat fogjuk kitárgyalni.
Letöltés után a Firefox megkérdezi, hogy szeretnénk-e telepíteni a bővítményt, ennek elfogadása, majd a böngésző újraindítása után használatba is vehetjük.

Firefox plugin telepítés képernyőkép

Egy példa: webáruház rendelési folyamata

Az eszköz használatát egy általunk fejlesztett webáruházon keresztül fogom bemutatni, laptopot fogunk rendelni.
Első lépésként nyissuk meg a Firefox-ot, és írjuk be a weboldalunk címét. Ezek után ha kiválasztjuk az Eszközök/Selenium IDE menüpontot, egy új ablakban meg kell nyíljon a Selenium.

Selenium felülete képernyőkép

Az ablak főbb részei

  • A fenti részben találhatók a teszt rögzítéséhez illetve visszajátszásához kapcsolódó gombok. A jobb oldalt található gombra kattintva tudunk egy tesztesetet rögzíteni, a bal oldalt található zöld gombok segítségével pedig visszajátszani, szüneteltetni, léptetni, illetve szabályozni a teszt sebességét.
  • Bal oldalt találhatóak a teszteseteink felsorolása, alattuk pedig a sikeresen és sikertelenül lefutott tesztek száma.
  • A középső legnagyobb helyet elfoglaló részen látható, hogy az adott tesztesetekben milyen műveleteket végzünk el.
  • Az alsó sávban láthatjuk a naplóbejegyzéseket, illetve információkat kaphatunk bizonyos műveletekről, felületi elemről.

Miután megismerkedtünk az ablakkal, térjünk is rá a használatára. Én a példában a következőket fogom elvégezni:

  • keresek egy notebookot
  • a kosárba helyezem
  • továbbnavigálok a megrendelés űrlapra
  • a megrendelés űrlap mezőinek kitöltése utána elküldöm a megrendelésem

Acer shop vizsgálata Seleniummal képernyőkép

Ezt a folyamatot végigcsinálni nekem 7 percembe került, a képen jól látszik, ahogy a Selenium rögzíti a tevékenységemet, majd listázza az ablak középső részén.
Ha visszatérünk a weboldalunk kiinduló állapotába, a „Play” gomb segítségével futtathatjuk a tesztünket, ami így fél perc alatt kész.
A teszthez további parancsokat is adhatunk kézzel, ezekről részletesen írnak a projekt dokumentációjában, leellenőrizhetük például bizonyos HTML elemek meglétét, az oldal címét, szövegeket, kattintást, szöveg gépelését emulálhatjuk.

Összegzés

Ahogy a példából is láthatjuk, ezt a rendelési folyamatot végigcsinálni 7 percig tartott, és egy fejlesztés folyamán ezt legalább 20-30 alkalommal megismételjük. Ha számolunk egy kicsit, legalább 3 és fél órát töltünk el gombok nyomkodásával és űrlapmezők kitöltésével. Ez nem csak hogy fárasztó és időigényes, de könnyen belefásul az ember, akarva-akaratlanul, észrevétlenül, és ennek következtében kijavítatlanul hagyva hibákat.
Érdemes tehát minden webfejlesztőnek vagy tesztelőnek feltelepítenie és egyszer kipróbálnia, hogy kiderüljön, hogyan tudja a munkafolyamataiba integrálni, illetve miként tudja hatékonyabbá tenni a tesztelés folyamatát.

További cikkek, linkek a témában

Kacsándi Zsolt

Szakterülete a webalkalmazások fejlesztése, fejlesztési folyamatok hatékonyságának növelése és a minőségbiztosítás, de igyekszik képben lenni a fejlesztést körülvevő egyéb folyamatokban is.

fps ecosystem

Hozzászólások