Mobil üzleti alkalmazás tesztelése

OData támogatás
Konzulens:
Dr. Szikora Béla
Elektronikai Technológia Tanszék

A szakdolgozatom segítségével szerettem volna rámutatni a tesztelés fontosságára egy termék életciklusában. Kitértem a szoftvertesztelés egyes részeire, azokat röviden bemutattam. Többek között: unit teszt, funkcionális teszt, integrációs teszt, scenárió teszt, és egyéb nem funkcionális tesztek, biztonsági teszt, teljesítmény teszt. Majd összehasonlítottam a dinamikus és statikus tesztelést. Mélyebben pedig a JUnit tesztelés és a funkcionális tesztelést ismertettem mobil platformon. JUnit tesztelés esetén, egy Androidos megoldás, az Easymock/Powermock framework segítségével bemutattam a különböző tesztesetek elkészítésének folyamatát. Rámutattam arra, hogy miért fontos ennek a technológiának az alkalmazása ezen a platformon. Részleteztem a stub és mock fogalmát, majd bemutattam a framework segítségével néhány egyszerű, tipikus példát az álpéldányosításra. Ismertettem a statikus metódus, final osztály és metódus, a privát metódus, és konstuktorok mockolásának főbb lépéseit. A másik fontosabb téma, amit érintettem az a funkcionális tesztelés, és ezen belül is ennek az automatizálási lehetőségei iOS és Android eszközökre. Bemutattam a funkcionális teszt tervezés különböző aspektusait: „white box” és „black box” tervezés, majd röviden levezettem az ekvivalencia alapú tesztelést. Az Android platformra fókuszálva, egy kiválasztott technológia segítségével, ez pedig a Robotium framework, bemutattam, hogyan tudunk egy tesztet automatizálni. Rámuttam arra, hogy milyen típusú teszteket nehéz implementálni ezzel a könyvtárral. A két technológiát egy alkalmazás tesztelésével a „Field Agent Assistant” applikáción bemutattam, amely a szervizes szakemberek munkáját támogatja tetszőleges munkavégzési helyszínen. A Junit teszteket az alkalmazás által használt speciális könyvtárra írtam. Célom a fontosabb metódusok lefedése volt. Ez a körülbelüli 40%-50%-os sor, és metódus lefedettséget jelentett. A funkcionális teszteket „black box” módszerrel terveztem, ez négy darab komplexebb teszteset jelentett. Ezután implementáltam a teszteket. Végül ismertettem néhány lehetőséget arról, hogy hogyan tudnánk ezeket az automatizált teszteket különböző build szerverek (Maven, és Jenkins) segítségével lefutatni automatikusan, telepített emulátor, vagy csatlakoztatott eszköz segítségével. Maven esetén az android maven plugin, Jenkins esetén az android emulator plugin mutattam be. Összegzésül az Easymock/Powermock framework nagyon erős kifejező képességgel bír, a JUnit tesztek 95%-a lefedhető. A kitűzött 40% körüli értéket teljesíteni tudtam vele. A Robotium az android automatizálásra szolgáló framework, pedig könnyen használható, azonban vannak hiányosságai a felhasználói felület ellenőrzése terén. Sokszor ezért képet voltam kénytelen csináltatni a framework-kel és azt ellenőrizni. Illetve az elemekre való hivatkozásra is érdemes lehet egy kis komponenst fejleszteni, ami képes indexelni egyszerre az activity-n az összes elemet. Az integráció esetén a Maven plugin az, amit preferálnék, többnyire az eszközökön való futtatás támogatásáért.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.