Regisztráció és bejelentkezés

Absztrakcióval támogatott tanulás regressziós tesztelés támogatására

Napjaink komplex, elosztott és kritikus rendszerei új kihívások elé állítják a rendszermérnököket. Ez különösen igaz az utóbbi időben, amikor a gyorsan változó igények miatt a rendszerek újrakonfigurálása, áttervezése is a napi rutin részévé vált. Ez a gyors fejlődés azonban problémákat vet fel, fontos kérdéssé vált a rendszerek új állapotának az ellenőrzése: vajon a változtatások elrontották-e a rendszer viselkedését. Ilyenkor nyújt megoldást a regressziós tesztelés, ahol azt vizsgáljuk, hogy a rendszer változásai okoznak-e az eddigi viselkedéstől való nem kívánt eltérést.

A regressziós tesztelés támogatása fontos, de nehéz probléma. Sokat segít a regressziós tesztelésben, ha a rendszernek elkészül egy modellje, amely az elvárt viselkedéseket tartalmazza. Ezen modell elkészítésére azonban a fejlesztőknek gyakran nincs ideje, utólag pedig csak jóval költségesebben, a forráskódok és a konfigurációs fájlok visszafejtésével lehet előállítani.

Munkánk célja egy olyan módszer kidolgozása, amely képes a regressziós tesztelés támogatására specifikációs modellek automatikus szintézisével. A megközelítés során az egyes komponenseket külön-külön próbáljuk megtanulni és a komponensmodelleket előállítani. A tradicionális automatatanuló algoritmusok erre nem bizonyultak alkalmasnak, mivel nem kezelik a rendszer adatfüggő viselkedéseit, ezért kidolgoztunk egy absztrakciós keretrendszert, amely lehetővé teszi a komponens-bemenetek konfigurálható absztrakcióját és a kimeneti adatok szintézisét, ezáltal támogatva a rendszer komponenseinek tanulását. Az így előállított modellek alapján teszt szekvenciákat generálunk, amelyek a fejlesztés későbbi fázisaiban alkalmazhatóak regressziós tesztelésre. Amennyiben a regressziós tesztelés sikeres, a specifikációs automatát az új rendszerből megtanulva a két automata ekvivalenciáját az általunk fejlesztett keretrendszer ellenőrzi.

Dolgozatunkban bemutatjuk az általunk kidolgozott keretrendszert, amely nyelvi támogatást ad konfigurálható módon absztrakciók definiálására, majd ennek megfelelően megvalósítja a komponensek bemeneteinek absztrakcióját és a kimenetek konkretizációját. Emellett támogatja a megtanult modell alapján különböző feltételeknek megfelelő teszt szekvenciák generálását. A keretrendszer képes ellenőrizni a rendszer különböző fejlesztési fázisokban megtanult modelljeit ekvivalencia-ellenőrzéssel, így támogatva a különböző szoftververziók összehasonlítását és a változtatások ellenőrzését.

A módszer segítségével hatékonyan támogatjuk a regressziós tesztelést. Munkánk által lehetővé válik olyan szoftverkomponensek regressziós tesztelése, amelyekhez eddig nem állt rendelkezésre a működést leíró modell.

szerzők

  • Gujgiczer Anna
    Mérnök informatikus szak, alapképzés
    alapképzés (BA/BSc)
  • Elekes Márton Farkas
    Mérnök informatikus szak, alapképzés
    alapképzés (BA/BSc)

konzulensek

  • Vörös András
    tudományos segédmunkatárs, Méréstechnika és Információs Rendszerek Tanszék
  • Semeráth Oszkár
    doktorandusz, Méréstechnika és Információs Rendszerek Tanszék

helyezés

II. helyezett