complete non functional testing guide
Un ghid complet pentru testarea nefuncțională: scopul său, tipurile, instrumentul, cazurile de testare cu exemple
Ce este testarea nefuncțională?
Testarea nefuncțională se face pentru a verifica cerința nefuncțională a aplicației, cum ar fi performanța, utilizabilitatea etc.
Se verifică dacă comportamentul sistemului este sau nu conform cerințelor. Acoperă toate aspectele care nu sunt acoperite testarea funcțională . În testarea noastră de zi cu zi, se acordă multă atenție testării funcționale și cerințelor funcționale.
De asemenea, clienții sunt interesați să îndeplinească cerințele funcționale care sunt direct legate de funcționalitatea unei aplicații. Dar în faza reală, adică atunci când sunteți testat funcțional, software-ul intră pe piață și este utilizat de utilizatorii finali reali și există șanse ca acesta să se confrunte cu unele probleme legate de performanță.
Aceste probleme nu sunt legate de funcționalitatea sistemului, dar pot afecta experiența utilizatorului într-un mod negativ. Prin urmare, este important ca software-ul sau aplicația să fie testate și pentru cerințele nefuncționale, pentru a evita experiența negativă a clientului.
Testarea este în general clasificată în două tipuri:
- Testarea funcțională
- Testare nefuncțională
Ce veți învăța:
- Importanţă
- Scop
- Exemplu
- Avantaje
- Cum se captează cerințe nefuncționale?
- Diferența în cerințele funcționale și nefuncționale
- Este testarea cutiei negre sau a cutiei albe?
- Lista de verificare a cazurilor de testare nefuncționale
- Document de abordare
- Tipuri de testare nefuncțională
- Instrumente de testare nefuncționale
- Concluzie
- Lectură recomandată
Importanţă
Acest test nu a avut atenția cuvenită, având în vedere că nu afectează funcționalitatea sistemului.
Cerințele non-funcționale nu au primit, de asemenea, o atenție adecvată în ciclurile de testare anterioare. Cu toate acestea, acest lucru s-a schimbat acum. Testele nefuncționale sunt acum cele mai importante, deoarece iau în considerare toate performanța aplicației și problemele de securitate din zilele noastre.
Această testare are un impact mai mare asupra aplicațiilor atunci când vine vorba de performanța aplicației sub trafic ridicat de utilizatori. Această testare asigură faptul că aplicația dvs. este stabilă și este capabilă să facă față sarcinii în condiții extreme.
Așa cum arată numele în sine, această testare se concentrează pe aspectul nefuncțional al aplicației. Deci, care sunt aspectele nefuncționale? Sau ar trebui să spun care sunt caracteristicile care nu sunt legate de funcționalitatea aplicației?
Ei bine, iată răspunsurile la acestea:
- Cum funcționează aplicația în circumstanțe normale?
- Cum se comportă aplicația atunci când prea mulți utilizatori se conectează simultan?
- Aplicația poate face față stresului?
- Cât de sigură este aplicația?
- Se poate recupera aplicația după orice dezastru?
- Aplicația se poate comporta în același mod într-un mediu sau sistem de operare diferit?
- Cât de ușor este să portați aplicația într-un alt sistem?
- Documentele / manualul de utilizare furnizate împreună cu aplicația sunt ușor de înțeles?
Lista continuă. Dar punctul aici este că - nu sunt aceste caracteristici contribuite la calitatea aplicației? Raspunsul este da. Aceste caracteristici sunt la fel de importante.
Imaginați-vă că o aplicație îndeplinește perfect toate cerințele utilizatorului, dar un utilizator neautorizat merge cu ușurință și fisurează datele introduse de utilizator în aplicație sau aplicația moare atunci când sunt încărcați mai mult de 5 MB din orice fișier. Deci ați spune că aplicația este de bună calitate? Evident că nu este corect !!
Scop
Singurul scop al acestui tip de testare este de a se asigura că aspectele nefuncționale ale aplicației sunt testate și că aplicația funcționează bine în contextul aceluiași.
Scopul este de a acoperi testarea tuturor caracteristicilor aplicației care ajută la furnizarea unei aplicații care îndeplinește așteptările de afaceri.
Exemplu
Acesta este un tip important de testare.
Testarea funcțională testează funcționalitatea aplicației și se asigură că funcționează conform așteptărilor, dar testarea nefuncțională asigură faptul că aplicația funcționează suficient de bine pentru a satisface așteptările companiei.
Pentru a înțelege importanța sa, să luăm un exemplu simplu:
O aplicație este dezvoltată și este testată complet pentru funcționalitate, dar testarea nefuncțională nu se efectuează pe aceeași.
Între timp, când aplicația devine activă, ar putea rezulta probleme critice sau majore, cum ar fi atunci când încărcarea crește pe aplicație, devine prea lentă și durează mult timp pentru a se deschide.
Timpul de răspuns poate crește sau atunci când încărcarea este crescută într-o anumită măsură, aplicația se poate bloca. Acest lucru arată cât de important este să testați aspectele nefuncționale ale unei aplicații.
Avantaje
Dat mai jos câteva dintre avantajele unui test nefuncțional:
- Acoperă testarea care nu poate fi acoperită în testarea funcțională.
- Se asigură că aplicația rulează eficient și este suficient de fiabilă.
- Asigură securitatea aplicației.
Cum se captează cerințe nefuncționale?
În timp ce efectuăm teste, accentul se pune în principal pe testarea funcțională, care testează funcționalitatea produsului. Dar testarea nefuncțională este la fel de importantă ca testarea funcțională și cerința acesteia ar trebui luată în considerare chiar de la începerea produsului.
Cerințele non-funcționale sunt utilizate pentru efectuarea testării nefuncționale. Aceste cerințe includ rezultatele de performanță care sunt așteptate de la aplicație sau software-ul testat. Aceasta include practic timpul necesar software-ului pentru a opera un anumit sistem.
Cerințele nefuncționale surprind, de asemenea, comportamentul atunci când un număr mare de oameni utilizează software-ul în același timp. De cele mai multe ori se constată că serverele sunt ocupate sau indisponibile din cauza încărcării mari (adică mai multe persoane îl folosesc în același timp). Rezervarea biletelor de cale ferată online poate fi cea mai bună exemplu a unei astfel de situații.
Prin urmare, documentarea corectă a cerinței non-funcționale și efectuarea corectă a testării vor asigura o satisfacție ridicată în ceea ce privește gradul de utilizare a potențialilor clienți.
Deși această testare nu are un impact direct asupra funcționalității sistemului, poate crește într-o măsură mai mare experiența utilizatorului și ușurința utilizatorului, ceea ce la rândul său va avea un impact mai mare asupra calității software-ului.
Exemplu:
Luați în considerare același exemplu de pagină de conectare Facebook. În acest caz, scopul testării nefuncționale este de a nota timpul necesar sistemului de conectare la Facebook după introducerea acreditării valabile.
De asemenea, poate fi testat ca atunci când (să zicem 100) utilizatorii se conectează în același timp, cât timp este necesar pentru conectarea utilizatorului pe Facebook.
Acest lucru asigură faptul că sistemul poate gestiona încărcarea și traficul, care la rândul său are o experiență bună a utilizatorului.
În mod agil, cerința nefuncțională ar trebui să fie capturată folosind intrări.
O cerință nefuncțională ar trebui să fie surprinsă ca:
- Utilizator / Povești tehnice
- În Criteriile de acceptare
- În Artefact
9
# 1) Utilizator / Povești tehnice
O cerință nefuncțională poate fi capturată folosind povestirile utilizatorilor sau povești tehnice. Capturarea cerințelor nefuncționale ca poveste a utilizatorului este aceeași cu cea a capturării oricărei alte cerințe. Singura diferență între utilizator și o poveste tehnică este că povestea utilizatorului necesită discuții și are vizibilitate.
# 2) Criterii de acceptare
Criteriul de acceptare este punctul care este definit pentru acceptarea produsului de către client, adică pentru a obține produsul acceptat la punctele definite ar trebui să fie în starea de trecere.
O cerință nefuncțională ar trebui inclusă în criteriile de acceptare, dar uneori nu este posibil să se testeze cerințele nefuncționale cu fiecare poveste, adică cu fiecare iterație. Prin urmare, cerințele ar trebui adăugate sau testate numai cu iterația relevantă.
# 3) În artefacte
Ar trebui pregătit un artefact separat pentru cerințele nefuncționale, care, la rândul său, ar contribui la o idee mai bună despre ceea ce trebuie testat și cum se poate face în iterații.
Diferența în cerințele funcționale și nefuncționale
Există mai multe diferențe între cerințele funcționale și nefuncționale și câteva dintre acestea sunt enumerate mai jos:
S.Nr. | Cerință funcțională | Cerință nefuncțională |
---|---|---|
Performanţă | Testeri de performanță printr-un instrument care tratează operațiunea ca pe o tranzacție efectuată de un anumit număr de utilizatori concurenți în timp ce testerul analizează toată logistica | Timp de raspuns |
1 | Cerința funcțională este bazată pe client. | Cerința non-funcțională se bazează pe dezvoltatori și pe cunoștințele tehnice ale echipei. |
Două | Cerința funcțională specifică funcționalitatea care trebuie luată în considerare, adică ce trebuie testat. | Cerințele nefuncționale specifică modul în care trebuie testat. |
3 | Testarea funcțională se efectuează înainte ca aplicația să fie activată. | Cerințele nefuncționale includ testarea întreținerii, testarea documentației care nu sunt necesare în timpul executării, dar una a cărei aplicație a fost activată. |
4 | Este cunoscut doar ca cerință funcțională. | Cunoscut și sub numele de Cerințe de calitate. |
5 | Planul de implementare pentru cerința funcțională este definit în documentul de proiectare a sistemului. | Planul de implementare pentru cerințe nefuncționale este definit în arhitectura sistemului. |
6 | Cerința funcțională include testarea funcționalității tehnice a sistemului. | Cerința nefuncțională include calități precum securitate, utilizare etc. |
Lecturi suplimentare => Diferențele dintre testarea funcțională și cea nefuncțională
Este testarea cutiei negre sau a cutiei albe?
Testul nefuncțional intră sub a testarea cutiei negre tehnică.
Această tehnică nu se limitează doar la testarea funcționalităților, ci poate fi folosită și pentru testarea cerințelor nefuncționale, precum și a performanței, utilizabilității, etc. Tehnica de testare a cutiei negre nu necesită cunoștințe despre sistemul intern, adică nu necesită cunoașterea codului către tester.
Lista de verificare a cazurilor de testare nefuncționale
O listă de verificare este utilizată pentru a se asigura că niciun aspect important nu este lăsat fără testare.
O listă de verificare este utilizată în general atunci când nu există timp pentru documentare și produsul trebuie testat sau când există o constrângere de timp, o listă de verificare poate fi utilizată pentru a se asigura că toate aspectele importante au fost acoperite.
Să vedem unexemplua listei de verificare a performanței, securității și documentării.
Listă de verificare pentru testarea performanței
- Timpul de răspuns din aplicație ar trebui să fie verificat, adică cât durează încărcarea aplicației, orice intrare dată aplicației oferă ieșirea în cât timp, reîmprospătarea browserului etc.
- Randament trebuie verificat pentru numărul de tranzacții efectuate în timpul unui test de încărcare.
- Mediu inconjurator configurarea ar trebui să fie aceeași cu mediul live sau altfel rezultatele nu ar fi aceleași.
- Timpul procesului - Procesați activități precum importul și exportul de Excel, orice calcule din aplicație ar trebui testate.
- Interoperabilitate ar trebui să fie verificat, adică un software ar trebui să poată interacționa cu celălalt software sau sisteme.
- ETL timpul trebuie verificat, adică timpul necesar extragerii, transformării și încărcării datelor dintr-o bază de date în alta.
- Creșterea sarcinii pe aplicație ar trebui să fie verificat.
Listă de verificare pentru testarea securității
- Autentificare: Doar un utilizator autentic ar trebui să se poată autentifica.
- Autorizat: Utilizatorul ar trebui să se poată conecta la acele module numai pentru care este autorizat sau pentru care utilizatorul a primit acces.
- Parola: Cerința de parolă trebuie verificată, adică parola trebuie să fie conformă cu modul în care cerința definește, adică lungimea, caracterele speciale, numerele etc.
- Pauză: Dacă aplicația este inactivă, ar trebui să expire într-un timp specificat.
- Copia de rezerva a datelor: Copierea de rezervă a datelor ar trebui făcută la o oră specificată și ar trebui copiată într-o locație securizată.
- Legături interne pentru aplicația web nu ar trebui să fie accesibilă dacă sunt plasate direct în browser.
- Toate comunicările ar trebui să fie criptate.
Listă de verificare pentru testarea documentației
- Documentație pentru utilizator și sistem.
- Documente destinate instruirii.
Document de abordare
Elaborați un document de abordare specific pentru etapa de testare a performanței prin rafinarea strategiei generale de testare. Această abordare de testare ghidează în planificarea și executarea tuturor sarcinilor de testare a performanței.
diferența dintre c c ++ și java
- Domeniul de testare
- Valori de testare
- Instrumente de testare
- Date cheie și rezultate
Domeniul de testare
Efectuați testarea performanței din diferite perspective, cum ar fi performanța utilizatorului, procesele de afaceri, stabilitatea sistemului, consumul de resurse etc. Tipurile de teste de performanță de executat sunt discutate în secțiunea de mai sus a articolului (cum ar fi testul de încărcare, testul de stres etc.)
Valori de testare
Abordarea testului rafinează valorile pentru măsurare și raportare în timpul testării, cum ar fi:
- Timp de răspuns (online)
- Fereastra lot (lot)
- Capacitate ( De exemplu , numărul de tranzacții pe unitate de timp)
- Utilizare ( De exemplu , procentul de resurse utilizate)
Instrumente de testare
În principal, testarea performanței necesită utilizarea instrumentelor adecvate:
- Instrumente de generare a încărcăturii
- Instrumente de monitorizare a performanței
- Instrumente de analiză a performanței
- Instrumente de profilare a aplicațiilor
- Unelte de căptușire a bazei.
Date cheie și rezultate
Documentul de abordare a testului de performanță ar trebui să descrie următoarele:
- Data și ora fiecărui test de performanță.
- Tipurile de teste și amestecul de funcționalități trebuie incluse în fiecare conduită a testului de performanță.
- Datele de finalizare a testului de performanță.
Tipuri de testare nefuncțională
Următoarea imagine descrie tipurile de testare nefuncțională:
Test de performanta:
Evaluează performanța generală a sistemului .
Elementele cheie sunt următoarele:
- Validează faptul că sistemul îndeplinește timpul de răspuns așteptat.
- Evaluează faptul că elementele semnificative ale aplicației respectă timpul de răspuns dorit.
- Poate fi realizat și ca parte a testării integrării și a testării sistemului.
Testarea sarcinii:
Evaluează dacă performanța sistemului este cea așteptată în condiții normale și așteptate.
Punctele cheie sunt:
- Validează că sistemul funcționează conform așteptărilor atunci când utilizatorii concurenți accesează aplicația și obțin timpul de răspuns așteptat.
- Acest test se repetă cu mai mulți utilizatori pentru a obține timpul de răspuns și randamentul.
- În momentul testării, baza de date ar trebui să fie realistă.
- Testul trebuie efectuat pe un server dedicat care stimulează mediul real.
Testare stresanta:
Evaluează dacă performanța sistemului este cea așteptată atunci când are resurse reduse.
Punctele cheie sunt:
- Testați cu memorie redusă sau spațiu redus pe disc pe clienți / servere care dezvăluie defectele care nu pot fi găsite în condiții normale.
- Mai mulți utilizatori efectuează aceleași tranzacții pe aceleași date.
- Mai mulți clienți sunt conectați la servere cu sarcini de lucru diferite.
- Reduceți timpul de gândire la „Zero” pentru a stresa serverele la stresul maxim.
Think Time: La fel ca intervalul de timp dintre tastarea utilizatorului și parola.
Testarea volumului:
Evaluează comportamentul software-ului atunci când este implicat un volum mare de date.
Punctele cheie sunt:
- Când software-ul este supus unor cantități mari de date, verifică limita în care software-ul eșuează.
- Se creează dimensiunea maximă a bazei de date și mai mulți clienți interogă baza de date sau creează un raport mai mare.
- Exemplu - Dacă aplicația procesează baza de date pentru a crea un raport, un test de volum ar fi utilizarea unui set mare de rezultate și verificarea dacă raportul este tipărit corect.
Testare de utilizare:
Evaluează sistemul pentru uz uman sau verifică dacă este potrivit pentru utilizare.
Punctele cheie sunt:
- Rezultatul este corect și semnificativ și este același cu cel așteptat conform afacerii?
- Sunt diagnosticate corect erorile?
- GUI este corectă și conformă cu standardul?
- Este ușor de utilizat aplicația?
Testarea interfeței utilizatorului:
Evaluează interfața grafică.
Punctele cheie sunt:
- GUI ar trebui să ofere ajutor și sfaturi pentru a fi ușor de utilizat.
- Coerent pentru aspectul său?
- Datele sunt traversate corect de la o pagină la alta?
- GUI nu ar trebui să enerveze utilizatorul sau să devină dificil de înțeles.
Testarea compatibilității:
Evaluează dacă aplicația este compatibilă cu alte componente hardware / software cu o configurație minimă și maximă.
Punctele cheie sunt:
- Testați fiecare hardware cu o configurație minimă și maximă.
- Testați cu diferite browsere.
Cazurile de testare sunt aceleași cu cele care au fost executate în timpul testării funcționale. - În cazul în care numărul de hardware și software este prea mare, atunci putem folosi tehnici OATS pentru a ajunge la cazurile de testare pentru a avea o acoperire maximă.
Testarea recuperării:
Evaluează că aplicația se termină cu grație în caz de eșec și că datele sunt recuperate în mod corespunzător de la orice defecțiuni hardware și software.
Testele nu se limitează la punctele de mai jos:
- Întreruperea puterii către client în timp ce desfășoară activități CURD.
- Chei și pointeri de bază de date nevalizi.
- Procesul bazei de date este întrerupt sau terminat prematur.
- Indicatorii, câmpurile și cheile bazei de date sunt corupte manual și direct în baza de date.
- Deconectați fizic comunicația, opriți alimentarea, opriți routerele și serverele de rețea.
Testarea instabilității:
Evaluează și confirmă dacă software-ul se instalează și se dezinstalează corect.
site-uri de streaming anime gratuite dublate în engleză
Punctele cheie sunt:
- Validează faptul că componentele sistemului sunt instalate corect pe hardware-ul desemnat.
- Validează faptul că navigarea pe noua mașină actualizează instalarea existentă și versiunile mai vechi.
- Validează faptul că, cu spațiu insuficient pe disc, nu există un comportament inacceptabil.
Testarea documentației:
Evaluează documentele și alte manuale de utilizare.
Punctele cheie includ:
- Validează că documentele menționate sunt disponibile în produs.
- Validează toate ghidurile de utilizare, configurează instrucțiunile, citește-mi fișiere, lansează note și ajutor online.
Testare de basculare:
Testarea failover-ului se face pentru a verifica dacă în cazul unei defecțiuni a sistemului, sistemul este suficient de capabil să gestioneze resurse suplimentare, cum ar fi serverele.
Pentru a preveni o astfel de situație, testarea de rezervă joacă un rol important. Crearea unui sistem de rezervă este ceea ce înseamnă procesul. Dacă copia de rezervă este disponibilă, atunci ajută la recuperarea sistemului.
Testare de securitate:
Testarea securității se face pentru a se asigura că aplicația nu are lacune care ar putea duce la pierderi de date sau amenințări. Este unul dintre aspectele importante ale testării nefuncționale și, dacă nu este efectuat corect, poate duce la amenințări la adresa securității.
Include testarea autentificării, autorizării, integrității și disponibilității.
Testarea scalabilității:
Testarea scalabilității se face pentru a verifica dacă aplicația este suficient de capabilă să gestioneze traficul crescut, numărul de tranzacții, volumul de date etc. Sistemul ar trebui să funcționeze așa cum era de așteptat atunci când se face volumul de date sau se modifică dimensiunea datelor.
Testarea conformității:
Testarea conformității se face pentru a verifica dacă standardele definite sunt respectate sau nu. Auditurile se fac pentru a verifica același lucru.
Pentru Exemplu , Auditurile se fac pentru a verifica procesul de creare a cazurilor de testare / planurilor de testare și plasarea lor în locația partajată cu numele standard care se face sau nu. În QC, în timpul numirii cazurilor de testare, numele standard al cazului de testare este urmărit sau nu. Documentația este completă și aprobată sau nu.
Acestea sunt puținele indicații care sunt acoperite în timpul auditului.
Testarea rezistenței:
Testarea rezistenței se face pentru a verifica comportamentul sistemului atunci când o sarcină este crescută într-o măsură pentru o lungă perioadă de timp.
Este, de asemenea, numit sub formă de testare și testare a capacității. Vă ajută să verificați dacă există scurgeri de memorie în sistem. Testarea de anduranță este un subset de testare a sarcinii.
Testarea localizării:
Testarea localizării se face pentru a verifica aplicația în diferite limbi, adică în diferite locații. Aplicația trebuie verificată pentru o anumită cultură sau localizare. Accentul principal este de a testa conținutul, GUI al aplicației.
Testarea internaționalizării:
Testarea internaționalizării este, de asemenea, cunoscut sub numele de testare i18n.
I18n reprezintă I – optsprezece litere- N. Se face pentru a verifica dacă aplicația funcționează conform așteptărilor în toate setările de limbă. Verifică dacă orice funcționalitate sau aplicație în sine nu se întrerupe, adică aplicația ar trebui să fie suficient de capabilă să gestioneze toate setările internaționale.
De asemenea, verifică dacă aplicația se instalează fără probleme.
Testarea fiabilității:
Testarea fiabilității se face pentru a verifica dacă aplicația este fiabilă și este testată pentru o anumită perioadă de timp în mediul definit. O aplicație ar trebui să ofere de fiecare dată același rezultat așa cum era de așteptat, numai atunci poate fi considerată ca fiind de încredere.
Testarea portabilității:
Testarea portabilității se face pentru a verifica dacă în cazul în care un software / aplicație este instalat pe un alt sistem sau pe o altă platformă, acesta ar trebui să poată rula așa cum era de așteptat, adică nu ar trebui să fie afectată nicio funcționalitate din cauza unei schimbări a mediului.
În timpul testării, este necesar, de asemenea, să testați modificarea cu configurația hardware, cum ar fi spațiul pe hard disk, procesor și, de asemenea, cu diferite sisteme de operare pentru a asigura comportamentul corect al aplicației și funcționalitatea așteptată sunt intacte.
Testarea de bază:
Testarea de bază este, de asemenea, cunoscută sub numele de teste de referință deoarece creează o bază pentru testarea oricărei aplicații noi.
De exemplu: În prima iterație, timpul de răspuns pentru o aplicație a fost de 3 secunde. Acum, acest lucru a fost stabilit ca reper pentru următoarea iterație și în următoarea iterație, timpul de răspuns se schimbă la 2 secunde. Este practic un document de validare care este folosit ca bază pentru referințele viitoare.
Testarea eficienței:
Testarea eficienței se face pentru a verifica dacă aplicația funcționează eficient și numărul de resurse necesare, instrumentele necesare, complexitatea, cerințele clienților, mediul necesar, timpul, ce fel de proiect este etc.
Acestea sunt câteva dintre indicațiile care ar ajuta la definirea cât de eficient ar funcționa o aplicație dacă toți parametrii considerați funcționează conform așteptărilor.
Testarea recuperării în caz de dezastru:
Această testare se face pentru a verifica rata de succes a recuperării unei aplicații sau a unui sistem dacă apare o defecțiune critică și dacă sistemul este capabil să restabilească datele și aplicația sau dacă sistemul ar putea face față cu ușurință pentru a reveni la modul în care funcționa mai devreme, frontul operațional.
Testarea mentenanței:
Odată ce aplicația / produsul devine live, atunci există șanse ca o problemă să apară în mediul live sau clientul ar putea dori o îmbunătățire pentru aplicația care este deja live.
În acest caz, echipa de testare a întreținerii este disponibilă pentru a testa scenariile de mai sus menționate. Odată ce aplicația devine activă, are nevoie de întreținere pentru care lucrează echipa de testare a întreținerii.
Instrumente de testare nefuncționale
Există mai multe instrumente disponibile pe piață pentru testarea performanței (sarcină și stres).
Puțini dintre ei sunt enumerați mai jos:
- JMeter
- Loadster
- Loadrunner
- Stormstorm
- Neoload
- Prognoza
- Încărcare completă
- Instrumentul de stres Webserver
- WebLoad Professional
- Loadtracer
- vPerformer
Testarea nefuncțională este întotdeauna efectuată fără documentare și cazuri de testare? De ce?
„Suntem întotdeauna învățați să scriem cazuri de testare funcționale. De ce este asta? Se efectuează „testarea nefuncțională” fără documentație (cu alte cuvinte, ad-hoc) sau este un proces separat mult mai dificil de înțeles? Cum sunt scrise cazurile de testare pentru diferite tipuri de testare care se întâmplă pe o aplicație? ”
Aceasta este una dintre cele mai originale, distinctive și intempestive întrebări pe care mi le-am pus în ultima vreme. Să găsim răspunsul.
Cum de nu ajungem să vedem și să exersăm niciodată în scrierea unor cazuri de testare nefuncționale?
Să începem cu ceea ce știm și ca întotdeauna un scenariu practic.
Exemplu: Următorii sunt pașii care trebuie efectuați pentru o aplicație de bancă online pentru a efectua un transfer. Să ne folosim ca test pentru referință.
- Autentificați-vă pe site.
- Alegeți contul bancar.
- Alegeți beneficiarul (acest beneficiar ar putea să aparțină aceleiași bănci sau altul - depinde de alegerea datelor dvs. pentru a executa acest pas. În orice caz, alegeți unul. De asemenea, vom presupune că beneficiarul este deja adăugat.) .
- Introduceți suma de transferat (valoare pozitivă, în limită, format corect etc.).
- Faceți clic pe Transfer și verificați dacă se primește confirmarea, soldul contului a fost actualizat și toate acestea.
Acesta este cazul testului funcțional, corect?
Pe aceeași aplicație, pe aceeași pagină de transferuri, să spunem că performăm Testarea performanței, securității și utilizabilității . Acestea sunt tipuri nefuncționale, corect?
Cum am scrie cazurile de testare?
# 1) Testarea utilizabilității Cazuri de testare
Testarea utilizabilității este un gen de testare software care se ocupă cu experiența utilizatorului. Acestea sunt câteva dintre întrebările la care încercăm să răspundem.
- Cât de ușor este de utilizat aplicația?
- Cât de satisfăcătoare este experiența utilizării sistemului?
- Dacă nu este atât de familiar imediat, cât de ușor este să înveți?
Mai multe informații despre el sunt aici: Ghid de testare a utilizabilității
Cum ar determina un utilizator răspunsurile la întrebările de mai sus în contextul testării de utilizare?
Utilizatorul va efectua exact aceiași pași ca în cazul testului funcțional. Am dreptate?
# 2) Testarea performanței Cazuri de testare
Există mai multe variante ale testării performanței, dar la baza acesteia, este utilizat pentru a obține statistici despre sistem, utilizarea resurselor sale, timpul de răspuns, consumul de rețea etc. în diferite puncte de încărcare.
Verificați-ne Tutoriale de testare a performanței pentru a afla mai multe despre asta.
Acum, dacă aș testa performanța tranzacției transferurilor, aș avea 10, 20, 30, 100 ... 1000 ... etc. utilizatorii efectuează operația de transfer simultan sau incremental, în funcție de ceea ce vreau să vizez și să adun date.
Ce pași ar efectua fiecare utilizator pentru a utiliza transferul în timp ce testul de performanță este în desfășurare?
Aceiași pași exacți ca și testul funcțional, corect?
# 3) Testarea testelor de securitate
Testarea securității este o ramură a QA-ului care ajută la îmbunătățirea sistemelor software împotriva pirateriei. Identifică vulnerabilitățile (potențiale zone problematice din sistemul software), le exploatează prin penetrare sau tehnica de testare a pălăriilor albe și atunci când sunt găsite bucle, acestea sunt lucrate.
Când vreau să verific dacă transferurile sunt rezistente la piraterie și sunt direcționate corect către destinatarii intenționați și dacă nu există puncte negre în întregul proces? Aș efectua transferul în timp ce procesul de monitorizare a scurgerilor de securitate se desfășoară în paralel.
Prin urmare, efectiv, efectuez exact aceiași pași pe care i-aș face în mod normal în cazul unui test funcțional.
Cred că avem destui pentru a stabili că pașii din toate situațiile sunt la fel. Metoda și intenția din spatele procesului sunt ceea ce este diferit.
Să aruncăm o privire comparativă:
Tipul de testare | OMS? | De ce? Intenție |
---|---|---|
Testarea funcțională | Testeri QA | Precizie |
Eficienţă | ||
Aplicabilitatea afacerii | ||
Utilizare | Tester QA sau utilizatori în timp real | Ușurință în utilizare |
Ușurința de a învăța | ||
Eficienţă | ||
Utilizarea rețelei etc. | ||
Securitate | Instrumente de scanare și alt sistem de monitorizare de către experți specializați în securitate | Hack în siguranță |
Protecția identității plătitorului și a plătitorului etc. |
Ceea ce este interesant de remarcat este că indiferent ce formă de testare dorim să facem, toți pașii sunt aceiași .
Adevărata diferență este că:
- Cine efectuează acești pași?
- Care este intenția sau, cu alte cuvinte, ce încerc să realizez prin acest test?
- Instrumentele și tehnicile utilizate.
Revenind la întrebarea noastră, de ce nu învățăm niciodată să scriem cazuri de testare nefuncționale cu toți pașii detaliați care sunt acolo?
Este pentru că ,la baza lor, pașii de testare pentru o variație a tipurilor de testare pentru o anumită funcție sunt la fel, funcționali sau nu. Intenția este cea care face diferența și poate metoda.
Concluzie
Înainte de a efectua testări nefuncționale, este esențial să planificați corect strategia de testare pentru a asigura testarea corectă. Există diferite instrumente disponibile pe piață pentru efectuarea acestui tip de teste precum Load Runner, RPT etc.
Această testare joacă un rol major în succesul unei aplicații și în construirea unei relații bune cu clienții și, prin urmare, nu trebuie neglijată. Aceasta este una dintre părțile importante ale testării software-ului și testarea nu poate fi considerată completă fără aceasta.
Putem include detalii de testare nefuncționale în planul de testare sau putem crea o strategie separată pentru acesta. În ambele cazuri, scopul este de a avea o acoperire adecvată a aspectelor nefuncționale ale software-ului.
Sperăm că acest proces de adâncire în acest subiect a fost la fel de distractiv pentru dvs., precum vi s-a prezentat tuturor. Ne-ar plăcea să auzim feedbackul și gândurile dvs. cu privire la acest subiect.
Cum te descurci cu testele nefuncționale în echipele tale? Și, ca întotdeauna, spuneți-ne dacă sunteți de acord sau nu sau dacă aveți ceva de adăugat la ceea ce avem aici.
Lectură recomandată
- Testarea funcțională Vs testarea nefuncțională
- Testarea alfa și testarea beta (un ghid complet)
- Ghid de testare a securității aplicațiilor web
- Ghid complet de testare funcțională cu tipurile și exemplul său
- Test de verificare a construcției (testare BVT) Ghid complet
- Cele mai bune instrumente de testare software 2021 (Instrumente de automatizare a testelor de calitate)
- Ghid pentru începători la testarea penetrării aplicațiilor web
- Ghid complet pentru testarea sarcinii pentru începători