Testiranje mutacija u testiranju softvera: Ocjena mutanta i primjer analize

Ispitivanje mutacija

Ispitivanje mutacija je vrsta testiranja softvera u kojoj se određeni iskazi izvornog koda mijenjaju/mutiraju kako bi se provjerilo mogu li testni slučajevi pronaći greške u izvornom kodu. Cilj testiranja mutacija je osigurati kvalitetu testnih slučajeva u smislu robusnosti da ne bi uspio mutirani izvorni kod.

Promjene napravljene u mutantnom programu trebale bi biti izuzetno male kako ne bi utjecale na opći cilj programa. Testiranje mutacija naziva se i strategija testiranja temeljena na greškama jer uključuje stvaranje greške u programu, a to je vrsta Testiranje bijele kutije koji se uglavnom koristi za Jedinstveno testiranje .

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

U ovom vodiču ćete naučiti-

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 testnih slučajeva.

Korak 2 : Test slučajevi se primjenjuju na izvorni program, a također i na mutantni program. A Test Case bi trebao biti adekvatan i prilagođen je za otkrivanje grešaka u programu.

Korak 3 : Usporedite rezultate izvornog i mutiranog programa.

Korak 4 : Ako izvorni program i programi mutanata generiraju različit izlaz, testni slučaj ubija tog mutanta. Stoga je testni slučaj dovoljno dobar da otkrije promjenu između izvornog i mutiranog programa.

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

Kako stvoriti mutantne programe?

Mutacija nije ništa drugo do jedna sintaksička promjena koja se vrši u programskom izrazu. Svaki mutantni program trebao bi se razlikovati od izvornog programa po jednoj mutaciji.

Izvorni program Mutant program
Ako (x> y)

Ispis 'Hello'

Drugo

Ispis 'Zdravo'

Ako( x )

Ispis 'Hello'

Drugo

Ispis 'Zdravo'

Što promijeniti u mutantnom programu?

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

Operatori zamjene operanda Operatori izmjene izraza Operatori izmjene izjave
Zamijenite operand drugim operandom (x sa y ili y sa x) ili konstantnom vrijednošću. Zamijenite operator ili umetnite nove operatore u programski izraz. Programski iskazi modificirani su za stvaranje mutantnih programa.
Primjer-

Ako (x> y) zamijenite vrijednosti x i y

Ako (5> y) zamijenite x konstantom 5

Primjer-

Ako je (x == y)

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

Ako (x> = y) i umetnuvši ++ u izraz

Ako je (x == ++ y)
Primjer-

Izbrišite dio else u naredbi if-else

Izbrišite cijelu naredbu if-else kako biste provjerili kako se program ponaša

Neki od operatora uzorkovanja mutacije:
  • GOTO zamjena naljepnica
  • Zamjena izvoda povrata
  • Brisanje izjave
  • Unarni unos operatora (poput - i ++)
  • Zamjena logičke spojnice
  • Zamjena usporedivog imena niza
  • Uklanjanje else dijela u if-else naredbi
  • Dodavanje ili zamjena operatora
  • Zamjena izvoda promjenom podataka
  • Modifikacija podataka za varijable
  • Izmjena vrsta podataka u programu

Automatizacija testiranja mutacija:

Testiranje mutacija izuzetno je dugotrajno i komplicirano za ručno izvođenje. Kako biste ubrzali proces, preporučljivo je koristiti alate za automatizaciju. Alati za automatizaciju također smanjuju troškove testiranja.

Popis dostupnih alata -

Vrste ispitivanja mutacija

U softverskom inženjeringu, testiranje mutacija moglo bi se temeljno kategorizirati u 3 tipa - mutaciju iskaza, mutaciju odluke i vrijednosnu mutaciju.

  1. Mutacija iskaza - programer izrezuje i lijepi dio koda čiji ishod može biti uklanjanje nekih redaka
  2. Vrijednosna mutacija - vrijednosti primarnih parametara se mijenjaju
  3. Mutacija odluke - potrebno je promijeniti kontrolne izjave

Ocjena mutacije:

Ocjena mutacije definirana je kao postotak ubijenih mutanata s ukupnim brojem mutanata.

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

Test slučajevi odgovaraju mutaciji ako je rezultat 100%. Eksperimentalni rezultati pokazali su da je testiranje mutacije učinkovit pristup za mjerenje primjerenosti testnih slučajeva. No, glavni nedostatak je visoki trošak generiranja mutanata i izvršavanja svakog testnog slučaja u odnosu na taj mutantni program.

Prednosti mutacijskog testiranja:

Slijede prednosti mutacijskog testiranja:

  • To je moćan pristup za postizanje visoke pokrivenosti izvornog programa.
  • Ovo testiranje može sveobuhvatno testirati mutantni program.
  • Testiranje mutacija donosi dobru razinu otkrivanja grešaka razvojnom programeru.
  • Ova metoda otkriva nejasnoće u izvornom kodu i ima sposobnost otkriti sve greške u programu.
  • Korisnici imaju koristi od ovog testiranja dobivanjem najpouzdanijeg i najstabilnijeg sustava.

Nedostaci testiranja mutacija:

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

  • Testiranje mutacija iznimno je skupo i oduzima mnogo vremena jer postoji mnogo programa mutanata koje je potrebno generirati.
  • S obzirom da oduzima puno vremena, može se reći da se ovo testiranje ne može obaviti bez alata za automatizaciju.
  • Svaka će mutacija imati isti broj testnih slučajeva od one izvornog programa. Dakle, možda će se morati testirati veliki broj mutiranih programa u odnosu na izvorni paket testova.
  • Kako ova metoda uključuje promjene izvornog koda, uopće se ne primjenjuje za Testiranje crne kutije .

Zaključak:

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