Mi az a mutációs tesztelés? (Példa)
Mi az a mutációs tesztelés?
Mutációs tesztelés A szoftverteszt egy olyan típusa, amelyben a forráskód bizonyos utasításait megváltoztatják/mutálják annak ellenőrzésére, hogy a tesztesetek képesek-e hibákat találni a forráskódban. A Mutation Testing célja a tesztesetek minőségének biztosítása a robusztusság szempontjából, hogy megbukjon a mutált forráskóddal.
A mutáns programban végrehajtott változtatásokat rendkívül kicsiben kell tartani, hogy ne befolyásolják a program általános célját. A mutációtesztelést hiba alapú tesztelési stratégiának is nevezik, mivel magában foglalja a programban történő hiba létrehozását, és ez egyfajta fehér Box Tesztelés amelyet főleg arra használnak Egység tesztelése.
A mutációt eredetileg 1971-ben javasolták, de a magas költségek miatt elvesztette a lelkesedését. Most ismét elterjedt, és széles körben használják olyan nyelveken, mint pl Java és XML.
Hogyan kell végrehajtani a mutációtesztet?
A mutációs tesztelés (mutációanalízis) végrehajtásának lépései a következők:
1 lépés: A hibákat mutánsoknak nevezett változatok létrehozásával vezetik be a program forráskódjába. Minden mutánsnak egyetlen hibát kell tartalmaznia, és a cél az, hogy a mutáns verzió meghibásodjon, ami a tesztesetek hatékonyságát mutatja.
2 lépés: A tesztesetek az eredeti programra és a mutáns programra is vonatkoznak. A Teszt eset megfelelőnek kell lennie, és úgy van beállítva, hogy észlelje a program hibáit.
3 lépés: Hasonlítsa össze az eredeti és a mutáns program eredményeit.
4 lépés: Ha az eredeti program és a mutáns programok eltérő kimenetet generálnak, akkor a teszteset megöli a mutánst. Ezért a teszteset elég jó az eredeti és a mutáns program közötti változás észlelésére.
5 lépés: Ha az eredeti program és a mutáns program ugyanazt a kimenetet generálja, a mutáns életben marad. Ilyen esetekben hatékonyabb teszteseteket kell létrehozni, amelyek elpusztítják az összes mutánst.
Hogyan készítsünk mutáns programokat?
A mutáció nem más, mint egyetlen szintaktikai változtatás, amelyet a program utasításában hajtanak végre. Minden mutáns programnak egy mutációval kell különböznie az eredeti programtól.
Eredeti Program | Mutáns Program |
---|---|
Ha (x>y)
Nyomtassa ki a „Hello” Más Nyomtassa ki a "Szia" |
Ha(x<y)
Nyomtassa ki a „Hello” Más Nyomtassa ki a "Szia" |
Mit kell megváltoztatni a Mutant Programban?
Számos technika használható mutáns programok generálására. Nézzük meg őket
Operaés helyettesítő operátorok | Kifejezés módosítása Operatorzok | Nyilatkozat módosítása Operatorzok |
---|---|---|
Cserélje ki az operandust egy másik operandusra (x-et y-vel vagy y-t x-szel) vagy a konstans értékkel. | Operátor cseréje vagy új operátorok beszúrása a programutasításban. | A programozott utasításokat úgy módosítják, hogy mutáns programokat hozzanak létre. |
Példa-
Ha(x>y) cserélje ki az x és y értékeket Ha(5>y) cserélje ki x-et 5 konstansra |
Példa-
Ha(x==y) Helyettesíthetjük az ==-t >=-ra, és mutáns programunk lehet as If(x>=y) és ++ beillesztése az utasításba Ha(x==++y) |
Példa-
Törölje az else részt az if-else utasításban Törölje a teljes if-else utasítást a program viselkedésének ellenőrzéséhez Néhány minta mutációs operátor:
|
A mutációteszt automatizálása
A mutációteszt rendkívül időigényes és bonyolult manuálisan végrehajtani. A folyamat felgyorsítása érdekében célszerű automatizálási eszközöket választani. Az automatizálási eszközök csökkentik a tesztelés költségeit is.
A rendelkezésre álló eszközök listája -
A mutációvizsgálat típusai
In Szoftverfejlesztés, A mutációtesztelés alapvetően 3 típusba sorolható – utasításmutáció, döntésmutáció és értékmutáció.
- Állítás mutáció – a fejlesztő kivágja és beilleszti a kód egy részét, aminek az eredménye lehet néhány sor eltávolítása
- Értékmutáció– az elsődleges paraméterek értékei módosulnak
- Döntési mutáció– az ellenőrző nyilatkozatokat módosítani kell
Mutációs pontszám
A mutációs pontszám az elölt mutánsok százalékos aránya a mutánsok teljes számához viszonyítva.
- Mutációs pontszám = (elölt mutánsok / összes mutáns száma) * 100
A tesztesetek mutáció megfelelő, ha a pontszám 100%. A kísérleti eredmények azt mutatták, hogy a mutációs tesztelés hatékony módszer a tesztesetek megfelelőségének mérésére. A fő hátrány azonban az, hogy a mutánsok előállításának és az egyes teszteseteknek a mutáns programmal szembeni végrehajtásának magas költsége.
A mutációteszt előnyei
A mutációtesztelés előnyei a következők:
- Ez egy hatékony megközelítés a forrásprogram magas lefedettségének elérésére.
- Ez a teszt képes átfogóan tesztelni a mutáns programot.
- A mutációtesztelés jó szintű hibaészlelést biztosít a szoftverfejlesztő számára.
- Ez a módszer feltárja a forráskód kétértelműségét, és képes észlelni a program összes hibáját.
- Az ügyfelek számára ez a tesztelés a legmegbízhatóbb és legstabilabb rendszer hasznára válik.
A mutációteszt hátrányai
Másrészt a mutánstesztelés hátrányai a következők:
- A mutációk tesztelése rendkívül költséges és időigényes, mivel sok mutáns programot kell létrehozni.
- Mivel időigényes, mondhatjuk, hogy ez a tesztelés nem végezhető el automatizálási eszköz nélkül.
- Minden mutációnak ugyanannyi tesztesete lesz, mint az eredeti programé. Ezért előfordulhat, hogy nagyszámú mutáns programot kell tesztelni az eredeti tesztkészlettel szemben.
- Mivel ez a módszer forráskód módosításokat tartalmaz, egyáltalán nem alkalmazható erre Fekete Box Tesztelés.
Következtetés
Szeretné alkalmazásának kimerítő tesztelését? A válasz Mutációteszt. Ez a legátfogóbb technika a program tesztelésére. Ez az a módszer, amely egy tesztelési program hatékonyságát és pontosságát ellenőrzi a rendszer hibáinak vagy hibáinak észlelésére.