Ce este testarea mutației?
Deoarece cuvântul „mută” în general înseamnă „schimbare”, la fel înseamnă și testarea Mutării. Testarea de mutație este tipul de testare software care se realizează prin schimbarea sau mutarea bucății de cod pentru a verifica / verifica dacă cazurile de testare sunt suficient de capabile să găsească erorile / defectele. Testarea mutației face parte din testarea White Box și se face practic în timp ce se efectuează testele Unit ale unui anumit modul al unei aplicații. Modificările efectuate în sursa / codul principal efectuat sunt făcute într-o cantitate mică, astfel încât să nu afecteze obiectivul general al acestuia. Aceasta este cunoscută și sub denumirea de Tehnica de detectare a defecțiilor, deoarece este realizată în scopul localizării slăbiciunii cazurilor de testare prin crearea unei defecțiuni în codul inițial.
Înainte de a efectua orice testare, este foarte important să înțelegeți obiectivul din spatele acestuia. Principalul obiectiv al testării mutării este de a găsi eficacitatea cazurilor de testare dezvoltate, care ar trebui să fie suficient de capabile să detecteze chiar și modificările mici efectuate în cod. Este făcut pentru a găsi problemele din suita de testare și datele de testare utilizate în timpul efectuării testării oricărei aplicații software. Sunt create mai multe mutante sau versiuni ale codului inițial și fiecare dintre ele este testat pe cazurile de testare originale. Dacă rezultatele cazului de test rămân aceleași ca în codul inițial, atunci codul și cazurile de testare sunt verificate din nou, deoarece fie codul nu a fost executat, fie setul de teste nu este suficient de capabil să găsească codul mutant.
Tipuri de testare a mutațiilor
Există, practic, 3 tipuri de teste de mutație care sunt efectuate pentru a crea mutanți ai codului inițial:
1. Mutația valorică
După cum indică numele, în mutația valorii, valoarea constantelor, parametrii trecuți în metode, valorile utilizate în bucle sunt schimbate pentru a crea un program mutant. Fie valoarea mare este schimbată în una mai mică, fie invers. Practic, valorile care sunt deja definite în program sunt modificate pentru a efectua mutația valorică.
Cod original:
int a = 75636737;
int b = 3454;
int mult = a * b;
print(mult);
Cod mutant:
int a = 75;
int b = 345466465;
int mult = a * b;
print(mult);
2. Mutația decizională
În Decizia de mutație, operatorii logici și aritmetici folosiți în program sunt schimbați, ceea ce modifică procesul decizional general în program și rezultatele respective. De exemplu, anumite instrucțiuni „dacă” rulează numai când (a> b). În cod mutant, acest operator este schimbat în (a <b), care schimbă decizia generală în cod.
Cod original:
if (a>b || b>c)
(
print(“yes”);
)
else
(
print (“No”);
)
Cod mutant:
if (a (
print(“yes”);
)
else
(
print (“No”);
)
3. Mutația declarației
În declarația mutație, modificările sunt făcute în declarațiile complete ale codului pentru a crea un program mutant. Modificările instrucțiunii pot fi ștergerea întregii instrucțiuni, schimbarea ordinii instrucțiunii în cod, copierea și inserarea declarațiilor la o altă locație din cod, repetarea sau duplicarea celor câteva afirmații din codul original.
Cod original:
if (a > b)
(
print(“a is greater”);
)
else
(
print(“b is greater”);
)
Cod mutant:
if(a > b)
(
// removing the statement
)
else
(
print(“b is greater”);
)
Avantajele și dezavantajele testării mutațiilor
Avantajele și dezavantajele testării mutațiilor sunt prezentate mai jos:
avantaje
Unele dintre avantajele testării mutației sunt prezentate mai jos:
- Unul dintre cele mai mari avantaje ale testării Mutation este că ajută la găsirea defectelor ascunse și a acoperirii codului maxim pentru a identifica partea codului care nu este testată în detaliu de cazurile de testare originale.
- Testarea mutației ajută la găsirea calității cazurilor de testare care sunt utilizate pentru testarea software-ului și oferă feedback autentic testerilor despre procesul de testare și calitatea testului.
- Vă ajută să găsiți erori de înaltă calitate, care nu sunt ușor de găsit prin testare normală.
- Testarea de mutație relevă uneori defectele ascunse precum ambiguitatea codului, valorile incorecte ale variabilelor, etc. în cod în etapele incipiente ale testării software, ceea ce este foarte benefic.
- Uneori, atât codul, cât și cazul de testare sunt corecte, dar problema cauzată din cauza datelor de testare. Testarea mutațiilor ajută la aflarea problemelor din datele de testare.
Dezavantaje
Mai jos sunt prezentate câteva dintre dezavantajele testării mutației:
- În testarea mutației, diverse mutante ale codului sunt create și testate pe suita de testare inițială și, prin urmare, consumă mult timp în timp ce efectuează doar testarea unitară a unei singure caracteristici / module a unei aplicații.
- Așa cum am menționat mai sus, toți mutanții sunt testați cu suita inițială, astfel că ar exista un număr mare de cazuri de testare care trebuie executate și, prin urmare, acest lucru nu poate fi efectuat fără un instrument de automatizare care este costisitor și poate împiedica bugetul proiectului.
- Mutanții complecși creați din codul original pot duce la confuzii și greșeli ale codului inițial.
Concluzie
Explicația de mai sus definește clar care este testarea mutării și importanța acesteia în domeniul testării unei aplicații. Dacă dorim testarea prin eșapament a unei aplicații cu scenarii de testare a acoperirii codului maxim, testarea mutației joacă un rol crucial.
Articole recomandate
Acesta este un ghid pentru testarea mutațiilor. Aici discutăm despre ce este testarea mutației? și tipurile de testare a mutației împreună cu avantajele și dezavantajele. Puteți parcurge și alte articole sugerate pentru a afla mai multe
- Ce este React?
- Testare negativă
- Testarea aplicației mobile
- Standard avansat de criptare
- Acoperire cod vs acoperire test | Top 4 diferențe de învățat
- Instrumente de acoperire a codului | Top 6 Instrumente de acoperire a codului