timp de citire: 10 minute
cum se scrie cazuri de testare s-ar putea să nu pară o parte atât de importantă a dezvoltării. Dar pentru ca un tester de software să-și îndeplinească cel mai bine treaba, au nevoie de un set clar de pași de urmat și de o definiție clară a ceea ce este testat.
toată lumea de la NASA și GE la corporații la nivel de întreprindere poate beneficia de echipe care operează la cel mai bun nivel. Scrierea de cazuri de testare excelente este doar o modalitate mai mult pentru a spori eficiența echipei și eficacitatea și Parasoft este totul despre împuternicirea echipe de a face doar asta.
în acest blog, acoperim următoarele subiecte legate de modul de scriere a unui caz de testare:
- ce este un caz de testare?
- Test script vs. test case
- diferite tipuri de test case
- cum se scrie cazuri de testare software
- standard test case format
- test case writing best practices
- Test suite vs. planul de testare
- instrumente de scriere a cazurilor de testare
vedeți cum puteți crea cazuri de testare utile și reutilizabile pentru a facilita testarea funcțională API cu automatizarea testelor îmbunătățită cu AI.
solicitați o demonstrație
ce este un caz de testare în Software?
un caz de testare este exact cum sună: un scenariu de testare care măsoară funcționalitatea într-un set de acțiuni sau Condiții pentru a verifica rezultatul așteptat. Acestea se aplică oricărei aplicații software, pot utiliza testarea manuală sau un test automat și pot utiliza instrumente de gestionare a cazurilor de testare.
un lucru cheie de reținut atunci când vine vorba de scrierea cazurilor de testare este că acestea sunt destinate să testeze o variabilă sau o sarcină de bază, cum ar fi dacă un cod de reducere se aplică sau nu produsului potrivit pe o pagină web de comerț electronic. Acest lucru permite unui tester de software mai multă flexibilitate în modul de testare a codului și a caracteristicilor.
optimizarea testelor de unitate și regresie pentru sistemele încorporate
script de testare vs. Test Case
diferența dintre cazurile de testare vs.scripturile de testare ar trebui, de asemenea, clarificată. Un script de testare este un program scurt menit să testeze anumite funcționalități. Un caz de testare este un document cu pași care trebuie finalizați conform planificării din timp.
luați în considerare cazurile de testare ca o călătorie planificată meticulos și scripturile de testare pentru a fi mai mult ca o călătorie rapidă la magazinul alimentar.
diferite tipuri de cazuri de testare
cazurile de testare pot măsura multe aspecte diferite ale codului. Pașii implicați pot fi, de asemenea, intenționați să inducă un rezultat eșuat, spre deosebire de un rezultat așteptat pozitiv, cum ar fi atunci când un utilizator introduce parola greșită pe un ecran de conectare.
câteva exemple comune de cazuri de testare ar fi următoarele:
cazurile de testare pot fi aplicate oricărui număr de caracteristici găsite în orice software dat. Unele dintre cele mai populare exemple includ:
- testarea API – A se vedea în acțiune.
- testarea UI – A se vedea în acțiune.
- unitate de testare – a se vedea în acțiune.
- încărcați & testarea performanței – vedeți-o în acțiune.
- testarea securității
- interogări SQL
- testarea aplicațiilor cu cod redus
un exemplu Popular de caz de testare
cazurile de testare sunt utile într-o varietate de scenarii software. Totul, de la bancar la software-ul personal necesită o aplicație de caz de testare. De exemplu, dacă scopul este de a avea date criptate, sensibile, software-ul trebuie să aibă caracteristici care funcționează conform destinației.
dar testarea funcțională este doar un aspect al scrierii unui caz de testare. Testarea Software-ului ar trebui să conteste în mod solid fiecare aspect al codului, de la performanță la compatibilitate și securitate. De aceea, software — ul de criptare personală trebuie testat atât de amănunțit-mai ales când vine vorba de lucruri precum API-urile Web.
cum se scrie cazuri de Testare Software
scrierea cazurilor de testare variază în funcție de ceea ce măsoară sau testează cazul de testare. Aceasta este, de asemenea, o situație în care partajarea activelor de testare între echipele dev și test poate accelera testarea software-ului. Dar totul începe cu a ști cum să scrieți un caz de testare eficient și eficient.
cazurile de testare au câteva părți integrale care ar trebui să fie întotdeauna prezente în câmpuri. Cu toate acestea, fiecare caz de testare poate fi împărțit în 8 pași de bază.
Pasul 1: ID-ul cazului de testare
cazurile de testare ar trebui să poarte toate ID-uri unice pentru a le reprezenta. În majoritatea cazurilor, urmarea unei convenții pentru acest ID de denumire ajută la organizare, claritate și înțelegere.
Pasul 2: Descriere Test
această descriere trebuie să detalieze ce unitate, caracteristică sau funcție este testată sau ce este verificată.
Pasul 3: ipoteze și condiții prealabile
aceasta implică orice condiții care trebuie îndeplinite înainte de executarea cazului de testare. Un exemplu ar fi necesitatea unui cont Outlook valid pentru o autentificare.
Pasul 4: Date de testare
aceasta se referă la variabile și valorile lor în cazul testului. În exemplul unei autentificări prin e-mail, ar fi numele de utilizator și parola pentru cont.
Pasul 5: Pași care trebuie executați
aceștia ar trebui să fie pași ușor de repetat, executați din perspectiva utilizatorului final. De exemplu, un caz de testare pentru conectarea la un server de e-mail poate include acești pași:
- deschideți pagina web a serverului de e-mail.
- introduceți numele de utilizator.
- introduceți parola.
- Faceți clic pe butonul „Enter” sau „Login”.
Pasul 6: rezultatul așteptat
aceasta indică rezultatul așteptat după executarea etapei cazului de testare. La introducerea informațiilor de conectare corecte, rezultatul așteptat ar fi o autentificare reușită.
Pasul 7: Rezultatul real și Post-Condițiile
în comparație cu rezultatul așteptat, putem determina starea cazului de testare. În cazul autentificării prin e-mail, Utilizatorul va fi conectat cu succes sau nu. Post-condiție este ceea ce se întâmplă ca urmare a executării pasului, cum ar fi redirecționarea către căsuța de e-mail.
Pasul 8: Pass/Fail
determinarea stării pass/fail depinde de modul în care rezultatul așteptat și rezultatul real se compară între ele.
same result = Pass
rezultate diferite = Fail
accelerați testarea Software-ului prin partajarea activelor de testare între echipele de testare Dev &
formatul standard al cazului de testare a unității
fiecare parte a unui test de unitate bine scris va defini mai multe aspecte de bază, inclusiv:
- funcții efectuate de test
- date utilizate în test
- rezultat așteptat din execuția testului
- asigurarea că testul a fost executat izolat de alte părți ale bazei de cod
este important de știut că formatul standard al testelor bine scrise este compus din următoarele părți:
- numele metodei de testare semnificative
- date controlate sau batjocuri care trebuie utilizate pentru testarea
- metoda sau unitatea testată (partea de cod pe care o testăm)
- aplicarea unei afirmații
- executarea testului unității în mod izolat
există un șablon de caz de testare?
după cum sa menționat, există un format standard de caz de testare. Cu toate acestea, șablonul de caz de testare ar varia probabil de la companie la companie și chiar de la echipă la echipă. În schimb, un șablon de caz de testare este documentul cu o listă de scenarii de testare și cazuri de testare ulterioare.
exemplu de caz de testare a calității
deși cazurile de testare vor varia în funcție de tipul de testare și de domeniul general de testare, construirea unui caz de testare a calității se reduce la acele câteva elemente fiabile de mai sus. Amintiți-vă: numele metodei de testare trebuie să includă metoda sau unitatea testată și care este rezultatul așteptat.
de asemenea, trebuie remarcat faptul că fiecare unitate trebuie testată izolat. În acest caz, „izolare” înseamnă păstrarea testelor concentrate cât mai mult posibil pentru a executa doar piesa aplicației pentru care testăm.
acest exemplu provine dintr-un caz de testare legat de sistemul bancar:
cu acest nume metodă, știm că acesta este un test de unitate, care este:
- testarea metodei ‘ isOverDrawn ()’.
- echilibrul utilizat pentru datele controlate a fost de 500.
- rezultatul așteptat este adevărat.
un nume de metodă semnificativ permite oricui să revizuiască rezultatele pentru a înțelege pentru ce a fost testat testul unitar. Mai mult, semnalează datele care trebuie testate, rezultatul așteptat și ceea ce a fost testat.
dacă testul eșuează, cunoașterea rezultatului așteptat este esențială pentru a permite depanarea mai ușoară și pentru a asigura că nu sunt introduse regresii.
date de caz de testare
datele utilizate trebuie să fie suficiente pentru a executa testul. Pentru testarea unității, dorim să facem cât mai simplu posibil testarea celei mai elementare unități a aplicației noastre. Datele ar putea fi la fel de simplu ca a face o variabilă șir sau obiect pentru care puteți controla datele. Sau un cadru mock poate fi utilizat pentru test dacă o dependență nu este disponibilă sau aveți nevoie ca dependența să fie într-o anumită stare.
având doar suficient pentru a testa acea parte dacă este suficientă. Nu aveți nevoie pentru a configura fiecare piesă a cererii pentru testul pentru a rula.
toate acestea afectează modul în care se va comporta testul unității, deoarece acestea sunt datele utilizate pentru executarea testului unității. Ca atare, această parte a testării unitare este cea mai consumatoare de timp, deoarece necesită o înțelegere a codului pe care îl testați pentru a ști ce date să utilizați pentru testare.
păstrați-l simplu folosind doar piesele necesare pentru codul testat. Batjocurile sunt foarte utile în această fază, deoarece vă permit să controlați modul în care se vor comporta metodele din acele obiecte atunci când interacționați cu testul dvs.
de exemplu, având în vedere următoarele date:
am evitat „clasa reală a clienților” folosind o machetă pentru „clasa clienților” pentru testarea izolării. Nu dorim să introducem și nici să configurăm un alt obiect pentru acest test, deoarece adaugă un alt strat de mentenabilitate pentru acel obiect și nu afectează rezultatul metodei testate.
următoarea variabilă care trebuie creată este „soldul inițial”—ceva cunoscut datorită cunoașterii codului. Următoarea linie arată obiectul contului creat împreună cu macheta și soldul inițial pentru a pregăti metoda pe care o testăm cu datele pe care tocmai le-am folosit.
Deci, în acest exemplu, obiectul contului este configurat cu clientul fals, deoarece nu ne pasă de datele obiectului clientului și am trecut un sold inițial pe care îl putem controla pentru testul nostru.
următoarea linie definește intrarea, deoarece metoda testată necesită utilizarea unui număr. Am definit „echilibrul” pentru a fi utilizat în metoda pe care o testăm. Apoi metoda este executată cu rezultatul că metoda este stocată în variabila noastră pentru a o folosi mai târziu.
aplicarea unei afirmații
odată ce testul se poate finaliza cu succes (ca în acesta rulează de la început până la sfârșit, fără excepții sau erori), atunci este timpul să aplicați o afirmație testului unitar. Fără afirmație, testul unității este lipsit de sens, deoarece nu există nimic pe care îl aplicați pentru a vă asigura că funcționează conform intenției.
colectarea de acoperire a ceea ce linii au fost executate nu spune ceea ce a fost executat, dar nu oferă suficiente detalii pentru a determina următoarele:
- dacă codul se comportă conform așteptărilor.
- dacă codul îndeplinește obiectivele de calitate.
- dacă datele returnate sunt datele așteptate.
o afirmație poate fi la fel de fundamentală ca:
atâta timp cât testul unitar conține o afirmație care verifică metoda sub rezultatul testului, acesta este un test unitar semnificativ.
prin aplicarea formatului standard al testului de unitate, o echipă poate menține, citi și/sau actualiza cu ușurință testele cu mai multă ușurință pentru a vedea cu ușurință unde pot fi aplicate mai multe teste la restul aplicației.
care sunt cele mai bune practici pentru scrierea cazurilor de testare a calității?
cum se scriu teste eficiente și cazuri de testare pot fi simplificate în timp. Unele bune practici includ utilizarea unor titluri puternice, descrieri puternice și păstrarea limbajului concis și clar.
dar veți dori, de asemenea, să includeți condiții prealabile, ipoteze și rezultatele așteptate. Toate aceste informații sunt relevante pentru testerul software — mai ales atunci când se stabilește dacă cazul de testare ar trebui să fie o „trecere” sau un „eșec”.
o foaie de înșelăciune pentru crearea cazurilor de testare care funcționează bine este următoarea:
- păstrați lucrurile simple și transparente.
- face cazuri de testare reutilizabile.
- păstrați ID-urile de caz de testare unice.
- evaluarea inter pares este importantă.
- cazurile de testare trebuie să aibă în vedere utilizatorul final sau cerințele definite.
- specificați rezultatele și ipotezele așteptate.
simplu, unic, specific, deschis la feedback și axat pe reutilizare: acesta este modul unui caz de testare excelent. Pentru o privire mai vizuală asupra modului de scriere a unui caz de testare a calității, consultați Seminarul Web Parasoft pe această temă.
suita de testare vs.planul de testare
celălalt aspect al unui caz de testare implică suitele de testare și planurile de testare. Acestea diferă în moduri cheie și ambele sunt vitale pentru dezvoltarea exactă a cazurilor de testare.
fii un Tester Software mai inteligent cu aceste 5 combinații tehnologice delicioase
ce este o suită de testare?
o suită de teste intră în joc pentru cazurile de testare, deoarece se referă la codul sursă, colecția de dependențe sau suita de teste care trebuie efectuate pe cod. Suitele de testare vă permit să clasificați cazurile de testare în moduri care se aliniază oricăror nevoi de analiză sau planificare.
aceasta înseamnă că caracteristicile software de bază pot avea propria suită de testare, în timp ce o altă suită de testare este pentru un anumit tip de testare, cum ar fi smoke sau security. Gândiți-vă la suitele de testare ca la un raft pentru a vă organiza cazurile de testare.
ce este un Plan de testare?
în schimb, un plan de testare este mai mult ca umbrela care stă peste toate suitele de testare. Dacă cazurile de testare sunt cărți și suitele de testare sunt rafturi, atunci planurile de testare sunt camera care conține raftul.
în general, planurile de testare sunt stabilite în termeni de teste manuale, teste automate, și un format general de modul de a merge despre testare. Vor testa software-ul de la fundație folosind Apartamente de testare și cazuri de testare înainte de a implementa modificări sau de a adăuga noi funcții.
cele mai bune instrumente de scriere a cazurilor de testare
Parasoft își dezvoltă în general instrumentele și suitele având în vedere teoria „George Jetson”. Adică vrem ca clienții noștri să poată” apăsa un buton ” și să aibă grijă de tot. Deși acest lucru nu este complet realist, instrumentele care se concentrează pe automatizare sunt cele mai bune de utilizat atunci când vine vorba de scrierea cazurilor de testare.
nu numai că pot ajuta la automatizare, dar pot ajuta chiar de la începutul dezvoltării. La urma urmei, este prea ușor să te împotmolești de mici detalii sau caracteristici. S-ar putea uita că software-ul trebuie doar să funcționeze mai întâi. Acolo intră un instrument de testare a unității Java precum Parasoft Jtest.
Simplificați testarea API și creșteți calitatea software-ului. Consultați automatizarea testelor îmbunătățită cu AI & ML în acțiune!
solicitați o demonstrație
acest instrument permite atât începătorilor, cât și experților să-și îmbunătățească abilitățile de testare a unității mai repede, precum și experiența de testare a unității. După stabilirea unei fundații, execută testele unitare, apoi ghidează utilizatorul pentru a se asigura că testele sunt semnificative. Când puteți înțelege tipurile de lucruri de căutat într-un test, scrierea cazurilor de testare devine mai puțin intimidantă.