Ispitivanje mutacije u testiranju softvera: Mutant Score & Primjer analize

Sadržaj:

Anonim

Ispitivanje mutacija

Mutacijsko testiranje vrsta je softverskog testiranja u kojoj se određene naredbe 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 ne uspije mutiranom izvornom kodu.

Promjene napravljene u programu mutanata trebale bi biti izuzetno male da ne bi utjecale na opći cilj programa. Mutacijsko testiranje također se naziva strategijom testiranja temeljenom na greškama jer uključuje stvaranje kvara u programu i to je vrsta testiranja bijele kutije koja se uglavnom koristi za jedinstveno testiranje.

Mutacija je prvotno predložena 1971. godine, ali je izgubila žar zbog visokih troškova. Sada je opet uzeo pare i široko se koristi za jezike kao što su Java i XML.

U ovom vodiču naučit ćete-

  • Što je ispitivanje mutacija?
  • Kako izvršiti testiranje mutacije?
  • Kako stvoriti programe za mutante?
  • Što promijeniti u programu mutanta?
  • Vrste ispitivanja mutacija
  • Ocjena mutacije:
  • Prednosti ispitivanja mutacija:
  • Nedostaci ispitivanja mutacija:

Kako izvršiti testiranje mutacije?

Slijede koraci za provođenje ispitivanja mutacije (analiza mutacije):

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

Korak 2 : Test slučajevi primjenjuju se na izvorni program, a također i na program mutanata. Test slučaj trebao bi biti odgovarajući i dotjeran da bi se otkrile greške u programu.

Korak 3 : Usporedite rezultate izvornog i mutiranog programa.

Korak 4 : Ako izvorni program i programi mutanata generiraju različit izlaz, tada je test mutacija ubijen. Stoga je testni slučaj dovoljno dobar da otkrije promjenu između izvornog i mutantnog programa.

Korak 5 : Ako izvorni program i program mutanta generiraju isti izlaz, Mutant se održava na životu. U takvim slučajevima treba stvoriti učinkovitije test slučajeve koji ubijaju sve mutante.

Kako stvoriti programe za mutante?

Mutacija nije ništa drugo do jedna sintaktička promjena koja je izvršena u programskom iskazu. Svaki program mutanta trebao bi se razlikovati od izvornog programa po jednoj mutaciji.

Izvorni program Program mutanata
Ako (x> y)
Ispis "Zdravo"
Inače
ispis "Bok"
Ako ( x )Ispis "Zdravo"
Inače
Ispis "Bok"

Što promijeniti u programu mutanta?

Postoji nekoliko tehnika koje se mogu koristiti za stvaranje programa mutanata. Pogledajmo ih

Operatori zamjene operanda Operatori modifikacije izraza Operatori za izmjenu izjave
Zamijenite operand drugim operandom (x y ili y s x) ili konstantnom vrijednošću. Zamijenite operatora ili umetanje novih operatora u programski izraz. Programske izjave modificirane su kako bi se stvorili programi mutanata.
Primjer -
Ako (x> y) zamijenite vrijednosti x i y
Ako (5> y) zamijenite x konstantom 5
Primjer-
Ako (x == y)
Možemo zamijeniti == u> = i imati program mutanta kao
If (x> = y) i umetanjem ++ u izjavu
If (x == ++ y)
Primjer -
Izbrišite dio else u naredbi if-else
Izbrišite cijelu naredbu if-else da biste provjerili kako se program ponaša
Neki od operatora mutacije uzorka:
  • GOTO zamjena naljepnice
  • Povratak zamjene izvoda
  • Brisanje izjave
  • Ujedno umetanje operatora (poput - i ++)
  • Zamjena logičkog konektora
  • Usporedna zamjena imena niza
  • Uklanjanje dijela else u naredbi if-else
  • Dodavanje ili zamjena operatora
  • Zamjena izjave promjenom podataka
  • Izmjena podataka za varijable
  • Izmjena vrsta podataka u programu

Automatizacija ispitivanja mutacija:

Testiranje mutacija izuzetno je dugotrajno i složeno je ručno izvršiti. Da biste ubrzali postupak, poželjno je odabrati alate za automatizaciju. Alati za automatizaciju također smanjuju troškove ispitivanja.

Popis dostupnih alata -

  • Strykeru
  • PIT ispitivanje

Vrste ispitivanja mutacija

U softverskom inženjerstvu, ispitivanje mutacija moglo bi se u osnovi podijeliti u 3 vrste - mutacija izjava, mutacija odluke i mutacija vrijednosti.

  1. Izjava mutacija - programer je izrezao i zalijepio dio koda čiji bi rezultat mogao biti uklanjanje nekih redaka
  2. Vrijednost Mutacija - vrijednosti primarnih parametara se mijenjaju
  3. Mutacija odluke - kontrolne izjave treba izmijeniti

Ocjena mutacije:

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

  • Ocjena mutacije = (ubijeni mutanti / ukupan broj mutanata) * 100

Ispitni slučajevi odgovaraju mutaciji ako je rezultat 100%. Eksperimentalni rezultati pokazali su da je ispitivanje mutacija učinkovit pristup za mjerenje adekvatnosti test slučajeva. Ali, glavni je nedostatak visoka cijena generiranja mutanata i izvršavanja svakog test slučaja protiv tog mutantnog programa.

Prednosti ispitivanja mutacija:

Slijede prednosti mutiranja:

  • Moćan je pristup postizanju velike pokrivenosti izvornog programa.
  • Ovo testiranje je sposobno sveobuhvatno testirati program mutanata.
  • Ispitivanje mutacija donosi dobru razinu otkrivanja pogrešaka programeru softvera.
  • Ova metoda otkriva nejasnoće u izvornom kodu i ima sposobnost otkrivanja svih grešaka u programu.
  • Kupci imaju koristi od ovog testiranja dobivanjem najpouzdanijeg i najstabilnijeg sustava.

Nedostaci ispitivanja mutacija:

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

  • Ispitivanje mutacija izuzetno je skupo i dugotrajno jer postoji mnogo programa za mutiranje koje treba generirati.
  • Budući da je dugotrajno, pošteno je reći da se ovo testiranje ne može provesti bez alata za automatizaciju.
  • Svaka će mutacija imati jednak broj testnih slučajeva od onog izvornog programa. Dakle, velik broj programa mutanata možda će trebati testirati u odnosu na izvorni testni paket.
  • Budući da ova metoda uključuje promjene izvornog koda, uopće nije primjenjiva za testiranje crne kutije.

Zaključak:

Želite li iscrpno testiranje svoje prijave? Odgovor je testiranje mutacije. To je najopsežnija tehnika za testiranje programa. Ovo je metoda kojom se provjerava učinkovitost i točnost programa ispitivanja za otkrivanje kvarova ili pogrešaka u sustavu.