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.