Automatikus tesztgenerálás modell ellenőrző segítségével



Hasonló dokumentumok
A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

Modell alapú tesztelés

Modell alapú tesztelés

Modell alapú tesztelés

Modell alapú tesztelés

Modell alapú tesztelés mobil környezetben

Alapszintű formalizmusok

Specifikáció alapú teszttervezési módszerek

Specifikáció alapú teszttervezési módszerek

Rendszermodellezés. Modellellenőrzés. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

MODELL ALAPÚ AUTOMATIKUS

Modell alapú tesztelés: célok és lehetőségek

Szoftver-modellellenőrzés absztrakciós módszerekkel

Modellek ellenőrzése és tesztelése

Szoftverminőségbiztosítás

Szoftverminőségbiztosítás

Intervenciós röntgen berendezés teljesítményszabályozójának automatizált tesztelése

Felhasználói felületek tesztelése

Összefoglaló. Modell alapú automatikus tesztgenerálás

Formális verifikáció Modellezés és modellellenőrzés

Mesterséges intelligencia alapú regressziós tesztelés

Szoftver modul/unit tesztelés

Teszttervezés. Majzik István, Micskei Zoltán. Integrációs és ellenőrzési technikák (VIMIA04) Méréstechnika és Információs Rendszerek Tanszék

Rendszermodellezés: házi feladat bemutatás

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Felhasználói felületek tesztelése

Modellellenőrzés a vasút automatikai rendszerek fejlesztésében. XIX. Közlekedésfejlesztési és beruházási konferencia Bükfürdő

MŰSZAKI TESZTTERVEZÉSI TECHNIKÁK STRUKTÚRA ALAPÚ, VAGY FEHÉRDOBOZ TECHNIKÁK TAPASZTALAT ALAPÚ TECHNIKÁK

Formális modellezés és verifikáció

Az UPPAAL egyes modellezési lehetőségeinek összefoglalása. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

Teszttervezés. Majzik István, Micskei Zoltán. Integrációs és ellenőrzési technikák (VIMIA04) Méréstechnika és Információs Rendszerek Tanszék

Struktúra alapú teszttervezési módszerek

Robusztusság tesztelés

Informatikai rendszertervezés

Automatikus kódgenerálás helyességének ellenőrzése

Algoritmizálás, adatmodellezés tanítása 6. előadás

Vállalati információs rendszerek I, MIN5B6IN, 5 kredit, K. 4. A meghirdetés ideje (mintatanterv szerint vagy keresztfélében):

JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése

Informatikai rendszertervezés

MŰSZAKI TESZTTERVEZÉSI TECHNIKÁK A TESZT FEJLESZTÉSI FOLYAMATA A TESZTTERVEZÉSI TECHNIKÁK KATEGÓRIÁI

Részletes szoftver tervek ellenőrzése

Gyakorló feladatok: Formális modellek, temporális logikák, modellellenőrzés. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

R3-COP. Resilient Reasoning Robotic Co-operating Systems. Autonóm rendszerek tesztelése egy EU-s projektben

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Orvosi készülékekben használható modern fejlesztési technológiák lehetőségeinek vizsgálata

Szoftverminőségbiztosítás

V. Félév Információs rendszerek tervezése Komplex információs rendszerek tervezése dr. Illyés László - adjunktus

Eseményvezérelt alkalmazások fejlesztése I 11. előadás. Szoftverek tesztelése

Integrációs mellékhatások és gyógymódok a felhőben. Géczy Viktor Üzletfejlesztési igazgató

SZOFTVERES SZEMLÉLTETÉS A MESTERSÉGES INTELLIGENCIA OKTATÁSÁBAN _ Jeszenszky Péter Debreceni Egyetem, Informatikai Kar jeszenszky.peter@inf.unideb.

Struktúra alapú teszttervezési módszerek

5. gyakorlat Modellek ellenőrzése és tesztelése Megoldások

Miskolci Egyetem Alkalmazott Informatikai Intézeti Tanszék A minőségbiztosítás informatikája. Készítette: Urbán Norbert

IV.3. MODELL-ALAPÚ MÓDSZER KIDOLGOZÁSA IT INFRASTRUKTÚRÁK ROBOSZTUSSÁGÁNAK ELEMZÉSÉHEZ KOCSIS-MAGYAR MELINDA

