Vasúti demonstrátor automatizált tesztelésének kialakítása

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

Kritikus rendszerek esetében kiemelten fontos meggyőződni arról, hogy a rendszer megfelelően működik. Bár erről nem tudunk száz százalékban megbizonyosodni, viszont léteznek technikák, amelyek használatával csökkenthetjük annak a valószínűségét, hogy a rendszer hibát tartalmazzon. Ezek közül az egyik legelterjedtebb a tesztelés.

Általában ezek a kritikus rendszerek összetettek, több komponensből állnak, ezért szükséges, hogy több, különböző szinten is teszteljük őket. Egy ilyen rendszert lehet például komponens-, integrációs és rendszerszinten tesztelni. A komponensteszt esetében egy egység helyes működőséről szeretnénk megbizonyosodni. Az integrációs teszt esetében több komponens együttműködését vizsgáljuk, a rendszertesztnél pedig az egész rendszer működését figyeljük meg.

A munkám folyamán egy vasúti demonstrátornak a biztonsági logika komponensét teszteltem különböző szinteken. Ez a demonstrátor egy modellvasút, amely a kritikus rendszerek modellezésének, fejlesztésének és ellenőrzésének módszereit mutatja be. A biztonsági logika úgy működik, hogy a vasúton lévő vonatok elhelyezkedése alapján felismeri a veszélyes szituációkat (azokat a helyzeteket, amelyek a vonatok összeütközéséhez vezethetnek), és ezen helyzetek fennállásakor megállítja a vonatokat.

Azt figyeltem meg, hogy ezek a szituációk egy része a tesztelési szinttől független, tehát ugyanaz a helyzet tekinthető veszélyes szituációnak komponens és integrációs teszt esetében is. Ezáltal lehetőségünk nyílik egy közös leírás megadására, amelyből származtathatóak a különböző tesztelési szintekhez tartozó tesztesetek.

A szakdolgozatomban egy ilyen módszer megalkotását mutatom be, amivel egy közös leírás alapján lehet különböző teszteket létrehozni. Ezt a módszert alkalmaztam a vasúti demonstrátor tesztelésekor is, ennek az eredményeit is ismertetem. Ennek végrehajtásához először fel kellett tárni a közös részeit a teszteknek, majd egy közös leírást létrehozni ezekre. Továbbá szükséges volt egy olyan komponens is, amely ezt a leírást leképezte az egyes tesztelési szintekre.

A feladat elvégzésekor az előbb felsorolt lépéseken haladtam végig. Meghatároztam a közös részeket, ezek alapján egy szakterület-specifikus nyelvet hoztam létre, amely a teszteléshez szükséges vasúti szakterületen megjelenő helyzetek leírására alkalmas. Megterveztem a biztonsági logika ellenőrzésére szolgáló teszteseteket. Majd a tesztesetek leírásából kódgenerálással hoztam létre a teszteléshez szükséges kódokat. A tesztek végrehajtása után már lehetőségem nyílt értékelni a vasúti demonstrátor állapotát.

Letölthető fájlok

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