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 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:
|
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.
- Izjava mutacija - programer je izrezao i zalijepio dio koda čiji bi rezultat mogao biti uklanjanje nekih redaka
- Vrijednost Mutacija - vrijednosti primarnih parametara se mijenjaju
- 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.