Mutaatiotestaus - Mutaatiotestauksen edut ja haitat

Sisällysluettelo:

Anonim

Mikä on mutaatiotestaus?

Koska sana 'mutate' tarkoittaa yleensä 'muutosta', niin myös mutaatiotestaus tarkoittaa. Mutaatiotestaus on tyyppinen ohjelmistotestaus, joka suoritetaan muuttamalla tai mutatoimalla koodikappaletta sen tarkistamiseksi / todentamiseksi, että testitapaukset kykenevät riittävästi virheiden / virheiden löytämiseen. Mutaatiotestaus kuuluu White Box -testauksen piiriin ja tehdään periaatteessa suorittamalla sovelluksen tietyn moduulin yksikkötestejä. Lähde- / pääkoodiin tehdyt muutokset tehdään pienellä määrällä, jotta se ei vaikuta sen yleiseen tavoitteeseen. Tätä kutsutaan myös vianmääritystekniikaksi, koska se tehdään testitapausten heikkouden löytämiseksi luomalla vika alkuperäiseen koodiin.

Ennen testien suorittamista on erittäin tärkeää ymmärtää sen takana oleva tavoite. Mutaatiotestauksen päätavoite on löytää kehitettyjen testitapausten tehokkuus, joiden pitäisi kyetä havaitsemaan pienetkin muutokset koodiin. Se etsitään testisarjan ongelmat ja testitiedot, joita käytetään suoritettaessa minkä tahansa ohjelmistosovelluksen testausta. Alkuperäisestä koodista luodaan useita mutantteja tai versioita ja jokainen niistä testataan alkuperäisiä testitapauksia vastaan. Jos testitapausten tulokset pysyvät samoina kuin alkuperäisessä koodissa, niin sekä koodi että testitapaukset tarkistetaan uudelleen, koska joko koodia ei suoritettu tai testipaketti ei kykene tarpeeksi mutanttikoodin löytämiseen.

Mutaatiotestauksen tyypit

Periaatteessa on 3 tyyppisiä mutaatiotestauksia, jotka suoritetaan alkuperäisen koodin mutanttien luomiseksi:

1. Arvon mutaatio

Kuten nimi osoittaa, Arvo-mutaatiossa vakioiden arvo, menetelmissä läpikäytetyt parametrit, silmukoissa käytetyt arvot muutetaan mutanttiohjelman luomiseksi. Joko iso arvo vaihdetaan pienemmäksi tai päinvastoin. Periaatteessa ohjelmassa jo määritellyt arvot muutetaan arvomutaation suorittamiseksi.

Alkuperäinen koodi:

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

Mutantti koodi:

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

2. Päätöksen mutaatio

Päätöksen mutaatiossa ohjelmassa käytettyjä loogisia ja aritmeettisia operaattoreita muutetaan, mikä muuttaa ohjelman yleistä päätöksentekoa ja sen tuloksia. Esimerkiksi tietty 'jos' -lausunto suoritetaan vain, kun (a> b). Mutanttikoodissa tämä operaattori vaihdetaan arvoon (a <b), joka muuttaa kokonaispäätöksenteon koodissa.

Alkuperäinen koodi:

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

Mutantti koodi:

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

3. Lauseen mutaatio

Lauseen mutaatiossa muutokset kokonaisissa lausekkeissa tehdään mutanttiohjelman luomiseksi. Lausekkeen muutoksilla voidaan poistaa koko lauseke, muuttaa lausekkeen järjestystä koodina, kopioida ja liittää lauseet johonkin muuhun kohtaan koodiin, toistaa tai kopioida muutama lause alkuperäisessä koodissa.

Alkuperäinen koodi:

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

Mutantti koodi:

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

Mutaatiotestauksen edut ja haitat

Mutaatiotestauksen edut ja haitat on esitetty alla:

edut

Jotkut mutaatiotestauksen eduista esitetään alla:

  1. Yksi mutaatiotestauksen suurimmista eduista on, että se auttaa löytämään piilotetut viat ja maksimaalisen koodin kattavuuden, jotta voidaan tunnistaa se osa koodista, jota alkuperäiset testitapaukset eivät ole perusteellisesti kokeilleet.
  2. Mutaatiotestaus auttaa löytämään testitapausten laadun, joita käytetään ohjelmiston testaamiseen ja tarjoamaan testaajille aitoa palautetta testausprosessista ja testin laadusta.
  3. Se auttaa löytämään laadukkaita virheitä, joita ei ole helppo löytää normaalilla testauksella.
  4. Mutaatiotestaus paljastaa joskus ohjelmistotestauksen varhaisvaiheessa piilotetut viat, kuten koodin epäselvyys, muuttujien väärät arvot jne., Mikä on erittäin hyödyllistä.
  5. Toisinaan sekä koodi että testitapaus ovat oikein, mutta testitietojen takia aiheutunut ongelma. Mutaatiotestaus auttaa selvittämään testitietojen ongelmat.

haitat

Alla on joitain mutaation testauksen haittoja:

  1. Mutaatiotestauksessa koodin eri mutantit luodaan ja testataan alkuperäistä testipakettia vastaan, joten se vie paljon aikaa suorittaessaan vain sovelluksen yhden ominaisuuden / moduulin yksikkötestauksen.
  2. Kuten edellä mainittiin, kaikki mutantit testataan alkuperäistä tuotepakettia vastaan, joten suoritettavia testitapauksia olisi paljon, joten niitä ei voida suorittaa ilman automaatiotyökalua, joka on kallis ja voi haitata projektin budjettia.
  3. Alkuperäisestä koodista luodut monimutkaiset mutantit voivat aiheuttaa sekaannusta ja virheitä alkuperäisessä koodissa.

johtopäätös

Yllä oleva selitys määrittelee selvästi, mikä on mutaatiotestaus ja sen merkitys sovelluksen testauksen alalla. Jos haluamme sovelluksen läpikäynnin ja tyhjentämisen testaamalla maksimaalisen koodin kattavuuden testausskenaariot, mutaatiotestauksella on ratkaiseva merkitys.

Suositellut artikkelit

Tämä on opas mutaatiotestaukseen. Keskustelemme tässä mutaation testaamisesta? ja mutaatiotestauksen tyypit sekä edut ja haitat. Voit myös käydä läpi muut ehdotetut artikkelimme saadaksesi lisätietoja

  1. Mikä on React?
  2. Negatiivinen testaus
  3. Mobiilisovelluksen testaus
  4. Advanced Salausstandardi
  5. Koodin kattavuus vs. testin kattavuus | 4 parasta opittavaa eroa
  6. Koodin kattavuusvälineet Kuusi suosituinta koodin kattavuusvälinettä