Programgenerálás tesztelő eszközök kiértékelésére

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

A szoftverfejlesztés egy fontos részterülete a szoftvertesztelés, melynek célja a programok minőségének ellenőrzése és ezáltal javítása. Ezt számos eszköz segíti, amelyek a tesztek generálását vagy futtatását támogatják. Ezeknek két főbb típusa létezik a statikus és dinamikus kódanalízis eszközök. A statikus kódanalízis a forráskódon végez megfigyeléseket, és azok alapján ad visszajelzést a felhasználónak, a dinamikus kódanalízis pedig a kódot lefordítva és végrehajtva jelez vissza a fejlesztőnek. Mindkét mód-szer alkalmas tesztek automatikus generálására. Egy ilyen feladatot elvégző program tesztelése azonban nem triviális. Szakdolgozatomban egy ilyen módszer lehetőségeit kutattam, ezeket bemutattam majd megvalósítottam.

Az ilyen eszközök teszteléséhez szükség van megfelelő egy méretű kódbázisra, amin ki lehet próbálni a működést és követni lehet rajta a különböző verziók közötti változásokat. Ilyen kódbázisként lehet használni nyílt forráskódú szoftvereket, vagy lehetőség van automatikus kódgenerálásra is. Én ez utóbbi módszert választottam. Szakdolgozatomban bemutatom, hogy milyen okok vezettek ehhez a döntéshez, illetve hogyan oldottam meg a feladatot.

Először meghatároztam a rendelkezésemre álló szakirodalom segítségével, hogy milyen kritériumoknak kell megfelelnie a generált kódnak, amelyek közül a két legfontosabb a szintaktikai helyesség, és a paraméterezhetőség. Ezután megvizsgáltam, hogy milyen eszközök állnak rendelkezésemre a feladat elvégzéséhez. Több technológiát is megismertem, végül saját módszerek kifejlesztése és a Roslyn nyílt forráskódú szoftver használata mellett döntöttem.

Ezen előismeretek birtokában implementáltam a kódgeneráló programot. A program három alapvető részből áll: Az első rész felelős a program vázának felépítéséért, a második a program elemei közötti függőségek létrehozásáért, a harmadik pedig a paraméterezhetőségért és a paraméterek betartásáért.

A dolgozatom részletesen bemutatja, hogy hogyan valósítottam meg ezt a három részfeladatot. Továbbá példakódok segítségével bemutatom az elkészült eszköz előzetes követelményeknek való megfelelését.

Letölthető fájlok

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