Automatizált beadandó tesztelés microservice architektúrában
A szakdolgozat célja egy olyan skálázható, microservice architektúrájú alkalmazás és a hozzá tartozó webes felhasználói interfész megtervezése és lefejlesztése, amely lehetővé teszi konzolos interfésszel rendelkező programok automatizált fordítását és fekete doboz alapú tesztelését az oktató által előre meghatározott bemenetek és a hozzájuk tartozó elvárt kimenetek alapján. A tesztelés izolált fordítási és futtatási környezetben (pl. Docker konténerekben) történik. A rendszer célja az oktatók munkájának megkönnyítése és a hallgatók számára az azonnali visszajelzés biztosításának lehetősége.
A kurzus oktatója konfigurálhatja a tesztelés fordítási környezetét, futtatási környezetét, esetleges parancssori utasításait; kezelheti a kurzushoz tartozó tesztelő példányokat. Megválaszthatja, hogy esetleges fordítási vagy futtatási hiba esetén a hallgató részletes információt kapjon a hiba okáról, vagy csak a sikertelenség tényéről kapjon tájékoztatást.
A program C# nyelvben, ASP.NET keretrendszerben, microservice architektúrában kerül megvalósításra. A rendszer lehetővé teszi hallgatói beadandó feladatok automatikus futtatását, kiértékelését. A Docker alapú izolált környezet garantálja a biztonságos végrehajtást, míg a microservice architektúra biztosítja a horizontális skálázhatóságot. Így a rendszer nagy mennyiségű beadandók, párhuzamos tesztelésére is alkalmazható, kezelhetővé válik a zárthelyik jelentette csúcsterhelés is.
A szakdolgozat a TMS rendszerben (tms.inf.elte.hu) jelenleg használt tesztelő környezet korszerűbb és funkciógazdagabb megoldással való felváltását célozza meg.