Ce este testarea dinamică? Tipuri, tehnici & Exemplu

Cuprins:

Anonim

Testare dinamică

Testarea dinamică este o metodă de testare software utilizată pentru a testa comportamentul dinamic al codului software. Scopul principal al testării dinamice este de a testa comportamentul software-ului cu variabile dinamice sau variabile care nu sunt constante și găsesc zone slabe în mediul de rulare al software-ului. Codul trebuie executat pentru a testa comportamentul dinamic.

Știm cu toții că testarea înseamnă verificare și validare și este nevoie de 2 V pentru a finaliza testarea. Din cele 2 V, verificarea se numește testare statică, iar cealaltă „V”, validarea este cunoscută sub numele de testare dinamică.

Exemplu de testare dinamică

Să înțelegem cum se face testarea dinamică cu un exemplu:

Să presupunem că testăm o pagină de conectare în care avem două câmpuri care spun „Nume utilizator” și „Parolă”, iar numele de utilizator este limitat la Alfanumeric.

Când utilizatorul introduce numele de utilizator ca „Guru99”, sistemul acceptă același lucru. Unde ca atunci când utilizatorul intră ca Guru99 @ 123, atunci aplicația lansează un mesaj de eroare. Acest rezultat arată că codul acționează dinamic pe baza intrării utilizatorului.

Testarea dinamică este atunci când colaborați cu sistemul real oferind o intrare și comparând comportamentul real al aplicației cu comportamentul așteptat. Cu alte cuvinte, lucrul cu sistemul cu intenția de a găsi erori.

Deci, pe baza afirmațiilor de mai sus, putem spune sau concluziona că testarea dinamică este un proces de validare a aplicațiilor software ca utilizator final în diferite medii pentru a construi software-ul potrivit.

Ce face testarea dinamică?

Scopul principal al testelor dinamice este de a se asigura că software-ul funcționează corect în timpul și după instalarea software-ului, asigurând o aplicație stabilă fără defecte majore (această afirmație este făcută deoarece niciun software nu are erori, testarea poate arăta doar prezența defectelor și nu absenta)

Scopul principal al testului dinamic este de a asigura coerența software-ului; permite să discutăm acest lucru cu un exemplu.

Într-o aplicație bancară, găsim diferite ecrane, cum ar fi secțiunea Conturile mele, transferul de fonduri, plata facturilor, etc ... Toate aceste ecrane conțin câmp de sumă care acceptă unele caractere.

Să presupunem că câmpul Conturile mele afișează suma de 25.000 și Transferul de fonduri de 25.000 USD și ecranul de plată a facturii ca 25.000 USD, deși suma este aceeași, modul în care este afișată suma nu este același, prin urmare, software-ul este neconform.

Coerența nu se limitează doar la funcționalitatea, ci se referă și la diferite standarde, cum ar fi performanța, utilizabilitatea, compatibilitatea etc., prin urmare devine foarte important să efectuați testarea dinamică.

Tipuri de testare dinamică

Testarea dinamică este clasificată în două categorii

  • Testarea cutiei albe
  • Testarea cutiei negre

Reprezentarea picturală de mai jos ne oferă o idee despre tipurile de testare dinamică, nivelurile de testare etc.

Să discutăm pe scurt fiecare tip de testare și scopul propus

Testarea cutiei albe - Testarea cutiei albe este o metodă de testare a software-ului în care structura / designul intern este cunoscut testerului. Scopul principal al testării White Box este de a verifica performanța sistemului pe baza codului. Este realizat în principal de dezvoltatori sau testatori White Box care au cunoștințe despre programare.

Testarea cutiei negre - Testarea cutiei negre este o metodă de testare în care structura / codul / proiectarea internă NU este cunoscută testerului. Scopul principal al acestei testări pentru a verifica funcționalitatea sistemului supus testării și a acestui tip de testare necesită executarea setului complet de teste și este realizat în principal de testeri și nu este nevoie de cunoștințe de programare.

Black Box Testarea este din nou clasificate în două tipuri.

Sunt

  • Testarea funcțională
  • Testare nefuncțională

Testare funcțională:

Testarea funcțională este efectuată pentru a verifica dacă toate caracteristicile dezvoltate sunt în conformitate cu specificațiile funcționale și se realizează prin executarea cazurilor de testare funcțională scrise de echipa QA, în faza de testare funcțională, sistemul este testat prin furnizarea de intrare, verificarea ieșirii și comparând rezultatele efective cu rezultatele scontate.

