Mi az a modell alapú tesztelés?
Mi az a modell alapú tesztelés?
A modellalapú tesztelés egy olyan szoftvertesztelési technika, amely során a tesztelt szoftver futási idejű viselkedését a modell által adott előrejelzésekkel ellenőrzik. A modell egy rendszer viselkedésének leírása. A viselkedés leírható bemeneti szekvenciákkal, műveletekkel, feltételekkel, kimenettel és a bemenettől a kimenetig terjedő adatáramlással. Gyakorlatilag érthetőnek és újrafelhasználhatónak kell lennie; megoszthatónak pontos leírást kell tartalmaznia a tesztelt rendszerről.
Számos modell áll rendelkezésre, és a rendszer viselkedésének különböző aspektusait írja le. Példák a modellre:
- Adatáramlás
- Ellenőrző áramlás
- Függőségi grafikonok
- Határozati táblázatok
- Állapotváltó gépek
A modellalapú tesztelés leírja, hogy egy rendszer hogyan viselkedik egy (a modell által meghatározott) műveletre válaszul. Adjon műveletet, és ellenőrizze, hogy a rendszer az elvárásoknak megfelelően reagál-e.
Ez egy könnyű formális módszer a rendszer érvényesítésére. Ez a tesztelés hardver és szoftver tesztelésre egyaránt alkalmazható.
Modell alapú tesztelési példa
A fenti modell elmagyarázza a jegyzettömbben történő versírás egyszerűsített megközelítését és az egyes lépésekhez kapcsolódó lehetséges műveleteket. Minden egyes művelethez (például kezdés, vers beírása, mentés), Teszt eset generálható, és a kimenet ellenőrizhető.
Az MBT típusai
Kétféle modell alapú tesztelési keret létezik:
- Offline / a priori: Tesztcsomagok generálása a végrehajtás előtt. A tesztcsomag nem más, mint tesztesetek gyűjteménye.
- Online / on-the-fly: Tesztcsomagok generálása tesztvégrehajtás során
Különböző modellek a tesztelésben
Az MBT megértéséhez meg kell érteni néhány alább ismertetett modellt. Nézzük ezeket egyenként:
Véges állapotú gépek
Ez a modell segít a tesztelőknek az eredmény értékelésében a kiválasztott bemenettől függően. A bemenetek különféle kombinációi a rendszer megfelelő állapotát eredményezhetik.
A rendszernek meghatározott állapota és aktuális állapota lesz, amelyet a tesztelők által megadott bemenetek vezérelnek.
Vegye figyelembe a példát -
Van egy rendszer, amely lehetővé teszi az alkalmazottak számára, hogy bejelentkezzenek az alkalmazásba. Most a munkavállaló jelenlegi állapota „Ki”, és a rendszerbe való bejelentkezés után „Be” lett. Az „in” állapotban az alkalmazott megtekintheti, kinyomtathatja és beszkennelheti a rendszerben lévő dokumentumokat.
Állami diagramok
Ez a véges állapotú gép kiterjesztése, és összetett és valós idejű rendszerekben használható. Az állapotdiagramok a rendszer különféle viselkedéseinek leírására szolgálnak. Határozott számú állapota van. A rendszer viselkedését elemzik és események formájában ábrázolják minden állapotra vonatkozóan.
Például -
A hibák a hibakezelő eszközben jelennek meg Új állapotú. Miután a fejlesztők kijavították, át kell állítani Javítva állapotra. Ha a hibát nem javították ki, módosítsa az állapotot Újranyitásra. Az állapotdiagramokat úgy kell megtervezni, hogy minden államhoz egy-egy eseményt hívjanak fel.
Egységes modellezési nyelv (UML)
Egységes modellezési nyelv (UML) egy szabványos, általános célú modellező nyelv. Az UML egy sor grafikus jelölési technikát tartalmaz a rendszer nagyon bonyolult viselkedését leíró vizuális modellek létrehozásához.
Az UML olyan jelölésekkel rendelkezik, mint például:
- Tevékenységek
- Actors
- Üzleti folyamat
- alkatrészek
- Programozási nyelv
A modell alapú tesztelés kihívásai
Az MBT bevezetése minden szervezetben nyilvánvalóan nagy befektetést és erőfeszítést igényel. Az alábbiakban bemutatjuk az MBT hátrányait Szoftverfejlesztés.
- A tesztelőknél szükséges készségek
- A tanulási görbe ideje több lesz
- Magát a modellt nehéz megérteni
A modelltesztelés előnyei
Az MBT előnyei a következők:
- Egyszerű teszteset/csomag karbantartás
- Költségcsökkentés
- Továbbfejlesztett teszt lefedettség
- Különféle teszteket tud futtatni n számú gépen
- A hiba korai felismerése
- A hibák számának növekedése
- Időmegtakarítás
- Fokozottabb tesztelői elégedettség
Következtetés
A tesztelők egyébként is mentális modelleket konstruálnak a tesztelés során. Ezek a mentális modellek papíron modellekké alakíthatók. Ez segíti a tesztelőket az olvashatóság és az újrafelhasználhatóság elérésében.
A modell alapú tesztelés egy új megközelítés szoftver tesztelés. A szoftvertesztelés fejlődése az alábbiakban látható -