Ce este testarea negativă? Cazuri de testare Cu Exemplu
Testare negativă
Testare negativă este un tip de testare software utilizat pentru a verifica aplicația software pentru date și condiții de intrare neașteptate. Datele sau condițiile neașteptate pot fi orice, de la tipul de date greșit la atacuri de hacking puternice. Scopul testării negative este de a preveni blocarea aplicației software din cauza intrărilor negative și de a îmbunătăți calitatea și stabilitatea.
Făcând doar teste pozitive, ne putem asigura că sistemul nostru funcționează în condiții normale. Trebuie să ne asigurăm că sistemul nostru poate face față unor condiții neașteptate pentru a asigura un sistem 100% fără defecte.
Exemplu de testare negativă
Luați în considerare cazul unui lift, care este un exemplu considerat în mod obișnuit de testare negativă.
Cu toții cunoaștem funcționalitatea unui lift. Acestea vor fi considerate ca cerințe ale unui lift, cum ar fi apăsarea numărului de etaj pentru ca liftul să meargă la acel etaj anume.
Ușa se deschide automat odată ce liftul ajunge la podeaua specificată și așa mai departe.
Acum să luăm în considerare câteva scenarii negative pentru lift. Unii dintre ei sunt,
Testare negativă | Testare pozitivă |
---|---|
Ce se întâmplă dacă numărul de persoane (greutatea) depășește limita specificată? | Se presupune că singurul număr specificat de persoane va intra în lift |
Ce se întâmplă dacă cineva fumează sau provoacă un incendiu în interiorul liftului? | Nu va exista fum sau foc în interiorul liftului |
Ce se întâmplă dacă există o întrerupere a curentului în timpul funcționării? | Nu va exista o pană de curent în timpul funcționării ascensorului |
Toate aceste cazuri vor fi testate negativ. Importanța acestui lucru este că nu ne putem asigura că toate cele menționate mai sus nu se vor întâmpla, așa că avem nevoie de ele conținute.
Luați în considerare cazul în care starea de supragreutate este verificată și la implementare, liftul funcționează anormal atunci când există o stare de supragreutate. Acest lucru va avea un impact potențial asupra fiabilității sistemului și poate provoca chiar pericol pentru viață. Aceasta explică ce este testarea negativă și importanța acesteia.
Același caz este aplicat și în software. Pentru testarea negativă, ne-am abătut de la o procedură operațională normală. Să trecem prin câteva exemple.
Luați în considerare, de exemplu, un formular de înregistrare.
Testare negativă | Testare pozitivă |
---|---|
Încercați să introduceți un ID de e-mail nevalid în câmpul de e-mail | Într-un câmp de e-mail vor fi introduse numai ID-uri valide de e-mail |
Încercați să introduceți un număr de telefon nevalid într-un câmp pentru numărul de telefon (caractere) | Singurul număr va fi introdus în câmpul de număr |
Încărcați o imagine cu dimensiunea în afara limitei specificate | Vor fi încărcate numai imaginile cu dimensiunea sub limita specificată |
Încărcați fișiere nevalide, cum ar fi XML, SQL, etc. în câmpul de încărcare a imaginii | Încărcați numai formate de imagine valide, cum ar fi jpg.png etc. |
După cum am spus mai devreme, trebuie să ne asigurăm că în toate aceste cazuri negative sistemul nostru va funcționa corect. Luați în considerare cazul dacă cineva încearcă să introducă un caracter în câmpul de număr și sistemul nu poate procesa datele neașteptate, deoarece așteaptă un număr și, în cele din urmă, sistemul se blochează. Sau dacă cineva încearcă să facă un injecție SQL și ștergeți toate datele noastre din baza de date. Nu putem suporta astfel de pierderi potențiale. Deci testarea negativă este importantă.
De ce se face testarea negativă?
Deoarece testarea este o sarcină care consumă timp și costuri, este foarte important să decideți „ce”, „cum” și „cât” să testați. Trebuie să alegem cu înțelepciune dacă trebuie să facem teste negative în sistemul nostru sau nu. Deci, să aruncăm o privire asupra importanței testării negative.
Perspectiva organizației
Este responsabilitatea organizației să ofere un produs de bună calitate clientului său. Pentru a realiza acest lucru, trebuie să faceți teste negative.
Ca parte a confirmării unui eșec, o organizație trebuie să facă teste negative.
Poate că nu putem construi un sistem 100% fără erori, dar trebuie să ne asigurăm că am făcut totul pentru a preveni un eșec, pentru a realiza acest lucru ar trebui să facem teste negative.
Impactul este un factor pe care trebuie să-l luăm în considerare. Luați în considerare că am făcut teste pozitive pe un site de comerț electronic și asigurați-vă că totul este în regulă. Dar dacă există o lacună în sistemul nostru că cineva poate face injecție SQL și ne poate șterge toate datele. Va fi o mare breșă de securitate. Pentru a evita acest tip de cazuri, trebuie să faceți și teste negative.
Pentru aplicațiile deschise publicului, în principal site-urile web, trebuie să avem întotdeauna în vedere că nu avem prea mult control asupra procedurii de utilizare a aplicației, așa că trebuie să facem teste negative pentru a ne asigura că toate astfel de cazuri sunt acoperite și conținute.
Un alt lucru de care trebuie să avem grijă este că există o mulțime de hackeri negri care caută o oportunitate de a distruge sistemul. Hackingul este un caz important acoperit de testele negative
Perspectiva clientului
Clienții se așteaptă întotdeauna la produse cu vulnerabilitate zero, pentru a se asigura că testarea negativă este o necesitate
Dacă este un produs sensibil, cum ar fi comerțul electronic, stocul online etc., atunci securitatea și testarea negativă este o necesitate.
Singura preocupare a clientului cu privire la testarea negativă este că costul. Dar odată ce impactul este analizat, este la latitudinea clientului să decidă dacă face sau nu testarea negativă.
Cum să faci teste negative
Pentru a face teste negative, trebuie să luăm în considerare toate cazurile posibile. Asta dacă este posibil, trebuie să o luăm în considerare în Caz de testare indiferent dacă nu este modul corect de utilizare. De exemplu, dacă vedem un câmp de e-mail, gândiți-vă la toate intrările posibile pe care le putem pune acolo, în afară de formatul corect de e-mail. În același mod, când vedem o opțiune de încărcare a imaginii, trebuie să o testăm cu toate fișierele posibile.
În timp ce creăm cazuri de testare negative, trebuie să acordăm prioritate intrărilor, în caz contrar, vor fi multe cazuri posibile. De exemplu, pentru un câmp de imagine în care ar trebui să intre numai fișierele „.png” putem avea o mulțime de opțiuni de încărcat, cum ar fi „jpeg”, „xml”, „xls”, etc. Așa că trebuie să prioritizăm opțiunile precum XML și SQL poate avea un impact mai mare decât cel al jpeg și xls, așa că ar trebui să avem grijă mai întâi de cazurile SQL și XML. Astfel, trebuie să prioritizăm cazurile înainte de execuție pentru a economisi timp și costuri de testare.
Avantaje și dezavantaje ale testării negative
La fel ca toate celelalte tehnici de testare, există argumente pro și contra pentru testarea negativă, bazate în principal pe „unde”, „când” și „cum” se utilizează. Să aruncăm o privire la asta.
Avantajele testării negative
- După cum știm cu toții, testarea negativă este foarte importantă pentru a asigura calitatea unui produs. Un produs de bună calitate este un produs cu vulnerabilitate zero, pentru a se asigura că testarea negativă este foarte importantă.
- Testarea negativă vă asigură că toate cazurile posibile sunt acoperite. În mod intenționat sau neintenționat, există șansa să apară cazuri de testare negative. Deci, pentru a ne asigura că toate cazurile sunt acoperite, trebuie să facem teste negative împreună cu teste pozitive.
- Testarea negativă va oferi clientului mai multă încredere înainte de a fi difuzat.
Dezavantajele testării negative
- În ingineria software, testarea negativă în unele cazuri devine o pierdere de timp și energie. În multe cazuri, nu este nevoie de teste negative excesive. De exemplu, dacă o aplicație este creată pentru o singură persoană, atunci nu trebuie să luăm în considerare cazul în care 100 de utilizatori folosesc sistemul la un moment dat. Deci, condițiile de decizie în cazurile de testare negative sunt foarte importante. Vor fi momente în care nu trebuie să facem teste negative pe un anumit sistem.
- Solicitați oameni calificați și experimentați pentru a crea cazuri de testare negative.
- Pentru client, testarea negativă este un alt lucru care provoacă întârzieri inutile în lansare și adăugarea costurilor.
- O șansă ca o echipă să petreacă mai mult timp și energie pentru testele negative. Există șansa ca testerii să petreacă mult timp și energie în testele negative, ceea ce duce la o concentrație mai mică în testele pozitive.