Agilis fejlesztés támogatása automatikus tesztgenerálással

Az agilis fejlesztés napjainkban széleskörben alkalmazott módszertan. Ez többek között a nagy fejlesztési feladat kisebb, ám a megrendelő számára is még érthető részekre bontását is magával vonja. Ezek az úgynevezett user storyk, amelyek természetes nyelven írnak le egy-egy konkrét funkciót az elkészítendő rendszerben. A Behavior-Driven Development egy olyan agiilis megközelítés, ahol ezen storykat valamelyest strukturált módon (Given-When-Then) írják le az adott környezeti domain kulcsszavainak felhasználásával. A fejlesztők és a tesztelők a leírás elkészülését követően ebből dolgoznak a tesztek és a funkciók megvalósításához.

A BDD alapú fejlesztéshez számos támogató eszköz áll rendelkezésre a Given-When-Then jellegű leírások és szcenáriók elkészítéséhez. Egyik ilyen a SpecFlow, ami .NET-es környezethez biztosítja ezt a leírást a Gherkin nyelv segítségével. A SpecFlow továbbá képes arra, hogy ezeket a funkcióleírásokat egyfajta tesztesetekként kezelje.

A Microsoft IntelliTest ([1], [2]) ezzel szemben egy olyan eszköz, ami képes pusztán a forráskód elemzésével teszteseteket előállítani a specifikáció hiányában is. Természetesen ezek a tesztesetek kiegészíthetők funkcionalitást vizsgáló elvárásokkal is, így összekapcsolva a funkcionális és strukturális tesztelést.

A hallgató feladata a SpecFlow és az IntelliTest összekapcsolási lehetőségeinek vizsgálata és megvalósítása. A cél egy olyan kiegészítés elkészítése a SpecFlow-hoz, amely képes a Given-When-Then leírásokat transzformálni olyan formába, amelyet az IntelliTest már fel tud használni a tesztgenerálási folyamat során. A feladat elkészítésében a SpecFlow fejlesztői a segítségüket nyújtják.

Jelleg: 
Gyakorlati
Konzulens: 
Honfi Dávid
TDK lehetőség: 
Nem
Megismerhető technológiák: 
SpecFlow, IntelliTest, Visual Studio extensibility
Előismeretek: 
.NET
Állapot: 
Folyamatban