Regisztráció és bejelentkezés

Automatizált tesztadatbázis-generálás JPA alapokon

A sokrétű felhasználói igényeket kielégítő szolgáltatásokat megvalósító informatikai rendszerek az összetett követelmények és integrációs lehetőségek száma miatt komplex, függőségekkel teli architektúrával rendelkeznek. Ilyen körülmények között mind a hagyományos, mind pedig az agilis szoftverfejlesztési módszertanok nagy hangsúlyt fektetnek a tesztelésre. Az on-line tartalmat előállító szerver oldali alkalmazások jelentős része valamilyen relációs adatbázist használ, ennek ellenére az objektum-relációs leképzésre alapuló adatintenzív alkalmazások működésének tesztelésére csak korlátozott eszközök állnak rendelkezésre, melyek nem képesek hatékonyan kiszolgálni a felmerült igényeket.

A fejlesztés és a tesztelés során használt adatok általában nagyban különböznek az éles rendszerben használtaktól, mivel sokszor adatvédelmi okokból nem is lehetséges az éles rendszer adatainak tesztjellegű használata. Másfelől - a korlátozott erőforrások miatt - értelemszerűen nem megvalósítható az összes lehetséges bemenet előállítása. Gondos tervezéssel előállítható olyan adatstruktúra, amely képes lefedni a szoftver használata során előforduló helyzeteket. A tesztadat generálás problémájának azonban csak egy részlete a tényleges adatbázismezők kitöltése, mivel az egyes objektumok közötti kapcsolatok kialakítása nagyban befolyásolhatja egy alkalmazás működését.

A Java platform szabványosított objektum-relációs leképzését, a Java Persistence API-t használva mutatunk be platform független megoldást a problémára. A fejlesztés korai fázisában megtervezett entitás osztályok alapján lehetővé tesszük a tesztadatok generálását és az ezek közötti kapcsolatok olyan formában történő kialakítását, hogy az így előálló adatkészlet minél hatékonyabban le tudja fedni a rendszer működését, beleértve mind az üzemszerű, mind a kivételes helyzeteket. Nagy hangsúlyt fektettünk az adatok minőségére. Biztosított az egyes adattípusok értéktartományának és eloszlásának finomhangolása. Az általunk javasolt eszköz hasznos lehet nemcsak a tesztelési, hanem a fejlesztési feladatok során is, ezáltal rövidítve a fejlesztési időt és növelve az elkészült termék minőségét.

szerzők

  • Ferencz Endre
    mérnökinformatikus
    nappali
  • Bozóki Szilárd
    mérnökinformatikus
    nappali

konzulensek

  • Budai Péter
    doktorandusz, Irányítástechnika és Informatika Tanszék
  • Dr. Goldschmidt Balázs
    , Irányítástechnika és Informatika Tanszék