Mutációs tesztelés a szoftver tesztelésében: Mutant Score & Elemzési példa

Tartalomjegyzék:

Anonim

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 )"Hello" nyomtatása
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:
  • GOTO címke csere
  • Visszatérési nyilatkozat cseréje
  • Nyilatkozat törlése
  • Unáris operátor beszúrása (Like - és ++)
  • Logikai csatlakozók cseréje
  • Összehasonlítható tömb névcsere
  • Az if-else utasítás másik részének eltávolítása
  • Operátorok hozzáadása vagy cseréje
  • Nyilatkozatcsere az adatok megváltoztatásával
  • A változók adatmódosítása
  • Adattípusok módosítása a programban

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ó.

  1. 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
  2. Értékmutáció - az elsődleges paraméterek értékei módosulnak
  3. 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.