Testarea stabilității în testarea software-ului
⚡ Rezumat inteligent
Testarea de stabilitate verifică dacă o aplicație continuă să funcționeze în mod fiabil pe măsură ce condițiile se schimbă, mai degrabă decât doar sub o singură sarcină fixă. Aceasta expune blocări, epuizare a resurselor și degradare pe care o rulare funcțională scurtă nu le atinge niciodată.

Ce este testarea stabilității?
Testarea stabilității este un tip de testare software nefuncțională efectuată pentru a măsura eficiența și capacitatea unei aplicații software de a funcționa continuu pe o perioadă lungă de timp. Scopul testării de stabilitate este verificarea dacă aplicația software se blochează sau eșuează în timpul utilizării normale în orice moment, prin exercitarea întregii game de utilizare.
Testarea de stabilitate este efectuată pentru a verifica eficiența unui produs dezvoltat dincolo de capacitatea operațională normală, adesea până la un punct de întrerupere. Există o importanță mai mare pe gestionarea erorilor, fiabilitatea software-ului, robustețea și scalabilitatea unui produs sub sarcină grea, mai degrabă decât verificarea comportamentului sistemului în circumstanțe normale.
Testarea de stabilitate evaluează problemele de stabilitate. Această testare are scopul în primul rând de a stresa la maximum componenta software. Este o tehnică nefuncțională.