Există diferite niveluri de testare funcțională, dintre care cele mai importante sunt

  • Testarea unitară - În general, unitatea este o mică bucată de cod care poate fi testată, testarea unitară este efectuată la unitatea individuală a software-ului și este realizată de dezvoltatori
  • Testarea integrării - Testarea integrării este testarea care se efectuează după testarea unitară și se realizează prin combinarea tuturor unităților individuale care pot fi testate și sunt realizate fie de dezvoltatori, fie de testeri
  • Testarea sistemului - Testarea sistemului este efectuată pentru a se asigura dacă sistemul funcționează conform cerințelor și se efectuează în general atunci când sistemul complet este gata, este efectuată de testeri atunci când versiunea sau codul este eliberat echipei QA
  • Testarea acceptării - Testarea acceptării este efectuată pentru a verifica dacă sistemul a îndeplinit cerințele comerciale și este gata de utilizare sau este gata de implementare și este în general efectuată de utilizatorii finali.

Testarea nefuncțională: Testarea nefuncțională este o tehnică de testare care nu se concentrează pe aspecte funcționale și se concentrează în principal pe atributele nefuncționale ale sistemului, cum ar fi scurgerile de memorie, performanța sau robustețea sistemului. Testarea nefuncțională se efectuează la toate nivelurile de testare.

Există multe tehnici de testare nefuncționale, dintre care cele mai importante sunt

  • Testarea performanței - Testarea performanței este efectuată pentru a verifica dacă timpul de răspuns al sistemului este normal conform cerințelor sub sarcina de rețea dorită.
  • Testarea recuperării - Testarea recuperării este o metodă pentru a verifica cât de bine un sistem este capabil să se recupereze după blocări și defecțiuni hardware.
  • Testarea compatibilității - Testarea compatibilității este efectuată pentru a verifica modul în care sistemul se comportă în diferite medii.
  • Testarea securității - Testarea securității este efectuată pentru a verifica robustețea aplicației, adică pentru a se asigura că doar utilizatorii autorizați / rolurile accesează sistemul
  • Testarea utilizabilității - Testarea utilizabilității este o metodă de verificare a utilizabilității sistemului de către utilizatorii finali pentru a verifica cât de confortabili sunt utilizatorii cu sistemul.

Tehnici de testare dinamică

Tehnicile de testare dinamică în STLC constau în diferite sarcini, cum ar fi analiza cerințelor pentru teste, planificarea testelor, proiectarea și implementarea cazurilor de testare, configurarea mediului de testare, executarea cazului de testare, raportarea erorilor și, în final, închiderea testului. Toate sarcinile din tehnicile de testare dinamică depind de finalizarea sarcinii anterioare în procesul de testare.

În STLC, putem spune că procesul real de testare dinamică începe de la proiectarea cazului de testare, să discutăm fiecare activitate în detalii.

Înainte de a intra în proces, să discutăm strategia care trebuie urmată pentru testarea dinamică.

Strategia de testare ar trebui să se concentreze în principal pe resursele disponibile și pe perioada de timp. Pe baza acestor factori, obiectivul testării, sfera testării, fazele sau ciclurile testării, tipul de mediu, ipotezele sau provocările cu care ar putea fi confruntate, riscurile etc. trebuie să fie documentate.

Odată ce strategia este definită și acceptată de conducere, începe proiectarea efectivă a cazului de testare a procesului

Ce este proiectarea și implementarea testelor

În această fază identificăm,

  • Caracteristici de testat
  • Derivați condițiile de testare
  • Derivați articolele de acoperire
  • Derivați cazurile de testare

Configurați mediul de testare

Trebuie să ne asigurăm că mediul de testare trebuie să fie întotdeauna similar cu mediul de producție, în această fază trebuie să instalăm construcția și să gestionăm mașinile de testat.

Executarea testului

În această fază, cazurile de testare sunt efectiv executate.

Raport de eroare capturat

Pe baza execuției, dacă rezultatele așteptate și efective nu sunt aceleași, atunci cazul de testare trebuie marcat ca Eșec și ar trebui înregistrat un bug.

Avantajele testării dinamice

  • Testarea dinamică poate dezvălui defectele descoperite care sunt considerate a fi prea dificile sau complicate și care nu pot fi acoperite prin analize statice
  • În testarea dinamică, executăm software-ul, cap la cap, asigurând un software fără erori care, la rândul său, crește calitatea unui produs și a unui proiect.
  • Testarea dinamică devine un instrument esențial pentru detectarea oricăror amenințări de securitate

Dezavantaje ale testării dinamice

  • Testarea dinamică este consumatoare de timp deoarece execută aplicația / software-ul sau codul care necesită o cantitate imensă de resurse
  • Testarea dinamică crește costul proiectului / produsului, deoarece acesta nu începe devreme în ciclul de viață al software-ului și, prin urmare, orice problemă rezolvată în etapele ulterioare poate duce la o creștere a costului.

Concluzie:

În Ingineria software, verificarea și validarea sunt două măsuri utilizate pentru a verifica dacă produsul software îndeplinește specificațiile cerințelor. Testarea statică implică verificarea, în timp ce testarea dinamică implică validarea. Împreună, acestea ajută la furnizarea unui software de calitate rentabil.

Acest articol este contribuit de Radhika Renamala