bme - szakdolgozat (2014)

21
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)

Upload: csaba-szabo

Post on 18-Jul-2015

864 views

Category:

Technology


6 download

TRANSCRIPT

Page 1: BME - Szakdolgozat (2014)

Modell alapú tesztgenerálás iOS platformra

Szabó Csaba - B.Sc. szakdolgozatInformatikai technológiák szakirány

Rendszermodellezés ágazat

Konzulensek: Dr. Ráth István (BME MIT) Ujhelyi Zoltán (BME MIT)

Page 2: BME - Szakdolgozat (2014)

Motiváció• Komplex mobil alkalmazások

• Igény a tesztelésre

• Sok multiplatform keretrendszer

• Kevés modell alapú

• Tesztek hiánya

Page 3: BME - Szakdolgozat (2014)

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

Page 4: BME - Szakdolgozat (2014)

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

Page 5: BME - Szakdolgozat (2014)
Page 6: BME - Szakdolgozat (2014)

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

Page 7: BME - Szakdolgozat (2014)

Megoldás

• Grafikus szerkesztő

• Kódgenerálás

• Modell validáció

• Egy modell - több teszt

Page 8: BME - Szakdolgozat (2014)

Xcode&alkalmazás&projekt&

KIF&tesztek&

Eclipse&plug9in&

EMF&modell&

BPMN2&modell&

KiegészíteB&BPMN2&modell&

Grafikus&szerkesztő&

KiegészíteB&grafikus&

szerkesztő&

Xtend&kódgenerátor&

KIF&keretrendszer&

ocunit/xcunit&teszt&keretrendszer&&

Xcode&teszt&keretrendszer&

Page 9: BME - Szakdolgozat (2014)

Eclipse plug-in• Kiegészíthető

• Modellezés - EMF

• Grafikus szerkesztő - BPMN2

• Kódgenerátor - Xtend

• Eclipse ITG projekt(ITG = iOS Test Generator)

Page 10: BME - Szakdolgozat (2014)

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

Page 11: BME - Szakdolgozat (2014)
Page 12: BME - Szakdolgozat (2014)

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

Page 13: BME - Szakdolgozat (2014)

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

Page 14: BME - Szakdolgozat (2014)

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

Page 15: BME - Szakdolgozat (2014)

Teszt validálás

Page 16: BME - Szakdolgozat (2014)

Folyamat

Teszt&elkészítése& Mentés& Modell&

feldolgozás&

Tesztek&generálása&Kódgenerálás&Teszt&fájlok&

másolása&

BPMN2 EMF

XtendEclipse-ből az Xcode projektbe

Page 17: BME - Szakdolgozat (2014)

Továbbfejlesztési lehetőségek

• Önálló alkalmazás

• AccessibilityLabel-ek automatikus beolvasása az Xcode projektből

• Grafikus szerkesztő továbbfejlesztése

• Xcode projekthez való egyszerű csatlakozás

Page 18: BME - Szakdolgozat (2014)

Ö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

Page 19: BME - Szakdolgozat (2014)

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.

Page 20: BME - Szakdolgozat (2014)

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.

Page 21: BME - Szakdolgozat (2014)

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.