Ce este testarea de stres în testarea software-ului?
⚡ Rezumat inteligent
Testarea la stres împinge o aplicație dincolo de limitele sale normale de funcționare pentru a găsi punctul de rupere, a confirma că defecțiunile sunt gestionate cu eleganță și a demonstra că sistemul își revine fără probleme odată ce sarcina extremă este eliminată.
Ce este testarea de stres?
Testare stresanta este un tip de testare software care verifică stabilitatea și fiabilitatea unei aplicații software. Scopul testării la stres este de a măsura robustețea și capacitățile de gestionare a erorilor software-ului în condiții de încărcare extrem de mare și de a se asigura că software-ul nu se blochează în situații de criză. Testarea se face în mod deliberat dincolo de punctele normale de funcționare și evaluează modul în care software-ul se comportă în condiții extreme.
În cadrul testării la stres, aplicația testată (AUT) este solicitată pentru o perioadă scurtă de timp pentru a-i descoperi capacitatea de rezistență. Cea mai importantă utilizare a testării la stres este de a determina limita la care sistemul, software-ul sau hardware-ul se defectează. De asemenea, se verifică dacă sistemul demonstrează o gestionare eficientă a erorilor odată ce această limită este depășită.
In Inginerie SoftwareTestarea la stres este adesea listată alături de Testare de anduranță, dar cele două diferă: testarea la stres aplică o sarcină anormal de mare într-o rafală scurtă pentru a găsi punctul de rupere, în timp ce testarea de anduranță (immersie) menține o sarcină moderată timp de ore pentru a expune degradarea treptată.
Captura de ecran de mai jos arată un bloc mare de date copiat de pe o pagină web.
Aplicația testată este suprasolicitată atunci când 5 GB de date sunt copiate de pe site și lipite în Notepad. Notepad este acum suprasolicitat și returnează un mesaj de eroare „Nu răspunde”, exact așa cum arată următoarea captură de ecran.
Același principiu se scalează direct la sistemele pe partea de server.
Nevoia de teste de stres
Luați în considerare următoarele exemple în timp real în care utilizarea testării la stres devine evidentă:
- În timpul festivalului, un magazin onlineping site-ul poate înregistra o creștere bruscă a traficului sau atunci când anunță o vânzare.
- Când un blog este menționat într-un ziar important, acesta se confruntă cu o creștere bruscă a traficului.
Este imperativ să se efectueze teste de stres pentru a gestiona astfel de vârfuri anormale de trafic. Nerespectarea acestui trafic brusc poate duce la pierderi de venituri și reputație.
Testarea la stres este, de asemenea, extrem de valoroasă din următoarele motive:
- Verifică dacă sistemul funcționează în condiții anormale.
- Confirmă că este afișat un mesaj de eroare corespunzător în timp ce sistemul este sub stres.
- O defecțiune a sistemului în condiții extreme ar putea duce la pierderi enorme de venituri.
- Este mai bine să fii pregătit pentru condiții extreme executând teste de stres în avans.
Următoarea secțiune prezintă ce trebuie să demonstreze un test de stres reușit.
Obiectivele testării de stres
Scopul testării la stres este de a analiza comportamentul sistemului după o defecțiune. Pentru ca testarea la stres să aibă succes, un sistem trebuie să afișeze un mesaj de eroare adecvat în timp ce se află în condiții extreme.
Pentru a efectua teste de stres, se utilizează uneori seturi masive de date, iar aceste date se pot pierde în timp ce sistemul se defectează. Testerii ar trebui să se asigure că aceste date legate de securitate nu se pierd în timpul testelor de stres.
Scopul principal al testării la stres este de a se asigura că sistemul își revine după o defecțiune, o proprietate numită recuperabilitate. Testare de recuperare apoi verifică în detaliu procedura de restaurare.
Testarea la sarcină vs. testarea la stres
Ambele tehnici aparțin Test de performanta familie, deci sunt ușor de confundat. Diagrama de mai jos prezintă o comparație între cele două profile de sarcină.
| Încărcarea testelor | Testare stresanta |
|---|---|
| Încărcarea testelor testează comportamentul sistemului în condiții normale de sarcină de lucru; simulează sarcina de lucru reală așteptată. | Testarea la stres testează comportamentul sistemului în condiții extreme și se efectuează până la defectarea sistemului. |
| Testarea de încărcare nu strică sistemul. | Testarea la stres încearcă în mod deliberat să spargă sistemul prin copleșirea lui cu date sau prin privarea lui de resurse. |
Profilurile conexe includ Testarea Spike (o explozie scurtă și bruscă), Testarea volumului (date voluminoase în loc de mulți utilizatori) și Testare de scalabilitate (marjă de creștere).
Tipuri de teste de stres
Următoarele sunt tipurile de teste de stres, explicate pe rând.
Testarea distribuită a stresului
În sistemele distribuite client-server, testarea se face pe toți clienții de pe server. Rolul serverului de stres este de a distribui un set de teste de stres tuturor clienților de stres și de a track starea fiecărui client. După ce un client contactează serverul, serverul adaugă numele clientului și începe să trimită date pentru testare. Figura de mai jos arată cum serverul de stres ajunge la unii clienți, dar nu și la alții.
Între timp, mașinile client trimit un semnal, sau o pulsație, confirmând că sunt încă conectate la server. Dacă serverul nu primește niciun semnal de la o mașină client, acea mașină trebuie investigată în continuare pentru depanare. În figură, serverul se poate conecta cu 2 clienți (Client1 și Client2), dar nu poate trimite sau primi un semnal de la Clientul 3 și Clientul 4.
O rulare peste noapte este cea mai bună opțiune pentru aceste scenarii de testare la stres. Fermele mari de servere au nevoie de o metodă mai eficientă pentru a determina ce computere au avut erori de stres care trebuie investigate.
Testarea la stres a aplicațiilor
Această testare se concentrează pe găsirea defectelor legate de blocarea și blocarea datelor, problemele de rețea și blocajele de performanță într-o singură aplicație.
Testarea la stres tranzacțional
Efectuează teste de stres pe una sau mai multe tranzacții între două sau mai multe aplicații. Este utilizat pentru reglarea fină și optimizarea sistemului.
Testarea sistemică la stres
Aceasta este o testare la stres integrată care poate fi executată pe mai multe sisteme care partajează același server. Este utilizată pentru a găsi defecte în cazul în care o aplicație blochează datele altei aplicații.
Testarea exploratorie la stres
Acesta este tipul de testare la stres utilizat pentru a testa sistemul cu parametri sau condiții neobișnuite care este puțin probabil să apară într-un scenariu real. Este folosit pentru a găsi defecte în situații neașteptate, cum ar fi:
- Un număr mare de utilizatori s-au conectat simultan.
- Un scaner de viruși pornește simultan pe toate mașinile.
- O bază de date intră offline în timp ce este accesată de pe un site web.
- Un volum mare de date introdus simultan în baza de date.
Indiferent de varianta aplicabilă, secvența de execuție rămâne aceeași.
Cum se face testul de stres?
Procesul de testare la stres se poate realiza în 5 etape principale:
- Pasul 1) Planificarea testului de stres: Aici colectați datele sistemului, analizați sistemul și definiți obiectivele testului de stres.
- Pasul 2) Creați scripturi de automatizare: În această fază, creați scripturile de automatizare pentru testarea la stres și generați datele de testare pentru scenariile de stres.
- Pasul 3) Execuția scriptului: În această etapă, rulați scripturile de automatizare pentru testarea la stres și stocați rezultatele testării la stres.
- Pasul 4) Analiza rezultatelor: În această etapă, analizați rezultatele testului de stres și identificați blocajele.
- Pasul 5) Ajustări și optimizare: În această etapă, reglați fin sistemul, modificați configurațiile și optimizați codul cu scopul de a atinge standardul dorit.
În cele din urmă, rulați din nou întregul ciclu pentru a determina dacă modificările au produs rezultatele dorite. De exemplu, nu este neobișnuit să fie nevoie de 3 până la 4 cicluri ale procesului de testare la stres înainte de a fi atinse obiectivele de performanță, așa că scripturile sunt în mod normal întreținute împreună cu regres pe.
Instrumente recomandate pentru testarea la stres
Cele patru instrumente de mai jos acoperă majoritatea nevoilor, de la suite pentru întreprinderi până la o opțiune gratuită open-source.
LoadRunner
LoadRunner este un instrument de testare a încărcării utilizat pe scară largă, vândut acum de OpenText în edițiile Professional, Enterprise și Cloud după trecerea de la HP la Micro Focus pentru a OpenTextRezultatele testelor de sarcină produse de LoadRunner sunt tratate ca punct de referință.
JMeter
Apache JMeter este un instrument de testare open-source. Este pur Java aplicație pentru testarea la stres și a performanței și este destinată să acopere tipuri de teste precum cele de sarcină, funcționale și de stres. Versiunile actuale 5.6.x ale Apache JMeter necesita Java 8 sau mai recent, cu Java 17 recomandate.
Tester de stres
Acest instrument oferă o analiză extinsă a performanței aplicațiilor web, prezintă rezultatele în format grafic și este ușor de utilizat. Nu este nevoie de scripting la nivel înalt, ceea ce menține rentabilitatea investiției la un nivel...tractiv pentru echipe mai mici.
NeoA incarca
NeoA incarca, acum parte din Tricentis portofoliu, este un instrument popular pentru testarea web și Aplicații mobilePoate simula mii de utilizatori pentru a evalua performanța aplicațiilor sub sarcină și pentru a analiza timpii de răspuns. De asemenea, acceptă teste de performanță, sarcină și stres integrate în cloud și se scalează bine.
Mai multe opțiuni sunt enumerate în ghidul pentru instrumente de testare a performanței; oricare ar fi aleasă, rezultatul acesteia are o valoare doar în raport cu metricile de mai jos.
Valori pentru testarea de stres
Metricile ajută la evaluarea performanței unui sistem și sunt, în general, studiate la sfârșitul testului de stres. Metricile utilizate în mod obișnuit sunt grupate în trei familii.
Măsurarea scalabilității și performanței
- Pagini pe secundă: Măsoară câte pagini au fost solicitate pe secundă.
- Randament: O metrică de bază — dimensiunea datelor de răspuns pe secundă.
- runde: Numărul de ori în care au fost planificate scenarii de testare față de numărul de ori în care un client le-a executat.
Răspuns la cerere
- Momentul de acces: Timpul mediu de preluare a unei imagini sau a unei pagini.
- Timp până la primul octet: Timpul necesar pentru returnarea primului octet de date sau informații.
- Timp de afișare a paginii: Timpul necesar pentru a recupera toate informațiile de pe o pagină.
eşecurile
- Conexiuni eșuate: Numărul de conexiuni eșuate refuzate de client (semnal slab).
- Runde eșuate: Numărul de runde care eșuează.
- Accesări eșuate: Numărul de încercări eșuate ale sistemului (linkuri nefuncționale sau imagini nevăzute).
Secțiunea de încheiere enumeră situațiile care justifică cel mai adesea un test de stres.
Exemple de teste de stres
Testarea la stres își câștigă locul ori de câte ori se așteaptă ca un eveniment să împingă traficul mult dincolo de nivelul de referință zilnic:
- Un site de comerț electronic care anunță o vânzare de produse la festival.
- Un site de știri în momentul unui eveniment major.
- O comisie de educație publică rezultatele examenului.
- Site-uri de socializare, bloguri și aplicații mobile în timpul unui moment viral.
În fiecare caz, testul monitorizează resurse precum memoria, procesorul și rețeaua, verifică dacă apar mesaje de eroare corespunzătoare sub stres și confirmă că sistemul revine la normal ulterior. Se încadrează în ciclul de viață al testării software ca o verificare nefuncțională alături de Testarea sistemului și setul mai larg de tipuri de testare software.

.png)
.png)

