Ce este testarea de anduranță în testarea software-ului? (cu Exemplu)
⚡ Rezumat inteligent
Testarea de anduranță rulează o aplicație sub o sarcină normală așteptată pentru o perioadă extinsă de timp pentru a dezvălui dacă performanța se degradează în timp. Este testul care identifică defectele pe care o rulare de încărcare de o oră nu le poate identifica.

Ce este testarea de anduranță?
Testare de anduranță este un tip nefuncțional de testare software în care un software este testat cu o sarcină mare extinsă pe o perioadă semnificativă de timp pentru a evalua comportamentul aplicației software în condiții de utilizare susținută. Scopul principal al testării de anduranță este de a se asigura că aplicația este suficient de capabilă pentru a face față sarcinii extinse fără nicio deteriorare a timpului de răspuns.
Acest tip de testare se efectuează în ultima etapă a ciclului de rulare a performanței. Testarea de anduranță este un proces lung și uneori durează chiar și până la un an. Aceasta poate include aplicarea de încărcări externe, cum ar fi traficul pe Internet sau acțiunile utilizatorului. Acest lucru face ca testarea de anduranță să fie diferită de Încărcarea testelor, care de obicei se termină în câteva ore sau cam asa ceva.
Rezistența înseamnă capacitate, deci, cu alte cuvinte, puteți numi Testarea de rezistență ca Testare de capacitate.
Obiectivele testării de anduranță
- Scopul principal al testării de rezistență este de a verifica scurgerile de memorie.
- Pentru a descoperi cum funcționează sistemul în condiții de utilizare susținută.
- Pentru a vă asigura că, după o perioadă lungă, timpul de răspuns al sistemului va rămâne același sau mai bun decât la începutul testului.
- Pentru a determina numărul de utilizatori și/sau tranzacții, un anumit sistem va sprijini și atinge obiectivele de performanță.
- Pentru a gestiona încărcările viitoare, trebuie să înțelegem câte resurse suplimentare (cum ar fi capacitatea procesorului, capacitatea discului, utilizarea memoriei sau lățimea de bandă a rețelei) sunt necesare pentru a susține utilizarea în viitor.
- Testarea de anduranță se face în general fie prin supraîncărcarea sistemului, fie prin reducerea anumitor resurse ale sistemului și evaluarea consecințelor.
- Este realizat pentru a se asigura că defecte sau scurgeri de memorie nu apar după ceea ce este considerat a fi o perioadă de utilizare relativ „normală”.
Ce trebuie monitorizat în testele de anduranță
În Testarea de rezistență sunt testate următoarele lucruri.
- Testați scurgerea memoriei– Se efectuează verificări pentru a verifica dacă există vreo scurgere de memorie în aplicație, care poate cauza prăbușirea sistemului sau a sistemului de operare
- Testați închiderea conexiunii între stratul sistemului – Dacă conexiunea dintre straturile sistemului nu este închisă cu succes, este posibil să blocheze unele sau toate modulele sistemului.
- Testați conexiunea la baza de date închisă cu succes– Dacă conexiunea la baza de date nu este închisă cu succes, poate duce la blocarea sistemului
- Testarea timpului de răspuns – Sistemul este testat pentru timpul de răspuns al sistemului, deoarece aplicația devine mai puțin eficientă ca urmare a utilizării prelungite a sistemului.
Cum se efectuează testele de rezistență
Mai jos este abordarea de bază a testării pentru Testul de anduranță
- Mediul de testare - Identificați hardware-ul, software-ul, sistemul de operare necesar pentru testarea de anduranță, atribuirea de roluri și responsabilități în cadrul echipei, etc. Mediul trebuie să fie pregătit înainte de executarea testului. De asemenea, trebuie să estimați dimensiunea producției comune a bazei de date și creșterea anuală. Acest lucru este necesar ca atare, trebuie să testați cum va răspunde aplicația dvs. după un an, doi sau cinci.
- Crearea planului de testare, scenarii – Pe baza naturii testării - manuală sau automatizare sau combinație a ambelor, Caz de testare proiectarea, revizuirile și execuția ar trebui să fie planificate. Testarea pentru stresul sistemului, testarea punctului de întrerupere etc. ar trebui să facă, de asemenea, parte din planul de testare. Testarea pentru solicitarea sistemului determină punctul de întrerupere în aplicație.
- Estimarea testului - Furnizați o estimare a cât timp va dura finalizarea fazei de testare. Ar trebui analizat pe baza unui număr de testeri implicați și a numărului de cicluri de testare necesare.
- Analiza de risc - Analizarea riscului și luarea unei acțiuni adecvate pentru prevenire. Prioritizarea cazurilor de testare în conformitate cu factorul de risc și identificarea riscurilor și problemelor de mai jos pe care testerul le poate face în timpul testului de anduranță.
- Performanța va rămâne constantă în timp?
- Există și alte probleme minore care nu au fost încă detectate?
- Există interferențe externe care nu au fost abordate?
- Programul de testare - Stabiliți bugetul, livrabilele în intervalele de timp. La fel de Testare de anduranță aplică un aranjament uriaș, dar natural de încărcare a tranzacțiilor sistemului/aplicației pentru o perioadă continuă de timp.
Exemplu de testare de anduranță
In timp ce Testare stresanta duce sistemul testat la limitele sale, Testare de anduranță duce aplicația la limita peste orar.
De exemplu, cele mai complexe probleme – pierderi de memorie, utilizarea serverului de baze de date și sistemul care nu răspunde – apar atunci când software-ul rulează pentru o perioadă lungă de timp. Dacă săriți peste testele de anduranță, șansele de a detecta astfel de defecte înainte de implementare sunt destul de mici.
Instrumente de testare a rezistenței
- Încărcare web
- Încărcare completă
- Apache JMeter
- LoadRunner
- Appvance
- LoadUI
- OpenSTA
- Rational Performance Tester
Avantajele testării de anduranță
- Ajută la determinarea modului în care volumul de lucru poate gestiona System Under Load.
- Oferă date precise pe care clientul le poate folosi pentru a-și valida sau îmbunătăți nevoile de infrastructură.
- Identifică problemele de performanță care pot apărea după ce un sistem a funcționat la un nivel ridicat pentru o perioadă mai lungă de timp
- Problemele tipice sunt identificate în testele de performanță direcționate mai mici, ceea ce înseamnă că asigură că aplicația rămâne disponibilă chiar și atunci când există o sarcină mare într-un interval de timp foarte scurt.
- Testul de anduranță este folosit și pentru a verifica dacă există vreo degradare a performanței după o perioadă lungă de execuție
Dezavantajele testării de anduranță
- Este adesea greu de definit cât de mult stres merită aplicat.
- Testarea de anduranță ar putea cauza defecțiuni ale aplicației și/sau ale rețelei care pot duce la întreruperi semnificative dacă Mediu de testare nu sunt izolate.
- Pierderea sau coruperea permanentă a datelor poate apărea prin suprasolicitarea sistemului.
- Utilizarea resurselor rămâne foarte mare după ce stresul este îndepărtat.
- Unele componente ale aplicației nu reușesc să răspundă.
- Excepțiile necontrolate sunt observate de utilizatorul final.
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.
Testarea rezistenței: concluzii cheie
- In Inginerie Software, Testarea de anduranță este un subset al testării de sarcină.
- Testarea de anduranță este un proces lung și uneori durează chiar și până la un an
- Se fac verificări pentru verificare
- Testați scurgerea memoriei
- Testarea timpului de răspuns
- Testați conexiunea la baza de date etc.

