Bevezetés az automatizált UI tesztelésbe

Mielőtt elmélyednénk az automatizált UI tesztelésben, ismerjük meg az alapfogalmakat.

A UI (User Interface) az alkalmazás kezelőfelülete, QA szakemberek szemszögéből az alkalmazás legkritikusabb komponense. A felhasználó ezt a felületet használja, ezzel áll interakcióban, a UI-on keresztül éri el az alkalmazás funkcióit legyen szó web-es, mobil, vagy desktop alkalmazásról.

UI tesztelésnek nevezzük azt a folyamatot, mely során az alkalmazás kezelőfelületét ellenőrizzük és kiértékeljük hogy az elvárásoknak megfelelően működjön.  Az ellenőrzés tárgyát képezheti pl.: UI munkafolyamat, navigáció, validáció, kalkuláció, vezérlő elemek stb.

Az agilis fejlesztési módszertan elterjedése és az automatizálási keretrendszerek megjelenése arra ösztönözte a fejlesztő csapatokat, hogy a hagyományos tesztelési módszerek mellett automatizált tesztelési eljárásokat is implementáljanak.

A következőkben az automatizált UI tesztelés alapjai, előnyei és kihívásai kerülnek bemutatásra.

 

Automatizált UI tesztelés

Automatizált UI tesztelés egy olyan technika, ahol a UI tesztelési folyamatot automatizálási eszközök és keretrendszerek segítségével hajtjuk végre. A manuális tesztelés során végrehajtott feladatok, úgy mint a feljebb említett UI munkafolyamat, navigáció, validáció, kalkuláció, vezérlő elemek ellenőrzése megvalósítható automatizálási eszközök és keretrendszerek felhasználásával.

Automatizált UI tesztelés segítségével többek közt lehetőségünk van:

  • szimulálni, végrehajtani és tesztelni az alkalmazás és a felhasználó közti interakciót
  • minden aktivitást automatikusan végrehajtani
  • integrálni a UI tesztelést a fejlesztési folyamatba
  • teszt eredményeket és jelentéseket generálni.

 

Automatizált UI tesztelés előnyei

Az automatizált UI tesztelés előnyei többek között:

  • Idő – manuális tesztekhez képest gyorsabban végrehajtható
  • Ráfordítás – alacsonyabb az erőforrás igénye, és hosszabb távon olcsóbb, mint a manuális tesztelés, bármikor újra lefuttatható
  • Pontosság – az ismétlődő feladatok esetén a manuális tesztelés során nagyobb a hibázás lehetősége, amit az automatizált tesztelés kiküszöböl
  • Újra felhasználhatóság – a meglévő tesztek újra alkalmazhatók további tesztek létrehozásához
  • Átláthatóság – pontosan lehet tudni, hogy „mit csinált” a teszt
  • Integrálhatóság – eredmények management eszközökbe való automatikus rögzítése.

 

Automatizált UI tesztelés kihívásai

Az automatizált UI tesztesés során az alábbi kihívásoknak kell megfelelni:

  • Kliensek széttagoltsága
    • A manapság elérhető számos eszköz, operációs rendszerek, böngészők és ezek kombinációi rendkívüli változatosságot eredményeznek
    • UI tesztelése ilyen széttagolt környezetben rendkívül nehéz
    • Átfogó teszteléshez kiterjedt tesztelői infrastruktúra szükséges
  • Sérülékeny tesztek/scriptek
    • A script pontosan olyan viselkedést szimulál, ami bele lett kódolva
    • Infrastruktúrát, szoftvert érintő apró változások a script(ek) sikertelen futtatásához vezethetnek
  • Magas kezdeti beruházás
    • Az átfogó teszteléshez szükséges tesztelői infrastruktúra kialakítása költséges, csak hosszabb távon várható a megtérülése
  • Mérnöki feladat
    • Az automatizált UI tesztelés technikailag összetett feladat, végrehajtásához programozási ismeretek szükségesek.

 

Konklúzió

Az automatikus UI tesztelés számos előnnyel jár, kihívásokat is tartogat, ugyanakkor felhasználásával a regressziós hibák nagy része kiküszöbölhető. A megfelelő tesztelési stratégia kiválasztása nagyban növeli a megvalósítás hatékonyságát.