A folytonos integráció lehetőségei .NET projektek esetén

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

Napjaink szoftverfejlesztési folyamatában egyre nagyobb szerepet kap a résztvevők együttműködése, legyen az a fejlesztők és a megrendelő között, vagy a fejlesztői csapaton belül. Korábban gyakori volt, hogy egy projekt során a fejlesztők csak későn egyeztették (integrálták) a módosításaikat, így nem értesültek időben ezek inkompatibilitásáról.

A folytonos integráció (continuous integration, CI) azzal segíti a fejlesztők közötti interakciót, hogy központilag és rendszeresen végzi el az integrációt. Így az esetleges hibák hamar kiderülnek, illetve nem az összes fejlesztő feladata ennek javítása.

A folytonos integrációhoz elengedhetetlen az automatizált fordítási folyamat, illetve hasznos, ha a projekthez készültek automatizált tesztek is, hiszen így nem csak a fordítás sikerességéről lesz információnk, hanem például funkcionális ellenőrzéseket is végezhetünk. További eszközöket is használhatunk, így például a kódlefedettség (code coverage) vizsgálatára is van módunk, illetve egyéb statikus ellenőrző eszközök futtatása is lehetséges.

Dolgozatomban megvizsgáltam több folytonos integrációs kiszolgálót, melyek összehasonlításához egy általam készített mintaprojektet vettem alapul. Továbbá egy valós projekt folytonos integrációs feladatait is elvégeztem, melyhez a Méréstechnika és Információs Rendszerek Tanszéken fejlesztett PetriDotNet2 projektet használtam.

A folytonos integráció használható regressziós teszteléshez is, tulajdonképpen egy új verziónál az eddig működő tesztek sikerességét ellenőrizzük. Ehhez kapcsolódik elméleti kitekintésként a regressziós tesztoptimalizálás, ami a nagyméretű tesztkészletek esetén biztosít módszereket a tesztelés futásidejének csökkentésére a szükséges tesztek kiválasztásával (tesztkiválasztás), vagy éppen a bizonyítottan felesleges tesztek elhagyásával (tesztminimalizálás). Az optimalizálás egy másik módja a hibák mihamarabbi felfedését tűzte ki célul, ezt a tesztek futtatásának prioritizálásával valósítja meg. Dolgozatomban megvizsgáltam a teszteszközök elérhetőségét, valamint megállapítottam, hogy az irodalomban fellelhető eszközök nem elérhetőek és nem építhetőek be a vizsgált folytonos integrációs eszközökbe. Ezért egy ilyen eszköz készítése lehet a további munka iránya.

Letölthető fájlok

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