Testarea de stabilitate este denumită și sarcină sau testare de anduranță.
Riscuri dacă sistemul testat nu a fost supus testului de stabilitate
Pentru o aplicație testată în care sunt introduși un număr mare de utilizatori și aplicații care trebuie să ruleze luni de zile fără repornire, este posibil să apară o serie de probleme:
Posibila eroare poate fi înfruntă,
- sistemul încetinește
- sistemul întâmpină probleme de funcționalitate
- sistemul arată un comportament prin cablu
- sistemul se prăbușește cu totul
În inginerie software, Testarea stabilității implică de obicei exersarea sistemului cu utilizatori grei (virtuali) și măsurarea parametrilor de performanță pentru a verifica dacă sistemul poate suporta sarcina anticipată.
De ce faceți teste de stabilitate
Acest tip de testare ajută utilizatorii să înțeleagă modul în care sistemul va funcționa în situații reale.
Prin urmare, Testarea de stabilitate vă permite să verificați,
- Oferiți încredere în stabilitatea sistemului dumneavoastră testat.
- Asigurați-vă că sistemul dumneavoastră poate gestiona programe mari.
- Monitorizați eficacitatea sistemului dvs.
- Testați stabilitatea sistemului în condiții de stres.
Joacă un rol important în dezvoltarea produsului, deoarece este utilizat pentru a determina limitările unui produs software testat înainte de a fi lansat sau zonele de îmbunătățire înainte ca produsul să intre în funcțiune sau la producție.
Un exemplu foarte comun de tehnică de testare a stabilității este
Online Shopping Portals: Testarea de stabilitate va verifica cum se va comporta site-ul web atunci când -
- Cantitate mare de date introduse la ora de vârf
- Numărul de accesări la un anumit moment specific
- Problemă de încărcare a paginii în același timp
- Comportamentul sistemului
- Capacitatea de răspuns a sistemului și multe altele sunt supuse Testarea stabilității
Alt exemplu
A Procesor testul este o formă populară de test de stabilitate sub Test de performanta tehnică. Acest test verifică stabilitatea procesorului și, de asemenea, monitorizează performanța acestuia pe măsură ce volumul de lucru al procesorului crește.
Cum se face testarea de stabilitate
- Pentru a determina scopul și obiectivul testării, trebuie să ne asigurăm că serverele de aplicație nu se blochează în timpul execuțiilor testului de încărcare.
- Pentru a determina problemele de afaceri, verificați performanța sistemului și încărcați conform perspectivei utilizatorului final.
- Pentru a atribui diferitele responsabilități și roluri, cum ar fi -Crearea planului de testare, Caz de testare proiectare, revizuire caz de testare, execuție test etc.
- Pentru a asigura livrabilele Testului în timpul specificat
- Pentru a asigura corect Încărcarea testelor echipa de instrumente și experiență este prezentă pentru același lucru.
- Măsurarea riscului și costului implică testarea. Aceasta va determina costul fiecărei execuții în ceea ce privește utilizarea CPU și memorie.
- Determinați Defect tracrege și raportare și harta lor corespunzătoareping cu cerințele.
Caz de testare pentru testarea stabilității pentru performanța procesorului
- Pentru a verifica limita superioară a sistemului.
- Cum se blochează sau se recuperează sistemul.
- Un număr total de tranzacții finalizate per cerere.
- Indiferent dacă răspunsul la tranzacție rămâne constant sau crește în timp.
- Cum se comportă sistemul la sarcină grea.
- Răspunsul și comportamentul său la sarcină grea.
Rapoarte de testare pentru testarea stabilității
Mai multe statistici sunt adunate și măsurate în timpul execuțiilor de testare; aceste numere sunt analizate pentru a genera un raport și pentru a identifica posibile probleme de performanță.
Exemple de statistici colectate în cadrul testării sunt:
- Timpii de răspuns la tranzacții: Timpul mediu este necesar pentru a efectua tranzacții în timpul testului. Această statistică va evalua dacă performanța serverului se încadrează în perioadele acceptabile de performanță minimă și maximă a tranzacțiilor definite pentru sistem. Aceste informații vor evalua timpul necesar procesării cererii de către serverul web și trimisă către serverul de aplicații, care în majoritatea cazurilor vor face o cerere către un server de baze de date.
- Lovituri pe secundă: Numărul de accesări efectuate pe server de către utilizatori. Aceste statistici beneficiază de a determina numărul de încărcări generate de utilizatori, în raport cu un număr de accesări.
- Randament: Cantitatea de transfer pe serverul Web în timpul testului, care este măsurată în octeți. Debitul înseamnă cantitatea de date pe care utilizatorii le-au primit de la server la un moment dat. Această statistică ajută la evaluarea cantității de încărcare generată de utilizatori.
- Tranzacție pe secundă: Acestea sunt numărul total de tranzacții finalizate (atât cu succes, cât și eșuate) efectuate în timpul unui test. Această statistică ajută la verificarea încărcării efective a tranzacțiilor din sistem.
- CPU: Procentul de utilizare a procesorului cheltuit în timpul unui test.
- Memorie: Utilizarea memoriei în timpul unui test.
- Disc: utilizarea spațiilor pe disc petrecute în timpul unui test.
Bazele testării de stabilitate
Testarea stabilității face parte din Testarea performanței – o tehnică care este efectuată pentru a verifica unele dintre atributele de calitate ale software-ului, cum ar fi stabilitatea, fiabilitatea și disponibilitatea.
Această testare este utilizată pentru a determina cât de repede funcționează un sistem sau un subsistem la o anumită sarcină de lucru.
Testarea performanței are multe tipuri, iar testarea stabilității este una dintre ele.
- Testare stresanta: Este un tip de testare care verifică robustețea sistemului dincolo de capacitatea sistemului.
- Testarea vârfurilor: Este folosit pentru a verifica comportamentul unui sistem prin creșterea instantanee a sarcinii unui sistem. Obiectivul este de a verifica în ce moment sistemul va avea probleme de performanță sau va trece.
- Testare de scalabilitate: Este folosit pentru a verifica capabilitățile unui sistem. Cât de eficient se va comporta sistemul în ceea ce privește nevoile în creștere, schimbarea dimensiunii și schimbarea volumului.
- Testarea volumului: Este o tehnică de testare nefuncțională în care software-ul testat este supus unui volum uriaș de date, iar comportamentul unui sistem este verificat și verificat în consecință.
- Testare de încărcare sau stabilitate: (deja discutat mai sus)
Instrumente de testare a stabilității
Unele dintre instrumentele pentru testarea performanței sunt:
- Încărcare web
- LoadRunner
- Apache JMeter
- NeoA incarca
- CloudTest
- Furtună de încărcare
- LoadUI
- WAPT
- LoadImpact
- Loadster
- Httperf
- OpenSTA
Cum se încadrează acest test în familia de teste de performanță
Testarea performanței este un termen generic. Variantele de mai jos diferă doar prin forma sarcinii aplicate și durata de timp în care este menținută, motiv pentru care sunt atât de des confundate între ele.
| Tipul testului | Model de încărcare | Întrebare îi răspunde |
|---|---|---|
| Testare de sarcină | Sarcină maximă așteptată, durată scurtă | Își îndeplinește sistemul obiectivele în condiții normale de trafic de vârf? |
| Testare stresanta | Crescut peste capacitate până la defecțiune | Unde se rupe și cedează cu grație? |
| Testarea vârfurilor | Creștere bruscă și extremă, apoi retragere | Supraviețuiește și își revine după un șoc în trafic? |
| Testare de anduranță | Sarcina normală menținută timp de mai multe ore | Se degradează performanța în timp? |
| Testarea prin imersie | Sarcină susținută pe o perioadă extinsă | Există scurgeri de memorie sau epuizare a resurselor? |
| Testare de stabilitate | Sarcină variabilă în funcție de condiții | Sistemul rămâne fiabil chiar și atunci când se schimbă condițiile? |
| Testarea volumului | Utilizatori obișnuiți, volum foarte mare de date | Se descurcă pe măsură ce baza de date crește? |
Testele de anduranță și testarea la îmbibare sunt adesea tratate ca sinonime. În uzul comun, acestea sunt: ambele suportă o sarcină susținută pentru o perioadă lungă de timp. Acolo unde echipele le disting, testarea de anduranță se concentrează asupra creșterii timpilor de răspuns, în timp ce testarea prin absorbție se concentrează pe consumul de resurse, cum ar fi memoria, identificatorii de fișiere și pool-urile de conexiuni. Rularea uneia dintre ele vă oferă de obicei dovezi pentru ambele.
Indicatori cheie de înregistrat în timpul testului
O rulare a performanței este la fel de bună ca ceea ce înregistrezi în timp ce se execută. Înregistrează aceste șase date pe server și pe partea de client, apoi compară-le cu valorile de referință, mai degrabă decât cu o intuiție.
| metric | Ce iti spune | Semn de avertizare |
|---|---|---|
| Timpul mediu de răspuns | Experiență tipică a utilizatorului | Orice deviație ascendentă pe parcursul alergării |
| Timpul de răspuns la percentila 95 | Experiența celor mai lenți utilizatori | Mult peste medie, ceea ce înseamnă inconsecvență |
| tranzitată | Cereri gestionate pe secundă | Cădere în timp ce sarcina rămâne constantă |
| Rata de eroare | Procentul de solicitări eșuate sau cu termen expirat | Orice creștere peste pragul convenit |
| Utilizarea procesorului și a memoriei | Spațiu de resurse al serverului | Amintire care urcă și nu se mai întoarce |
| Conexiuni și fire de execuție la baza de date | Epuizarea piscinei | Numărări care cresc constant fără publicare |
Citiți media și percentila împreună. O medie de 800 ms cu o percentilă 95 de 900 ms descrie un sistem consistent. Aceeași medie cu o percentilă 95 de 9 secunde înseamnă că un utilizator din douăzeci trece printr-o perioadă proastă, iar media ascunde acest lucru.
Atenție la formă, nu doar la valoare. În orice test de lungă durată, o linie de resurse plată este o reușită, iar una în creștere este o scurgere, chiar și atunci când numărul absolut este încă confortabil în interiorul limitei în momentul în care se termină rularea.
