Mutációs tesztelés
A mutációs tesztelés egy olyan szoftveres tesztelés, amelynek során a forráskód egyes állí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 mutációs tesztelés célja a tesztesetek minőségének biztosítása a robusztusság szempontjából, hogy meghiúsuljon a mutált forráskód.
A mutáns programban végrehajtott változtatásokat rendkívül kicsiben kell tartani, hogy az ne befolyásolja a program általános célját. A mutációs tesztet hibalapú tesztelési stratégiának is nevezik, mivel ez magában foglalja a program hibájának létrehozását, és ez egy olyan fehér doboz tesztelés, amelyet főként az egység tesztelésére használnak.
A mutációt eredetileg 1971-ben javasolták, de a magas költségek miatt elvesztette a lelkesedést. Most ismét gőzerőt vett, és széles körben használják olyan nyelveknél, mint a Java és az XML.
Ebben az oktatóanyagban megtanulja-
- Mi a mutációs teszt?
- Hogyan végezhető el a mutációs teszt?
- Hogyan hozhatunk létre mutáns programokat?
- Mit kell változtatni egy mutáns programon?
- A mutációs tesztelés típusai
- Mutációs pontszám:
- A mutációs teszt előnyei:
- A mutációs tesztelés hátrányai:
Hogyan végezhető el a mutációs teszt?
Az alábbiakban bemutatjuk a mutációs teszt (mutációanalízis) végrehajtásának lépéseit:
1. lépés : A hibákat a mutánsoknak nevezett sok változat 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 bizonyítja a tesztesetek hatékonyságát.
2. lépés : A teszteseteket az eredeti programra és a mutáns programra is alkalmazzuk. A tesztesetnek megfelelőnek kell lennie, és a program hibáinak felderítésére van szükség.
3. lépés : Hasonlítsa össze egy eredeti és mutáns program eredményeit.
4. lépés : Ha az eredeti program és a mutáns programok eltérő kimenetet generálnak, akkor ezt a mutánt a teszteset megöli. Ezért a teszteset elég jó az eredeti és a mutáns program közötti változás észleléséhez.
5. lépés : Ha az eredeti program és a mutáns program ugyanazt a kimenetet generálja, a Mutant életben marad. Ilyen esetekben hatékonyabb teszteseteket kell létrehozni, amelyek megölik az összes mutánt.
Hogyan hozhatunk létre mutáns programokat?
A mutáció nem más, mint egyetlen szintaktikai változás, amelyet a program utasításban végrehajtanak. 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) "Hello" nyomtatása Egyéb nyomtatás "Hi" | Ha ( x Egyéb nyomtatás "Hi" |
Mit kell változtatni egy mutáns programon?
Számos technika alkalmazható mutáns programok létrehozására. Nézzük meg őket
Operandcsere operátorok | Kifejezésmódosító operátorok | Nyilatkozatmódosítás Operátorok |
---|---|---|
Cserélje le az operandust egy másik operandusra (x-et y-re vagy y-t x-re), vagy az állandó értékre. | Cseréljen le egy operátort, vagy helyezzen be új operátorokat egy programkivonatba. | A programozási utasításokat módosítják mutáns programok létrehozására. |
Példa- Ha (x> y) cserélje le az x és y értékeket, az If (5> y) helyettesítse az x értéket az 5 állandóval | Példa- Ha (x == y) Helyettesíthetjük az == értéket> = értékre, és mutáns programunk If (x> = y) formátumú lehet, és a ++ beszúrása az If (x == ++ y) utasításba | Példa- törölje az if-else utasítás másik részét. Törölje a teljes if-else utasítást, hogy ellenőrizze a program viselkedését. Néhány minta mutációs operátor:
|
A mutációs tesztelés automatizálása:
A mutáció tesztelése rendkívül időigényes és bonyolult a manuális végrehajtás. A folyamat felgyorsítása érdekében tanácsos automatizálási eszközöket keresni. 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 -
- Stryker
- PIT tesztelés
A mutációs tesztelés típusai
A szoftverfejlesztésben a mutációs tesztelés alapvetően 3 típusba sorolható - állításmutáció, döntési mutáció és értékmutáció.
- Statement Mutation - a fejlesztő kivágja és beilleszti a kód egy részét, amelynek 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ési utasításokat meg kell változtatni
Mutációs pontszám:
A mutációs pontszámot a megölt mutánsok százalékos arányaként határozzuk meg a mutánsok teljes számával.
- Mutációs pontszám = (megölt mutánsok / a mutánsok teljes száma) * 100
A tesztesetek megfelelő mutációval rendelkeznek, ha a pontszám 100%. A kísérleti eredmények azt mutatták, hogy a mutációs tesztelés hatékony megközelítés a tesztesetek megfelelőségének mérésére. De a fő hátrány 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égei vannak.
A mutációs teszt előnyei:
A mutációs teszt előnyei a következők:
- Hatékony megközelítés a forrásprogram magas lefedettségének elérése érdekében.
- Ez a teszt képes átfogóan tesztelni a mutáns programot.
- A mutációs tesztek jó szintű hibadetektálást hoznak a szoftverfejlesztő számára.
- Ez a módszer feltárja a kétértelműségeket a forráskódban, és képes felismerni a program összes hibáját.
- Az ügyfelek számára ez a teszt a legmegbízhatóbb és legbiztonságosabb rendszer megszerzésével jár.
A mutációs tesztelés hátrányai:
A másik oldalon a következők mutatják a mutáns tesztelés hátrányait:
- A mutáció tesztelése rendkívül költséges és időigényes, mivel sok mutáns programot kell létrehozni.
- Mivel időigényes, méltányos azt mondani, hogy ez a teszt nem végezhető el automatizáló eszköz nélkül.
- Minden mutációnak ugyanannyi tesztesete lesz, mint az eredeti programban. Tehát nagyszámú mutáns programot kell tesztelni az eredeti tesztcsomaggal szemben.
- Mivel ez a módszer magában foglalja a forráskód megváltoztatását, egyáltalán nem alkalmazható a fekete doboz tesztelésére.
Következtetés:
Szeretne kimerítő tesztelni az alkalmazását? A válasz a mutációs teszt. Ez a legátfogóbb technika egy program tesztelésére. Ez az a módszer, amely ellenőrzi a tesztelő program hatékonyságát és pontosságát a rendszer hibáinak vagy hibáinak felderítésére.