Digitális technika (VIMIAA02) Laboratórium 1

Petőfi Irodalmi Múzeum. megújuló rendszere technológiaváltás

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Feladat. Bemenő adatok. Bemenő adatfájlok elvárt formája. Berezvai Dániel 1. beadandó/4. feladat április 13. Például (bemenet/pelda.

Digitális technika (VIMIAA02) Laboratórium 1

Nagy bonyolultságú rendszerek fejlesztőeszközei

Részletes tervek ellenőrzése

Élő webes alkalmazások rendszerfelügyelete cím- és tartalomteszteléssel

Valószínűségi modellellenőrzés Markov döntési folyamatokkal

Modellinformációk szabványos cseréje. Papp Ágnes, Debreceni Egyetem EFK

Megoldások a mintavizsga kérdések a VIMIAC04 tárgy ellenőrzési technikák részéhez kapcsolódóan (2017. május)

Modellező eszközök, kódgenerálás

Modellezési alapismeretek

Név: Neptun kód: Pontszám:

Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben. Ráth István

2. gyakorlat: Részletes tervek és forráskód ellenőrzése

Korlátos modellellenőrzés. dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

Digitális technika (VIMIAA02) Laboratórium 4

Aspektus-orientált nyelvek XML reprezentációja. Kincses Róbert Debreceni Egyetem, Informatikai Intézet

Modellellenőrzés. dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

TARTÓSZERKEZETEK TERVEZÉSE ÉS TŰZGÁTLÓ MEGOLDÁSOK BIM ALAPÚ PROJEKTEKNÉL

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

MŰSZAKKIOSZTÁSI PROBLÉMÁK A KÖZÖSSÉGI KÖZLEKEDÉSBEN

Szoftverminőségbiztosítás

Programrendszerek tanúsítása szoftverminőség mérése

Beltéri autonóm négyrotoros helikopter szabályozó rendszerének kifejlesztése és hardware-in-the-loop tesztelése

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

Szekvenciális hálózatok és automaták

Digitális technika (VIMIAA02) Laboratórium 4

Miért is transzformáljunk modelleket? Varró Dániel

SOA modell: Ez az interfész definiálja az elérhető adatokat, és megadja, hogy hogyan lehet azokhoz hozzáférni.

Az előadás vázlata. A SPIN modellellenőrző rendszer. Motivációk. (,,Ha a Microsoft autókat gyártana )

Zárthelyi mintapéldák. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

Önálló labor feladatkiírásaim tavasz

Időzített rendszerek és az UPPAAL II

Modellezési alapismeretek

Unit Teszt. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Unit Teszt / 22

Programozási alapismeretek 1. előadás

ESZKÖZTÁMOGATÁS A TESZTELÉSBEN

Hálózat hidraulikai modell integrálása a Soproni Vízmű Zrt. térinformatikai rendszerébe

The modular mitmót system. DPY kijelző kártya C API

Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E

SCHNETv6 IPv6 a Schönherzben. 5/7/12 Tóth Ferenc - IPv6 a Schönherzben 1

Telepítési és Használati Útmutató

Átírás:

Méréstechnika és Információs Rendszerek Tanszék Automatikus tesztgenerálás modell ellenőrző segítségével Micskei Zoltán műszaki informatika, V. Konzulens: Dr. Majzik István

Tesztelés Célja: a rendszerben lévő hibák megtalálása Módszer: reprezentatív tesztesetek futtatása, és az eredmények összevetése a tesztesetben eltárolt várt kimenettel Problémák a klasszikus tesztelési módszerekkel: Sok energia kézzel előállítani a teszteseteket. A kész kódhoz készített tesztek nem garantálják a követelményeknek megfelelő működést. Könnyű kihagyni lényeges teszteseteket. Automatikus tesztgenerálás modell ellenőrzővel 2

Modell alapú fejlesztés Modell Modell ellenőrzés Rendszermodell (specifikáció) Kódgenerálás Tesztelés Specifikációnak megfelelő tesztek Automatikus tesztgenerálás modell ellenőrzővel 3

Beágyazott rendszerek modellezése Vezérlésorientált működés Esemény válasz Állapottérkép használata a modellezéshez (UML, STATEMATE) Automatikus tesztgenerálás modell ellenőrzővel 4

Rendszerek ellenőrzése: modell ellenőrző eszközök A rendszer állapotterének teljes bejárásával ellenőrzik bizonyos tulajdonságok meglétét A helyes működés bizonyítására szolgálnak Tipikus feladatok: Élőség és holtpontmentesség vizsgálata Egyedi, rendszerspecifikus kritériumok megadása Állapotok, események elérhetősége, sorrendje Általában temporális logikai formulákkal Automatikus tesztgenerálás modell ellenőrzővel 5

Modell alapú tesztelési módszerek Rendszermodell Fedés Fedés meghatározása Kritérium Generálás Konformancia tesztelése Teszt Teszt orákulum Implementáció Automatikus tesztgenerálás modell ellenőrzővel 6

Tesztgenerálás modell ellenőrzővel Az állapottér bejárása: Szabványos fedési kritérium alapján Tesztelő által megadott kritérium alapján Tipikus kritériumok: Állapotok, átmenetek lefedése Változó definiálások és felhasználások lefedése Be- és kimenő átmenet-párok lefedése egy-egy állapothoz Automatikus tesztgenerálás modell ellenőrzővel 7

Hogyan használható a modell ellenőrző teszt generálásra? keyno LineOk PoweOff Error Ready keyyes LineWeak Automatikus tesztgenerálás modell ellenőrzővel 8

Hogyan használható a modell ellenőrző teszt generálásra? PoweOff keyno keyyes LineOk Error LineWeak Kritérium megadása: A LineWeak állapotot soha sem lehet Ready elérni.! (F in_lineweak) Automatikus tesztgenerálás modell ellenőrzővel 9

Hogyan használható a modell ellenőrző teszt generálásra? keyno LineOk Kritérium ellenőrzése modell ellenőrzővel. PoweOff Error Ready keyyes LineWeak Eredmény: a kifejezés nem igaz! Automatikus tesztgenerálás modell ellenőrzővel 10

Hogyan használható a modell ellenőrző teszt generálásra? keyno LineOk Az eszköz ezzel az ellenpéldával demonstrálja, hogy a tulajdonság nem teljesül, az állapot elérhető. PoweOff Error Ready keyyes LineWeak Ez viszont pontosan egy, a LineWeak állapotot lefedő teszteset! Automatikus tesztgenerálás modell ellenőrzővel 11

Automatikus tesztgenerálás Mérnöki modell Matematikai modell Modell ellenőrző Teszteset Tesztelési kritériumok TL TL formula Automatikus tesztgenerálás modell ellenőrzővel 12

A működés menete I. Mérnöki modell Matematikai modell Tesztelési kritériumok Modell A rendszer modelljét ellenőrző t egy modell ellenőrz rző bemeneti nyelvére transzformáljuk. TL TL formula Teszteset Automatikus tesztgenerálás modell ellenőrzővel 13

A működés menete II. Mérnöki modell Matematikai A fedési kritériumokat riumokat modell temporális logikai formulákkal fogalmazzuk meg. Például: Legyen minden Modell egyes állapot lefedve Teszteset ellenőrző tesztek által. Tesztelési kritériumok TL TL formula Automatikus tesztgenerálás modell ellenőrzővel 14

A működés menete III. Mérnöki modell Olyan futást akarunk, ahol teljesül l a kritérium, rium, ezért a formula negáltj ltját ellenőriztetj riztetjük. Tesztelési kritériumok Matematikai modell TL TL formula Modell ellenőrző Teszteset Automatikus tesztgenerálás modell ellenőrzővel 15

A működés menete IV. Mérnöki modell Matematikai modell Modell ellenőrző Teszteset Tesztelési kritériumok TL TL formula A kiadódó ellenpéld ldák egy-egy tesztesetet adnak meg. Automatikus tesztgenerálás modell ellenőrzővel 16

Implementáció Tesztgeneráló program készült: A módszer működésének demonstrálása Hatékonyság vizsgálata Működési lépései: TL kifejezések generálása a fedési kritériumból Rendszermodell transzformálása a modell ellenőrző bemeneti nyelvére Modell ellenőrző paraméterezése, kifejezések ellenőrzése Kimenet szűrése, és a tesztesetet leíró fájl előállítása Automatikus tesztgenerálás modell ellenőrzővel 17

Implementált környezet UML állapottérkép Promela leírás SPIN modell ellenőrző XML Teszteset Fedési kritériumok LTL formula Automatikus tesztgenerálás modell ellenőrzővel 18

Tesztgenerátor osztálydiagram Automatikus tesztgenerálás modell ellenőrzővel 19

Generált kimenet példa teszteset Megadja, hogy mit fed le a teszteset A tesztesethez tartozó eseményszekvencia Automatikus tesztgenerálás modell ellenőrzővel 20

Generált kimenet példa teszteset XSLT segíts tségével HTML formátumra alakítva Automatikus tesztgenerálás modell ellenőrzővel 21

Optimalizáció A tesztgenerálás célja minél gyorsabban, minél rövidebb ellenpéldát találni speciális beállítások szükségesek. Lehetőségek: SPIN-ben a felesleges ellenőrzések letiltása Megfelelő mélységkorlát definiálása Állapotokat tároló hash-tábla méretének helyes megadása Automatikus tesztgenerálás modell ellenőrzővel 22

Mobile példa: Teljes állapotfedésű tesztek Mobiltelefon vezérlését leíró állapottérkép 10 darab állapot, 21 darab átmenet Automatikus tesztgenerálás modell ellenőrzővel 23

Duál automatika példa Valós protokoll 5 darab objektum, 31 állapot, 174 átmenet Komoly feladat, 2e+08 bejárandó állapot Más technikák is kellenek: Állapottér tárolás tömörítve Közelítő módszer alkalmazása (bitstate hashing) Szűkítések a modellben: csatorna méret csökkentés Korábban lefedett kritériumok kihagyása Automatikus tesztgenerálás modell ellenőrzővel 24

Duál automatika példa Teljes állapotfedésű tesztek Automatikus tesztgenerálás modell ellenőrzővel 25

Kiterjesztések Tesztkészlet optimalizálás Legrövidebb/legkisebb tesztkészlet kiválasztása NP-teljes probléma További heurisztikák alkalmazása: mélyen fekvő állapotok előbb, állapottér levágása Illesztés CASE eszközökhöz Teszt menedzselő és futtató keretrendszerek pl. Rational TestManager Automatikus tesztgenerálás modell ellenőrzővel 26

Valósidejű rendszerek Speciális modell ellenőrző, Uppaal: Időzített automaták használata Automatikus tesztgenerálás modell ellenőrzővel 27

Valósidejű rendszerek Óra típusú változók: Valós időt, időzítési feltételeket modellezhetünk Automatikus tesztgenerálás modell ellenőrzővel 28

Generált tesztek State: A teszt időzítési ( input.sending mobile.poweron mobile1.lineok mobile2.callwait ) t=0 inputevent=28 outputevent=14 in_poweron=1 viszonyok #depth=5 is Delay: 6 szerepelnek a generált tesztesetben State: ( input.sending mobile.poweron mobile1.lineok mobile2.callwait ) t=6 inputevent=28 outputevent=14 in_poweron=1 #depth=5 Transitions: input.sending->input.sendinput { 1, inputchannel!, 1 } mobile2.callwait->mobile2.voicemail { inputevent == evkeyyes && t > 5 && in_poweron, inputchannel?, 1 } Automatikus tesztgenerálás modell ellenőrzővel 29

Eredmények összefoglalása Modell alapú tesztelés támogatása Automatikus tesztgeneráló eszköz eseményvezérelt, beágyazott rendszerekhez: tesztek (bejárási útvonalak) generálása Többféle teszt fedési kritérium figyelembe vétele Teszt időzítés automatikus generálása valósidejű rendszerek esetén Modell ellenőrző teszt-specifikus paraméterezése Méretkorlát: A modell ellenőrző képességei (kb. 10 8 állapot) Automatikus tesztgenerálás modell ellenőrzővel 30

Köszönöm a figyelmet! Kérdések Automatikus tesztgenerálás modell ellenőrzővel