Regisztráció és bejelentkezés

Absztrakt tesztadat generálás autonóm és elosztott rendszerekhez

Napjainkban kiemelt feladat, hogy a modern szoftverrendszerek helyességét biztosítsuk, valamint a bennük felmerülő tervezési és implementációs hibákat felderítsük. Komplex autonóm és elosztott rendszerek vizsgálata sok kihívást rejt magában. Ennek egyik fő oka, hogy ezen rendszerek és környezetük felépítése idővel változik, ami a lehetséges rendszermodellek számának jelentős növekedését idézheti elő. A szoftvertesztelés egy olyan verifikációs módszer, amelyet széles körben alkalmaznak különféle hibák felderítésére, azonban bonyolult rendszerek ellenőrzése esetén nehéz minden számunkra fontos konfigurációs esetet lefedni. A munkámban az autonóm rendszerek tesztelésének támogatását céloztam meg.

A dolgozatom célja egy olyan módszer kidolgozása volt, amely képes absztrakt tesztadatok generálására. Az általam készített algoritmus a tesztadatok egy olyan halmazát állítja elő, ami felhasználható konfigurációs beállításként, illetve tesztelés alatt lévő rendszerek bemeneteként szolgál. Az általam javasolt módszer képes koncepcionálisan és strukturálisan különböző "absztrakt" tesztadatokat előállítani, amelyek lefedik a rendszer összes lehetséges felépítését. Ezen "absztrakt" tesztadatok annyiban térnek el a hagyományos tesztadatoktól, hogy az objektumok attribútumai nem konkrét értékeket tartalmaznak, hanem a strukturális viszonyokat fejezik ki. A módszert egy testreszabható paraméterező nyelv támogatja, aminek a segítségével a tesztkonfigurációk számunkra releváns részeire tudunk összpontosítani.

A dolgozatomban bemutatok egy tesztgeneráló keretrendszert, ami olyan rendszerek tesztelését támogatja, amelyek metamodellel, példánymodellekkel és kényszerekkel definiálhatóak. A tesztgenerálási folyamat a következő lépésekből áll: 1) a rendszer definiálása és a tesztadat kiválasztási kritériumok meghatározása, 2) "absztrakt" tesztadat-objektumok generálása, 3) az objektumok attribútum értékeinek a konkretizálása. A tesztgenerálás támogatásához definiáltam egy nyelvet, amellyel a tesztleírások könnyedén specifikálhatóak. A nyelv sok paraméterezési lehetőséget kínál, melyek segítségével az algoritmus finomhangolható. Az algoritmus bemeneteit elsőrendű logikai problémaként formalizáltam, amely megoldását korszerű logikai következtetők szolgáltatják.

Az elkészült eszközt az Eclipse környezetbe integráltam, ami képes egy metamodell segítségével definiált, OCL (Object Constraint Language) és egyéb konzisztencia kényszerekkel ellátott rendszermodellt, illetve a kezdeti konfigurációt logikai problémává transzformálni. A logikai problémát az Alloy Analyzer képes értelmezni, megoldani és a logikai axiómákat kielégítő modellt generálni. Az eszközöm az Alloy Analyzer által előállított modellt visszaalakítja egy olyan példánymodellé, ami megfelel az eredeti metamodellnek és így később konkrét tesztekhez rendszermodellként felhasználható. A dolgozatomban a módszer egy alkalmazási lehetőségét egy autonóm robotokkal és egy elosztott rendszerekkel foglalkozó esettanulmányon keresztül mutatom be.

szerző

  • Barta Ágnes
    mérnökinformatikus
    nappali

konzulensek

  • Szatmári Zoltán
    Tudományos segédmunkatárs, Méréstechnika és Információs Rendszerek Tanszék
  • Dr. Semeráth Oszkár
    adjunktus, Méréstechnika és Információs Rendszerek Tanszék
  • Dr. Vörös András
    egyetemi docens, Méréstechnika és Információs Rendszerek Tanszék

helyezés

Morgan Stanley I. helyezett