Mutatsiooni testimine - Mutatsiooni testimise eelised ja puudused

Lang L: none (table-of-contents):

Anonim

Mis on mutatsiooni testimine?

Kuna sõna 'muteeruma' tähendab üldiselt 'muutust', tähendab see ka mutatsiooni testimist. Mutatsioonitestimine on tarkvara testimise tüüp, mida tehakse koodiosa muutmise või muteerimise teel, et kontrollida / kontrollida, kas testjuhtumid on piisavalt võimelised vigade / defektide leidmiseks. Mutatsioonitestimine kuulub White Boxi testimise alla ja seda tehakse põhimõtteliselt rakenduse konkreetse mooduli ühiktestide tegemise ajal. Lähte- / põhikoodis tehtud muudatusi tehakse väikeses koguses, nii et see ei mõjutaks selle üldeesmärki. Seda nimetatakse ka tõrke tuvastamise tehnikaks, kuna seda tehakse testjuhtumite nõrkuse tuvastamiseks, luues tõrke algkoodi.

Enne mis tahes testimist on väga oluline mõista selle taga olevat eesmärki. Mutatsioonitestimise peamine eesmärk on leida välja töötatud testijuhtumite tõhusus, mis peaks olema piisavalt võimekas isegi koodis tehtud väikeste muudatuste tuvastamiseks. Seda tehakse testkomplekti probleemide ja testandmete leidmiseks, mida kasutatakse tarkvararakenduste testimisel. Algsest koodist luuakse mitu mutanti või versiooni ja igaüks neist testitakse algsete testjuhtumite suhtes. Kui testijuhtumi tulemused jäävad samaks, nagu oleme algses koodis, kontrollitakse uuesti nii koodi kui ka testjuhtumeid, kuna kas koodi ei täidetud või pole testikomplekt mutandi koodi leidmiseks piisav.

Mutatsiooni testimise tüübid

Põhimõtteliselt on olemas 3 tüüpi mutatsioonitesti, mis tehakse algkoodi mutantide loomiseks:

1. Väärtuse muteerimine

Nagu nimest nähtub, muudetakse väärtuse mutatsioonis konstandite väärtust, meetodites edastatud parameetreid, silmustes kasutatavaid väärtusi mutantprogrammi loomiseks. Kas suur väärtus muudetakse väiksemaks või vastupidi. Põhimõtteliselt muudetakse programmis juba määratletud väärtusi väärtuse muteerimise teostamiseks.

Algne kood:

int a = 75636737;
int b = 3454;
int mult = a * b;
print(mult);

Mutandi kood:

int a = 75;
int b = 345466465;
int mult = a * b;
print(mult);

2. Otsuse muteerimine

Otsuse muteerimisel muudetakse programmis kasutatavaid loogilisi ja aritmeetilisi operaatoreid, mis muudab programmi üldist otsustusprotsessi ja selle vastavaid tulemusi. Näiteks teatud 'if' -käsk töötab ainult siis, kui (a> b). Mutantskoodis muudetakse seda operaatorit väärtuseks (a <b), mis muudab koodis üldise otsuse tegemise.

Algne kood:

if (a>b || b>c)
(
print(“yes”);
)
else
(
print (“No”);
)

Mutandi kood:

if (a (
print(“yes”);
)
else
(
print (“No”);
)

3. Avalduse muteerimine

Avalduses Mutatsioon tehakse mutandi programmi loomiseks muudatused koodide täielikes avaldustes. Avalduses tehtavate muudatustega võib kustutada kogu avalduse, muuta avalduse järjekorda koodina, kopeerida ja kleepida avaldused muusse kohta koodis, korrata või dubleerida vähesed avaldused algses koodis.

Algne kood:

if (a > b)
(
print(“a is greater”);
)
else
(
print(“b is greater”);
)

Mutandi kood:

if(a > b)
(
// removing the statement
)
else
(
print(“b is greater”);
)

Mutatsiooni testimise eelised ja puudused

Mutatsioonitestimise eelised ja puudused on toodud allpool:

Eelised

Mõned mutatsioonitestimise eelised on toodud allpool:

  1. Mutatsiooni testimise üks suurimaid eeliseid on see, et see aitab leida varjatud defekte ja maksimaalset koodi katvust, et tuvastada selle osa koodist, mida algsed testijuhtumid põhjalikult ei testinud.
  2. Mutatsioonitestimine aitab leida tarkvara testimiseks kasutatavate testjuhtumite kvaliteeti ja annab testijatele testimisprotsessi ja testi kvaliteedi kohta tõelist tagasisidet.
  3. See aitab leida kvaliteetseid vigu, mida tavalise testimise abil pole lihtne leida.
  4. Mutatsioonitestimine näitab mõnikord tarkvara testimise varases etapis koodis varjatud defekte, näiteks koodi mitmetähenduslikkust, muutujate valesid väärtusi jne, mis on väga kasulik.
  5. Mõnikord on nii kood kui ka testjuhtum korrektsed, kuid probleem on põhjustatud testi andmete tõttu. Mutatsioonitestimine aitab testiandmetes välja selgitada probleemid.

Puudused

Allpool on toodud mõned mutatsiooni testimise puudused:

  1. Mutatsioonitestides luuakse ja testitakse mitmesuguseid koodi mutante algse testikomplekti suhtes ning seetõttu kulutab see palju aega, teostades ainult rakenduse ühe funktsiooni / mooduli ühiku testimist.
  2. Nagu eespool mainitud, testitakse kõiki mutante algse komplekti suhtes, seega oleks vaja läbi viia suur arv katsejuhtumeid, mistõttu ei saa seda teostada ilma automatiseerimisvahendita, mis on kulukas ja võib projekti eelarvet takistada.
  3. Algsest koodist loodud keerulised mutandid võivad põhjustada segadusi ja vigu algkoodis.

Järeldus

Ülaltoodud selgitus määratleb selgelt mutatsiooni testimise ja selle tähtsuse rakenduse testimise valdkonnas. Kui soovime rakenduse täielikku ja täielikku testimist maksimaalse koodi katvuse testistsenaariumitega, mängib mutatsiooni testimine üliolulist rolli.

Soovitatavad artiklid

See on juhend mutatsiooni testimiseks. Siin arutame, mis on mutatsiooni testimine? ning mutatsioonitesti tüübid koos eeliste ja puudustega. Lisateabe saamiseks võite tutvuda ka meie teiste soovitatud artiklitega

  1. Mis on Reakt?
  2. Negatiivne testimine
  3. Mobiilirakenduse testimine
  4. Täpsem krüptimisstandard
  5. Koodi katvus vs testi katvus | 4 parimat erinevust, mida õppida
  6. Koodide katvusriistad | 6 parimat koodi katvustööriista