![]() | ![]() | |||||||||
![]() |
||||||||||
![]() |
![]() |
![]() |
![]() |
![]() |
||||||
Automatizált tesztelés Android alkalmazásokon
Az utóbbi években, a hordozható készülékek beköszöntésével, az emberek
nagy számban váltottak mobil eszközökre a mobilitásuk, és könnyű
használatuk miatt. Az elmúlt években az Android vált a mobil eszközök
vezető platformjává. Google termék lévén nagy marketingnek örvend, és
ebből következően sok ügyfél használja. A másik fő ok a hatalmas
népszerűség mögött a nyílt forráskód és a számtalan fejlesztői
közösség, amely alkalmazások ezreit készíti naponta. Az Android egy
Java alapú alkalmazás platform Linux kernel-lel. Saját fordítója a
Delvik az, ami az Android alkalmazás kódjait gépi kóddá alakítja. Az Android alkalmazások újdonsága, és sajátosságaAz Android alkalmazások több szempontból sem olyanok, mint a megszokott alkalmazások. Az Android alkalmazások tipikus összetevői például az emberi tevékenységek (mozgások), vagy a tartalomszolgáltatók és különféle szolgáltatások adatai. Ezek az összetevők hiányoznak a hagyományos kliens-szerveralkalmazásokból, és az eseményvezérelt asztali alkalmazásokból. Ezen tényezők miatt a hibára való hajlamosság az Android alkalmazásoknál magasabb, így hatékonyabb tesztelést igényel. Ilyen típusú alkalmazások tesztelésénél nagyon hasznos lehet az automatizált tesztelés is a hatékonyságának és megbízhatóságának köszönhetően. A GUI alapú mobil alkalmazások tesztelése nem determinisztikus, és a felhasználó bárhová képes a képernyőn kattintani. Szerencsére a mobil platformokon, mint az Android, külön tudjuk szedni a fejlesztést a deployment-től. A mobil készülék viselkedését szimulálni tudjuk a saját PC-nken. Ez számos tesztesethez nyitja meg az utat, melyek ezeken a szimulátorokon könnyedén tesztelhetőek, amihez egyébként dedikált készülékek lehetnek szükségesek. A lehetőségek nagy száma miatt válik igazán nehézzé, hogy leteszteljük ezeket az alkalmazásokat. A GUI automatizált tesztelése nagyon hasznos lehet az alkalmazás tesztelésében. A GUI alapú automatizált tesztelés az Android alkalmazásoknál javítja a programok alapvető stabilitását, és különösen a regressziós tesztelésnél lesz segítségünkre. Az Android alkalmazások GUI alapú automatizált tesztelése
mögötti
stratégia az, hogy a tesztelő teszt scripteket ír, amelyek szimulálják
a felhasználó tényleges interakcióját a készülék grafikus felhasználói
felületén. Az automatizált tesztesetek helyessége ezeken a szimulált
interakciókon múlik. Az alkalmazásban zajló folyamatok és a GUI
állapota is ellenőrizhető ezzel a technikával. Android alkalmazástesztelő keretrendszerekSzámos más képességhez hasonlóan az Android integrált tesztelési stratégiát nyújt az automatizált tesztelési folyamathoz. A két leghíresebb automatizált tesztelési stratégia az Android Instrumentation keretrendszer, ami az SDK-val jött, és a másik a Positron keretrendszer modell. Először is beszéljünk az Instrumentation keretrendszer alapjairól. Itt az Android alkalmazások tesztelése arra vonatkozik, hogy a kód elemzésével, debuggolásával, az események naplózásával és a performancia mérésével monitorozhassuk az alkalmazás folyamatait. Számos támogató osztály van jelen az Android Instrumentation keretrendszerben, amelyek segítségével tudunk indítani, megállítani, futtatni és megszakítani bármilyen Android alkalmazást a tesztkörnyezetben.
A GUI tesztelést nézve egy Android alkalmazást felbonthatunk több
képernyőre, melyeket külön tevékenységeknek nevezhetünk. Maga az
alkalmazásra egy sor tevékenység, ami egymásra van halmozva. Továbbá
minden egyes tevékenység tartalmaz egy bizonyos számú GUI elemet. Ezért
annak érdekében, hogy az Android alkalmazás GUI-ját teszteljük, le kell
mennünk az összes komponens szintjének mélységéig minden egyes
tevékenységnél, és ezekre a komponensekre külön automatizált
teszteseteket kell írnunk. A GUI tesztelés ilyen fajta teszteléséhez az
Android Instrumentation keretrendszere az
ActivityInstrumentationTestCase2-t biztosítja. Positron keretrendszerAnnak érdekében, hogy kezeljük a tevékenységeket, egy másik kliens-szerver alapú keretrendszer épült az Instrumentation keretrendszer tetejére, ezt hívjuk Positron keretrendszernek. Ez a keretrendszer magasabb szintű megközelítéssel bír azért, hogy könnyen írhassunk és futtathassunk automatizált teszteseteket. Az alkalmazás minden állapotát megfigyelheti a kliens. A kliens külön csatlakozik az alkalmazás komponenséhez a tevékenységet futtató szerveren. A kliensek és a szerver közötti kapcsolat az Android Debug Bridge-en keresztül jön létre. Az egyes tevékenységek példányait a klienssel való kapcsolódás hozza létre. A Positron keretrendszer motorja szálakkal dolgozik. Az alkalmazások tesztelése érdekében a GUI komponensek általában külön szálon futnak, így a megfelelő események is külön szálon vannak, hogy az alkalmazás érzékenysége maximalizálva legyen. A Positron keretrendszer hierarchikus módon, rendezetten foglalkozik minden egyes tevékenység komponenével. Az alapvető különbség az Instrumentation és a Positron keretrendszer között, hogy a Instrumentation keretrendszer alacsonyszintű automatizált tesztelést hajt csak végre, mialatt a GUI interakcióit szimulálja. A másik oldalon a Positron keretrendszer magas szintű automatizálást hajt végre, és absztrakt módon a GUI teszteseteket szimulálja.
A cikk elején említett tényekből arra lehet következtetni, hogy az
egyre növekvő Android alkalmazás populáció és a platform
újdonsága párosul a tapasztalatlan Android fejlesztői közösséggel,
vagyis igazi szükségletté vált a születő alkalmazások megfelelő
tesztelése. Az új architektúrának köszönhetően egy Android alkalmazást
teljesen más tesztelni, mint egy asztali-, vagy webes rendszert. Számos
eszköz áll rendelkezésre, hogy automatizáltan teszteljünk Androidos
alkalmazásokat. Ezek az eszközök egyaránt elvégezhetik az
Instrumentation és a Positron féle teszteléseket, amelyeket fent
említettem. Az egyik ilyen eszköz ami megtalálható a piacon, a "RoutineBot". Az eszköz a modern tesztelési eszközök minden funkcióját tartalmazza és automatizált GUI tesztelést is tud végezni. A eszköz részletes leírását, megtalálhatod a http://www.routinebot.com/ -on. Kellemes kódolást!■ Eredeti cikk: http://architects.dzone.com/articles/automation-testing-androidSzerző: Aleksey Savkin
<< Vissza | ||||||||||
![]() | ![]() |