Ce este testarea de anduranță în testarea software-ului? (cu exemplu)

Cuprins:

Anonim

Testarea rezistenței

Testarea rezistenței este un tip nefuncțional de testare a software-ului în care un software este testat cu sarcină mare extinsă pe o perioadă semnificativă de timp pentru a evalua comportamentul aplicației software în condiții de utilizare continuă. Scopul principal al testelor de rezistență este de a se asigura că aplicația este suficient de capabilă să facă față sarcinii extinse fără a deteriora timpul de răspuns.

Acest tip de testare se efectuează în ultima etapă a ciclului de performanță. Testarea rezistenței 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 utilizatorilor. Acest lucru face ca testarea de rezistență să difere de Testarea sarcinii, care se termină de obicei în câteva ore sau cam așa ceva.

Rezistența înseamnă capacitate, deci, cu alte cuvinte, puteți denumi Test de rezistență ca Test de capacitate.

În acest tutorial, veți învăța-

  • Ce este testarea de anduranță?
  • Obiectivele testării de rezistență
  • Ce trebuie monitorizat în testele de rezistență
  • Cum se efectuează testarea de rezistență
  • Exemplu de testare a anduranței
  • Instrumente de testare a anduranței
  • Avantajele testării de rezistență
  • Dezavantaje ale testelor de rezistență

Obiectivele testării de rezistență

  • 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 începutul testului.
  • Pentru a determina numărul de utilizatori și / sau tranzacții, un anumit sistem va sprijini și va îndeplini 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 rezistenței se face, în general, fie prin supraîncărcarea sistemului, fie prin reducerea anumitor resurse ale sistemului și evaluarea consecințelor.
  • Se efectuează pentru a se asigura că defectele sau scurgerile de memorie nu apar după ceea ce este considerat a fi o perioadă de utilizare relativ „normală”.

Ce trebuie monitorizat în testele de rezistență

În testele de anduranță, următoarele lucruri sunt testate.

  • Testați scurgerile de memorie - Se fac verificări pentru a verifica dacă există vreo scurgere de memorie în aplicație, care poate provoca blocarea sistemului sau a sistemului de operare
  • Testați închiderea conexiunii între stratul sistemului - Dacă conexiunea dintre straturile sistemului nu este închisă cu succes, aceasta poate bloca unele sau toate modulele sistemului.
  • Testarea conexiunii la baza de date închisă cu succes - Dacă conexiunea la baza de date nu este închisă cu succes, poate avea ca rezultat blocarea sistemului
  • Timp de răspuns de testare - 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ă testarea de rezistență

Mai jos este abordarea de bază a testării pentru testul de rezistență

  • 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 gata înainte de executarea testului. De asemenea, trebuie să estimați dimensiunea comună a producției 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 automat sau combinație a ambelor, ar trebui să fie planificate proiectarea, revizuirea și execuția cazului de testare. Testarea pentru stresarea sistemului, testarea punctelor de rupere etc. ar trebui să facă, de asemenea, parte din planul de testare. Testarea pentru stresarea sistemului determină punctul de rupere în aplicație.
  • Estimarea testului - Furnizați estimarea cât timp va dura până la finalizarea fazei de testare. Ar trebui să fie analizat pe baza unui număr de testeri implicați și a numărului de cicluri de testare necesare.
  • Analiza riscului - Analiza riscului și luarea unei acțiuni adecvate pentru prevenire. Prioritizarea cazurilor de testare în funcție de factorul de risc și identificarea riscului de mai jos și a problemelor testerului poate faza în timpul testului de rezistență.
    • Performanța va rămâne consecventă în timp?
    • Există alte probleme minore care nu au fost încă detectate?
    • Există interferențe externe care nu au fost abordate?
  • Program de testare - Determinați bugetul, livrabilele în intervalele de timp. Pe măsură ce testarea de rezistență aplică un sistem imens, dar natural, de tranzacții la sistem / aplicație pentru o perioadă continuă de timp.

Exemplu de testare a anduranței

În timp ce testarea la stres duce sistemul testat la limitele sale, testarea de rezistență duce aplicația la limita sa în timp .

De exemplu, cele mai complexe probleme - scurgeri de memorie, utilizarea serverului de baze de date și sistemul care nu răspunde - apar atunci când software-ul rulează pentru o perioadă extinsă de timp. Dacă omiteți testele de rezistență, șansele de a detecta astfel de defecte înainte de desfășurare sunt destul de scăzute.

Instrumente de testare a anduranței

  • WebLOAD
  • LoadComplete
  • Apache JMeter
  • LoadRunner
  • Prevedere
  • LoadUI
  • OpenSTA
  • Rational Performance Tester

Avantajele testării de rezistență

  • Ajută la determinarea modului în care poate gestiona volumul de lucru al sistemului sub sarcină.
  • Oferă date exacte pe care le poate utiliza clientul pentru a-și valida sau îmbunătăți nevoile de infrastructură.
  • Identifică problemele de performanță care pot apărea după ce un sistem funcționează la un nivel ridicat pentru o perioadă mai lungă de timp
  • Problemele tipice sunt identificate în testele de performanță vizate mai mici, ceea ce înseamnă că asigură că aplicația rămâne disponibilă chiar și atunci când există o încărcătură uriașă într-un interval de timp foarte scurt.
  • Testul de rezistență este, de asemenea, utilizat pentru a verifica dacă există o degradare a performanței după o perioadă lungă de execuție

Dezavantaje ale testelor de rezistență

  • Este adesea greu de definit cât de mult stres merită aplicat.
  • Testarea de anduranță poate provoca defecțiuni ale aplicației și / sau ale rețelei care pot duce la întreruperi semnificative dacă mediul de testare nu este izolat.
  • Pierderea permanentă a datelor sau corupția pot apărea prin suprasolicitarea sistemului.
  • Utilizarea resurselor rămâne foarte mare după eliminarea stresului.
  • Unele componente ale aplicației nu răspund.
  • Excepțiile nesoluționate sunt respectate de utilizatorul final.

Rezumat:

  • În Ingineria software, testarea rezistenței este un subset de testare a sarcinii.
  • Testarea rezistenței este un proces lung și uneori durează chiar și până la un an
  • Verificările sunt efectuate pentru verificare
    • Testați scurgerile de memorie
    • Testează timpul de răspuns
    • Testarea conexiunii la baza de date etc.

Acest articol este posibil datorită contribuției lui Unnati Soni.