Szimbolikus végrehajtást használó tesztgeneráló eszközök összehasonlítása

OData támogatás
Konzulens:
Dr. Micskei Zoltán Imre
Méréstechnika és Információs Rendszerek Tanszék

Napjaink szoftverei igen terjedelmesek és bonyolultak, amelyeknek a mélyreható manuális tesztelése sok erőforrást igényel. Épp ezért egyre nagyobb hangsúlyt kap az automatizált szoftvertesztelés témája ipari és akadémiai körökben is. Megjelentek olyan módszerek és eszközök, amelyek nem csak a tesztfolyamat automatizálására, hanem a tesztbemenetek és tesztesetek automatikus generálására is képesek. Aktív kutatás övezi a szimbolikus végrehajtást használó megoldásokat, amelyek a tesztelendő program struktúrája alapján választanak ki tesztbemeneteket.

Az elmúlt évtizedben több eszköz is készült, amely képes szimbolikus végrehajtáson alapuló algoritmusok segítségével tesztbemeneteket generálni. A tapasztalat viszont azt mutatja, hogy minden eszköznek megvannak a maga erősségei és gyengeségei, más-más bonyolultabb esettel (például karakterlánc vagy összetett objektum) gyakran nem tudnak megbirkózni. Az eszközök készítői különböző programokat használnak a saját esettanulmányaikban, a témát feldolgozó áttekintő munkák pedig komplex szoftverrendszereket használó kísérletekre koncentráltak eddig. Így jelenleg nincs pontos visszajelzés arról, hogy mi az a nyelvi szerkezet vagy program struktúra, amellyel egy-egy adott eszköz nem tud megbirkózni.

A szakdolgozatban bemutatott kutatás célja az volt, hogy egy nyelvfüggetlenül definiált szempontrendszert határozzak meg, amellyel a szimbolikus végrehajtást használó tesztgeneráló eszközök értékelhetők és összehasonlíthatók, majd ennek segítségével egy konkrét platform eszközeit össze is hasonlítsam. Korábban ilyen összehasonlítás nem készült, viszont ez egyaránt hasznos az eszközök fejlesztői és az eszközök felhasználói számára is: a fejlesztők visszajelzést kapnak az eszközről, a felhasználók pedig segítséget, hogy a legmegfelelőbb eszközt válasszák a saját problémájuk megoldására. Az elért eredményeim a következőképp foglalhatóak össze:

- Kidolgoztam egy szempontrendszert szimbolikus végrehajtást használó tesztgeneráló eszközök képességeinek vizsgálatára.

- Ezt leképeztem Java nyelvre, és előállítottam egy automatizált tesztfuttató keretrendszert.

- A tesztkészlet segítségével megvizsgáltam több Java tesztgeneráló eszközt is, kiértékeltem és összehasonlítottam a kapott eredményeket.

Letölthető fájlok

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