Tesztgenerálás támogatása meglévő tesztadatok felhasználásával

OData támogatás
Konzulens:
Honfi Dávid
Méréstechnika és Információs Rendszerek Tanszék

A szoftverek és programozott rendszerek ma már teljesen az életünk részévé váltak, ez-zel együtt a szoftverhibák kiküszöbölése érdekében a szoftverfejlesztésből ma már ki-hagyhatatlan lépés a következetes tesztelés és a jó dokumentálás. Dolgozatomban szoft-vertesztelési szempontból a belső, fejlesztési hibákat vizsgálom, azon belül pedig a unit tesztek témakörével foglalkozom. Munkám célja, hogy a Microsoft által elkészített Intel-liTest dinamikus szimbolikus végrehajtást alkalmazó tesztgeneráló eszközt olyan teszt-adatokkal támogassam, melyeket korábban manuálisan megírt egységtesztekből nyerek ki Roslyn segítségével. Ez által az eszköz egy jobb lefedettségű, és a funkcionális köve-telményeknek jobban megfelelő teszthalmazt hozhat létre.

Ennek megfelelően dolgozatomban először egy általános képet adok a szoftvertesztelés-ről, és annak megszokott elemeiről. Bemutatom az általam felhasznált technológiákat, azok működési elveit, lehetőségeit és korlátait. Saját példákkal megmutatom, hogyan használható az IntelliTest, milyen előnyei és megkötései vannak, illetve hogyan lehet a tesztgenerálás javítására javaslatokat tenni. Áttekintést adok a Microsoft által fejlesztett Roslynról mely lehetővé teszi a forráskód programozott elemzését. Dolgozatomban kité-rek arra, hogyan lehet egy adott forráskódból szintaxisfát készíteni, annak milyen elemei és tulajdonságai vannak. Megmutatom, hogyan nyerhető ki a szemantikus modell, ha a forráskód fordítható és hogy ennek segítségével milyen módon kaphatjuk meg egy adott változó értékét a kód egy adott pontján. Implementálok egy olyan megoldást, mely az említett technológiákat kihasználva képes a meglévő unit teszt halmazból kinyerni az értékes tesztadatokat. Elkészítek egy struktúrát, mely alkalmas ezen tesztadatok tárolá-sára, és létrehozok egy eljárást, mely segítségével ebből a struktúrából az IntelliTest szá-mára megfelelő módon javaslatokat tehetek. Megtervezek és implementálok egy egysze-rű grafikus felületet, mely segítséget nyújt a felhasználónak az eszköz használatára, és bemutatom néhány valódi metóduson keresztül, hogy az implementált megoldás hogyan növeli a generált tesztek lefedettségét.

A félévi munkám eredményei közé sorolom a kész, használható eszközt, mely beépülő eszközként használható a Visual Studio fejlesztői környezetben. Továbbá megismerked-tem több tesztelési megközelítéssel, az IntelliTest tesztgeneráló és a Roslyn forráskód analizáló eszközökkel.

Letölthető fájlok

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