Što je testiranje mutacija? (Primjer)

Što je testiranje mutacija?

Testiranje mutacija je vrsta testiranja softvera u kojem se određene izjave izvornog koda mijenjaju/mutiraju kako bi se provjerilo mogu li testni slučajevi pronaći pogreške u izvornom kodu. Cilj mutacijskog testiranja je osigurati kvalitetu testnih slučajeva u smislu robusnosti da bi trebao pasti mutirani izvorni kod.

Promjene napravljene u programu mutanata trebale bi biti izuzetno male kako ne bi utjecale na opći cilj programa. Testiranje mutacija također se naziva strategija testiranja temeljena na greškama jer uključuje stvaranje greške u programu i vrsta je bijela Box Ispitivanje koji se uglavnom koristi za Ispitivanje jedinice.

Mutacija je prvobitno predložena 1971. godine, ali je izgubila na važnosti zbog visokih troškova. Sada je ponovno odabrao paru i naširoko se koristi za jezike kao što su Java i XML.

Kako izvršiti testiranje mutacija?

Izvršite testiranje mutacija

Slijede koraci za provođenje testiranja mutacija (analiza mutacija):

Korak 1: Greške se uvode u izvorni kod programa stvaranjem mnogih verzija koje se nazivaju mutanti. Svaki mutant treba sadržavati jednu grešku, a cilj je uzrokovati neuspjeh verzije mutanta što pokazuje učinkovitost testnih slučajeva.

Korak 2: Testni slučajevi se primjenjuju na izvorni program i također na program mutant. A Testni slučaj trebao bi biti prikladan i prilagođen je za otkrivanje grešaka u programu.

Korak 3: Usporedite rezultate izvornog i mutiranog programa.

Korak 4: Ako izvorni program i mutant programi generiraju različite rezultate, tada je mutant ubijen od strane testnog slučaja. Stoga je testni slučaj dovoljno dobar da otkrije promjenu između izvornog i mutiranog programa.

Korak 5: Ako originalni program i mutant program generiraju isti rezultat, Mutant se održava na životu. U takvim slučajevima potrebno je stvoriti učinkovitije testove koji ubijaju sve mutante.

Kako stvoriti programe mutante?

Stvorite mutantske programe

Mutacija nije ništa drugo nego jedna sintaktička promjena koja se vrši u programskom iskazu. Svaki mutirani program trebao bi se razlikovati od izvornog programa za jednu mutaciju.

Izvorni program Program Mutant
Ako (x>y)

Ispis "Zdravo"

Drugo

Ispis "Bok"

Ako(x <y)

Ispis "Zdravo"

Drugo

Ispis "Bok"

Što promijeniti u programu Mutant?

Postoji nekoliko tehnika koje se mogu koristiti za generiranje mutantnih programa. Pogledajmo ih

Operand zamjenski operatori Izmjena izraza Operaulagatelji Izmjena izjave Operaulagatelji
Zamijenite operand drugim operandom (x s y ili y s x) ili konstantnom vrijednošću. Zamjena operatora ili umetanje novih operatora u naredbu programa. Programske izjave su modificirane za stvaranje mutantnih programa.
Primjer-

If(x>y) zamijeni x i y vrijednosti

If(5>y) zamijeni x konstantom 5

Primjer-

Ako(x==y)

Možemo zamijeniti == u >= i imati mutant program kao

If(x>=y) i umetanje ++ u iskaz

Ako(x==++y)

Primjer-

Izbrišite else dio u if-else izjavi

Izbrišite cijelu if-else naredbu da provjerite kako se program ponaša

Neki od primjera operatora mutacije:

  • Zamjena GOTO oznake
  • Zamjena izjave o povratu
  • Brisanje izjave
  • Umetanje unarnog operatora (Like – i ++)
  • Logička zamjena konektora
  • Zamjena imena usporedivog polja
  • Uklanjanje else dijela u if-else naredbi
  • Dodavanje ili zamjena operatora
  • Zamjena izvoda promjenom podataka
  • Modifikacija podataka za varijable
  • Promjena tipova podataka u programu

Automatizacija testiranja mutacija

Testiranje mutacija oduzima puno vremena i komplicirano ga je ručno izvršiti. Kako biste ubrzali proces, preporučljivo je koristiti alate za automatizaciju. Alati za automatizaciju također smanjuju troškove testiranja.

Popis dostupnih alata-

Vrste testiranja mutacija

In Programsko inženjerstvo, Testiranje mutacije moglo bi se temeljno kategorizirati u 3 vrste – mutacija izjave, mutacija odluke i mutacija vrijednosti.

  1. Mutacija izjave – programer izrezuje i lijepi dio koda čiji rezultat može biti uklanjanje nekih redaka
  2. Mutacija vrijednosti– mijenjaju se vrijednosti primarnih parametara
  3. Mutacija odluke– kontrolne izjave treba promijeniti

Rezultat mutacije

Rezultat mutacije definiran je kao postotak ubijenih mutanata s ukupnim brojem mutanata.

  • Rezultat mutacije = (Ubijeni mutanti / Ukupan broj mutanata) * 100

Rezultat mutacije

Testni slučajevi su primjereni mutaciji ako je rezultat 100%. Eksperimentalni rezultati pokazali su da je testiranje mutacija učinkovit pristup za mjerenje primjerenosti testnih slučajeva. No, glavni nedostatak je visok trošak generiranja mutanata i izvršavanja svakog testa protiv tog programa mutanata.

Prednosti testiranja mutacija

Sljedeće su prednosti testiranja mutacija:

  • To je moćan pristup za postizanje visoke pokrivenosti izvornog programa.
  • Ovo testiranje je sposobno sveobuhvatno testirati mutant program.
  • Testiranje mutacija razvijaču softvera donosi dobru razinu otkrivanja pogrešaka.
  • Ova metoda otkriva dvosmislenosti u izvornom kodu i ima sposobnost otkrivanja svih grešaka u programu.
  • Kupci imaju koristi od ovog testiranja dobivanjem najpouzdanijeg i najstabilnijeg sustava.

Nedostaci testiranja mutacija

S druge strane, sljedeći su nedostaci testiranja mutanata:

  • Testiranje mutacija iznimno je skupo i dugotrajno jer postoji mnogo mutantnih programa koje je potrebno generirati.
  • Budući da oduzima puno vremena, pošteno je reći da se ovo testiranje ne može provesti bez alata za automatizaciju.
  • Svaka mutacija će imati isti broj testnih slučajeva od onog u izvornom programu. Dakle, velik broj mutantnih programa možda će morati biti testiran u odnosu na izvorni paket testova.
  • Budući da ova metoda uključuje promjene izvornog koda, uopće nije primjenjiva na Crna Box Ispitivanje.

Zaključak

Želite li iscrpno testiranje svoje aplikacije? Odgovor je testiranje mutacija. To je najopsežnija tehnika testiranja programa. Ovo je metoda kojom se provjerava učinkovitost i točnost programa testiranja kako bi se otkrile greške ili pogreške u sustavu.