1. Modell alapú tesztgenerálás
iOS platformra
Szabó Csaba - B.Sc. szakdolgozat
Informatikai technológiák szakirány
Rendszermodellezés ágazat
Konzulensek:
Dr. Ráth István (BME MIT)
Ujhelyi Zoltán (BME MIT)
2. Motiváció
• Komplex mobil alkalmazások
• Igény a tesztelésre
• Sok multiplatform keretrendszer
• Kevés modell alapú
• Tesztek hiánya
3. Szcenárió alapú teszt
• Szcenárió teszt ≠ egység teszt (unit test)
• Automatizálható, használati eset alapú
• Nagyrészt felhasználói felület teszt
• Eszközök:
• iOS platform
• KIF (Keep it functional) keretrendszer
• Habits példa alkalmazás
4. KIF (Keep It Functional)
működése
• Objective-C tesztek
• Xcode fejlesztőkörnyezetbe integrálató
• A felhasználói felületet az elemek
AccessibilityLabel-ein keretszül éri el
• Elvárt eredmény ellenőrzés
5.
6. KIF problémák
• Nincs AccessibilityLabel validálás
• Egy teszt metódus = csak egy futtatható teszt
• Egy szcenáriót könnyebb leírni grafikusan
10. BPMN2 alapú teszt
szerkesztő
• SOA modellezésre tervezték
• Új elemek hozzáadása
• EMF modell kiegészítése
• EMF modell feldolgozás
• Elágazás
• Több teszt generálása
11.
12. Kódgenerálás
• Xtend sablon alapú kódgenerálás
• Modell mentés után automatikusan
• Elágazások számával megegyező teszt
generálódik le
• Modell validálási hiba esetés jelzem a
felhasználónak a hibát
13. Kódgenerálás
• Xtend sablon alapú kódgenerálás
• Modell mentés után automatikusan
• Elágazások számával megegyező teszt
generálódik le
• Modell validálási hiba esetés jelzem a
felhasználónak a hibát
teszt lépés
elvárt eredmény
ellenőrzés
14. Validaciós módszerek
• A keretrendszer több validációt is tartalmaz:
• BPMN2 grafikus modell validálása
• KIF lépés validálás
• AccessibilityLabel validálás
18. Összefoglalás
• Módosított grafikus szerkesztő
• Több teszt generálása
• Kódgenerátor Objective-C nyelvre
• Modell validáció
• Ezeket integráló Eclipse fejlesztőkörnyezet
• Példaalkalmazás
19. Bírálói kérdések
• Mennyire volt jó választás a BPMN2 nyelv a teszt
történetek leírására? Milyen alternatívákat
vizsgálna meg még?
• EMF modell alapok, kiegészíthetőség és bő
kezdeti eszközkészlete miatt jó választásnak
bizonyolt.
Kipróbálnám még a JPA diagram szerkesztőt is,
illetve saját grafikus szerkesztő készítése is
hasznos lehetne GEF (Graphical Editing
Framework) vagy Graphiti használatával.
20. Bírálói kérdések
• A grafikus diagramok szerkesztésénél nagy problémát jelent,
ha sok repetitív feladatot kell elvégezni, amelyeket a kódban
makrókkal vagy find-replace művelekkel lényegesen kevesebb
lépésből meg lehetne tenni. Mennyire lenne vajon bonyolult a
generált kód változásait visszavetíteni a BPMN diagramokra?
• Az általam generált kódsorok módosítása egyszerű, új
tesztlépések hozzáadása az egy modell-több teszt miatt
bonyolultabb, viszont ha ezen kívül bármilyen más kódot
kellene feldolgozni, akkor az még nehezebb, hiszen a
következő generáláskor azt elveszítenénk, vagy ha
bennehagyjuk a kódban, akkor lehet hogy szintaktikai hibát fog
okozni.
21. Bírálói kérdések
• Véleménye szerint a KIF rendszer szélesebb körű
használata a fogyatékkal élők telefonhasználati
lehetőségeit mennyiben befolyásolná?
• Mivel az felhasználói felület elemeket az
AccessibilityLabel értéken keresztül éri el, ami a
látáskárosultak számára felhasznált, felolvasható
tartalmat jelenti, így szélsesebb körű eljerjedése
azt jelentené, hogy sokkal több alkalmazás lenne
használható látáskárosultak számra is.