Automatikus tesztgenerálás támogatásának vizsgálata

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

Manapság a szoftverek egyre komplexebb felépítése új kihívások elé állítják a mérnököket. A verifikációs módszerek egyre fontosabb szerephez jutnak a tervezés és implementáció fázisában, hiszen a növekvő méret és komplexitás nagyobb valószínűséggel előforduló hibákhoz vezethet. A fejlesztés során végzett átfogó tesztelés kulcsfontosságú a szoftverminőségben, habár a megfelelő bemenetek kiválasztása a teszteléshez meglehetősen nehéz feladat valós környezetekben.

Az automatikus tesztbemenet-generálás megkönnyítheti ezen bemenetkiválasztási feladatot. A generálási folyamat építhet egy viselkedési modellre vagy akár magára a forráskódra is. A dinamikus szimbolikus végrehajtás technikája ez utóbbiakhoz tartozik: a kódot szimbolikus változók segítségével értelmezi és vezérli, majd az ezekből kapott eredményeket konkrét végrehajtások segítségével finomítja. A módszer hatékonyan képes bonyolult forráskódok végrehajtási útvonalait is feltérképezni. Mindezek ellenére a módszer ipari alkalmazása a komplexitásából és a tesztgenerálást végző személy számára rendelkezésre álló információk kis mennyisége miatt nehézkes válik. A dolgozatban két saját módszert mutatok be a szimbolikus végrehajtás alapú tesztbemenet-generálás ipari alkalmazásának megkönnyítéséhez.

Az első általam kidolgozott technika a szimbolikus végrehajtás vizualizációja, amely képes a végrehajtás egyes lépéseit egy bejárási fa csomópontjaihoz társítani segédinformációk hozzáadásával (pl. forráskódhely, útvonalfeltétel). A technika a futás átláthatóságát 1) az útvonalfeltételek szétbontása, 2) a végrehajtási útvonalak osztályozása és a 3) tesztelt komponensből való kilépések érzékelése segítségével biztosítja. A technika implementációjaként elkészült egy eszköz is, amely nyílt forráskódú és online is elérhető.

A második kidolgozott technika az automatikus izolációs környezet generálása, amely automatikusan képes a tesztelés alatt álló egység külső hívásait helyettesíteni. A dolgozatban bemutatott módszer észleli a vizsgált egységből kifele történő hívásokat, majd több szempont alapján megvizsgálja azokat. Az ebből kapott eredmények segítségével pedig forráskódot generál az izolációs környezet felépítéséhez a külső hívások helyettesítésére.

Mindkét kidolgozott technikához elkészült egy-egy prototípus implementáció, amelyeket megvizsgáltam egyszerű és valós példákon keresztül is.

Letölthető fájlok

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