stress testing guide
Un ghid cuprinzător de testare a stresului pentru începători:
Accentuarea oricărui lucru dincolo de un punct are ca rezultat consecințe grave pentru oameni, mașină sau un program. Fie provoacă daune grave, fie îl rupe complet.
În mod similar, în acest tutorial, vom învăța cum să testăm aplicațiile web împreună cu efectul acesteia.
Pentru a evita orice deteriorare permanentă a aplicațiilor sau site-urilor web atunci când acestea sunt stresate, adică încărcate puternic, trebuie să găsim punctul de rupere și, la rândul său, soluția pentru a evita astfel de condiții. Gândiți-vă cum ar fi atunci când site-ul dvs. de cumpărături cade în timpul vânzării de Crăciun. Cât de mult ar fi pierderea?
Mai jos sunt prezentate câteva exemple de cazuri reale în care este extrem de important să testați stresul unei aplicații sau site-uri web:
Exemplu de arbore binar c ++
# 1) Aplicațiile comerciale sau site-urile comerciale trebuie să efectueze teste de stres, deoarece sarcina devine foarte mare în timpul festivalurilor, al vânzării sau al perioadei de ofertă specială.
#Două) Aplicațiile financiare sau site-urile web trebuie să efectueze testul de stres pe măsură ce încărcătura crește în momente cum crește o cotă a companiei, o mulțime de oameni se conectează la conturile lor pentru a cumpăra sau vinde, site-urile de cumpărături online redirecționează „Net-bancherii” pentru plată etc.
# 3) Aplicațiile web sau de e-mail trebuie să fie testate la stres.
# 4) Site-urile de rețele sociale sau aplicațiile, blogurile etc. trebuie să fie testate la stres etc.
Ce veți învăța:
- Ce este testarea stresului și de ce testăm stresul?
- Strategia pentru testarea stresului
- Testarea stresului pentru aplicații mobile
- Diferența dintre testarea sarcinii și testarea la stres
- Exemple de cazuri de testare
- Cele mai bune 5 software de testare a stresului
- Concluzie
- Lectură recomandată
Ce este testarea stresului și de ce testăm stresul?
Testarea stresului este definită ca procesul de testare a hardware-ului sau software-ului pentru stabilitatea acestuia în condiții de sarcină grea. Această testare se face pentru a găsi punctul numeric când sistemul se va întrerupe (în ceea ce privește un număr de utilizatori și cereri de server etc.) și gestionarea erorilor aferente pentru același lucru.
În timpul testării la stres, aplicația sub test (AUT) este bombardată cu o sarcină grea pentru o anumită perioadă de timp pentru a verifica punctul de rupere și pentru a vedea cât de bine se face manipularea erorilor.
Exemplu: MS Word poate afișa un mesaj de eroare „Nu răspunde” atunci când încercați să copiați un fișier de 7-8 GB.
Ați bombardat Word cu un fișier de dimensiuni uriașe și nu a putut procesa un fișier atât de mare și, ca urmare, este spânzurat. În mod normal, ucidem aplicațiile din Task Manager atunci când acestea nu mai răspund, motivul din spate este că aplicațiile se stresează și nu mai răspund.
Iată câteva motive tehnice care stau la baza efectuării testării la stres:
- Pentru a verifica comportamentul sistemului în condiții de sarcină anormale sau extreme.
- Pentru a găsi valoarea numerică a utilizatorilor, cererilor etc., după care sistemul se poate rupe.
- Manipulați eroarea cu amabilitate, afișând mesajele corespunzătoare.
- Să fii bine pregătit pentru astfel de condiții și să iei măsuri de precauție precum curățarea codurilor, curățarea DB etc.
- Pentru a verifica gestionarea datelor înainte ca sistemul să se rupă, adică pentru a vedea dacă datele au fost șterse, salvate sau nu etc.
- Pentru a verifica amenințarea la adresa securității în astfel de condiții de rupere etc.
Strategia pentru testarea stresului
Acesta este un tip de testare nefuncțională, iar testarea se face de obicei după finalizarea testării funcționale a unui site web sau a unei aplicații. Cazurile de testare, modul de testare și chiar instrumentele de testare pot varia uneori.
Iată câteva indicații care vă vor ajuta să vă strategizați procesul de testare:
- Identificați scenariile, funcționalitățile etc., care vor fi accesate cel mai mult și pot avea tendința de a sparge sistemul. Ca și pentru o aplicație financiară, funcționalitatea cea mai frecvent utilizată este transferul de bani.
- Identificați încărcătura pe care o poate experimenta sistemul într-o zi dată, adică atât maximă, cât și minimă.
- Creați un separat planul de testare , scenariu, caz de testare și suită de testare.
- Utilizați 3-4 sisteme informatice diferite pentru testarea cu memorie, procesor etc.
- Utilizator 3-4 browsere diferite pentru aplicații web cu versiuni diferite.
- În mod ideal, găsiți valoarea sub punctul de întrerupere, la punctul de întrerupere și valoarea după punctul de întrerupere (când sistemul nu va răspunde deloc), creați un pat de test și date în jurul acestora.
- În cazul aplicațiilor web, încercați să testați testul și cu o rețea lentă.
- Nu treceți la concluzia testelor doar într-o rundă sau două, executați aceleași teste pentru cel puțin 5 runde și apoi încheiați constatările.
- Găsiți timpul de răspuns ideal al serverului web și care este timpul la punctul de întrerupere.
- Găsiți comportamentul aplicației la punctul de rupere în diferite puncte ale aplicației, cum ar fi în timp ce pur și simplu lansați aplicația, conectați-vă, efectuați unele acțiuni după conectarea etc.
Testarea stresului pentru aplicații mobile
Testarea stresului pentru aplicațiile mobile native este puțin diferită de cea a aplicațiilor web. În aplicațiile native, se efectuează un test de stres pentru ecranele utilizate în mod obișnuit prin adăugarea de date imense.
Următoarele sunt câteva verificări care se fac ca parte a acestei testări pentru aplicațiile mobile native:
- Aplicația nu se blochează când sunt afișate date imense. Ca și pentru o aplicație de e-mail, aproximativ 4-5 lakh-uri de carduri de e-mail primite, pentru aplicații de cumpărături, aceeași cantitate de carduri de articole etc.
- Derularea este fără erori și aplicația nu se blochează în timp ce derulați în sus sau în jos.
- Utilizatorul ar trebui să poată vizualiza detaliile unui card sau să efectueze o acțiune asupra acestuia din lista imensă.
- Trimiterea lakh-urilor de actualizări din aplicație către server, cum ar fi marcarea unui articol ca „Favorite”, adăugarea unui articol în coșul de cumpărături etc.
- Încercați să încărcați aplicația cu date imense pe o rețea 2G, când aplicația se blochează sau se blochează, ar trebui să afișeze un mesaj adecvat.
- Încercați un scenariu cap la cap când există date imense și o rețea lentă 2G etc.
Următoarea ar trebui să fie strategia dvs. de testare pe aplicații mobile:
- Identificați ecranele care au carduri, imagini etc., pentru a viza acele ecrane cu date imense.
- În mod similar, identificați funcționalitățile care vor fi utilizate cel mai frecvent.
- În timp ce creați patul de testare, încercați să utilizați telefoane de gama medie și joasă.
- Încercați să testați simultan pe dispozitive paralele.
- Evitați aceste teste pe emulator și simulatoare.
- Evitați testarea conexiunilor Wifi, deoarece acestea sunt puternice.
- Încercați să efectuați cel puțin un test de stres pe teren etc.
Diferența dintre testarea sarcinii și testarea la stres
S.Nr. | Testare stresanta | Testarea sarcinii |
---|---|---|
1 | Această testare se face pentru a afla punctul de rupere al sistemului. | Această testare se face pentru a verifica performanța sistemului sub o sarcină așteptată. |
Două | Această testare se face pentru a afla dacă sistemul se va comporta așa cum era de așteptat dacă sarcina depășește limita normală. | Această testare se face pentru a verifica timpul de răspuns al serverului pentru încărcarea specifică așteptată. |
3 | Tratarea erorilor este verificată și în acest test. | Tratarea erorilor nu este testată intens. |
4 | Aceasta verifică, de asemenea, amenințările la adresa securității, scurgerile de memorie etc. | Nici o astfel de testare nu este obligatorie. |
5 | Verifică stabilitatea sistemelor. | Verifică fiabilitatea sistemului. |
6 | Testarea se face cu mai mult decât max. posibil număr de utilizatori, solicitări etc. | Testarea se face cu numărul maxim de utilizatori, solicitări etc. |
Testarea stresului vs. Testarea sarcinii
serverul privat clasic world of warcraft
Exemple de cazuri de testare
Cazurile de testare pe care le veți crea pentru testare vor depinde de aplicație și de cerințele acesteia. Înainte de a crea cazurile de testare, asigurați-vă că cunoașteți zonele de focalizare, adică funcționalitățile care vor tinde să se rupă în condițiile unei sarcini anormale.
Iată câteva exemple de cazuri de testare pe care le puteți include în testare:
- Verificați dacă este afișat un mesaj de eroare adecvat atunci când sistemul atinge punctul de întrerupere, adică depășește numărul maxim. de utilizatori sau cereri permise.
- Verificați cazul de test de mai sus pentru diferite combinații de memorie RAM, procesor și rețea etc.
- Verificați dacă sistemul funcționează conform așteptărilor atunci când nu de utilizatori sau cereri sunt procesate. De asemenea, verificați cazul de test de mai sus pentru diverse combinații de memorie RAM, procesor și rețea etc.
- Verificați dacă mai mult decât numărul permis. de utilizatori sau solicitări efectuează aceeași operație (cum ar fi cumpărarea acelorași articole de pe un site de cumpărături sau efectuarea unui transfer de bani etc.) și dacă sistemul nu răspunde, se afișează un mesaj de eroare adecvat despre date (nu sunt salvate? - depinde de implementare).
- Verificați dacă mai mult decât numărul permis. de utilizatori sau solicitări efectuează operațiuni diferite (cum ar fi un utilizator care se conectează, un utilizator lansează aplicația sau linkul web, un utilizator selectează un produs etc.) și dacă sistemul nu răspunde, se afișează un mesaj de eroare adecvat despre date (nu este salvat? - depinde de implementare).
- Verificați dacă timpul de răspuns pentru utilizatorii sau solicitările punctului de rupere este într-o valoare de acceptare.
- Verificați performanța aplicației sau a site-ului web atunci când rețeaua este foarte lentă, ar trebui afișat un mesaj de eroare adecvat pentru condiția „timeout”.
- Verificați toate cazurile de test de mai sus pentru un server care are mai multe aplicații care rulează pe el pentru a verifica dacă cealaltă aplicație este afectată etc.
Înainte de a executa teste, asigurați-vă că:
- Toate defecțiunile funcționale ale aplicației supuse testului sunt remediate și verificate.
- Sistemul complet cap la cap este gata și integrarea testată.
- Nu se fac check-in-uri noi de cod care să afecteze testarea.
- Alte echipe sunt informate despre programul dvs. de testare.
- Sistemele de rezervă sunt create în cazul unor probleme grave.
Cele mai bune 5 software de testare a stresului
Când Testarea Stresului se face manual, este și o treabă foarte complicată și plictisitoare. De asemenea, este posibil să nu vă dea rezultatele scontate.
Instrumentele de automatizare vă pot obține rezultatele așteptate și este relativ ușor să creați baza de testare necesară folosindu-le. Se poate întâmpla ca instrumentele pe care le utilizați pentru testarea funcțională normală să nu fie suficiente pentru testarea stresului.
Prin urmare, dvs. și echipa dvs. trebuie să decideți dacă doresc un instrument separat exclusiv pentru această testare. De asemenea, este benefic pentru alții că rulați suita noaptea, astfel încât munca lor să nu fie împiedicată. Folosind instrumentele de automatizare, puteți programa suita să ruleze noaptea, iar rezultatele vor fi gata pentru dvs. a doua zi.
Mai jos este o listă cu cele mai recomandate instrumente:
# 1) Load Runner:
LoadRunner este un instrument proiectat de HP pentru testarea sarcinii, dar poate fi folosit și pentru testele de stres.
Folosește VuGen, adică Virtual User Generator, pentru crearea utilizatorilor și a cererilor de testare a sarcinii și a stresului. Acest instrument are rapoarte de analiză bune care pot ajuta la trasarea rezultatelor sub formă de grafice, diagrame etc.
# 2) Neoload:
Neoload este un instrument plătit care este util în testarea aplicațiilor web și mobile.
Poate simula peste 1000 de utilizatori pentru a verifica performanța sistemului și pentru a găsi timpul de răspuns al serverului. De asemenea, se integrează cu Cloud atât pentru testarea sarcinii, cât și pentru testarea stresului. Oferă o scalabilitate bună și este foarte ușor de utilizat.
# 3) JMeter:
JMeter este un instrument open source care funcționează cu versiunile JDK 5 și mai sus. Accentul acestui instrument se concentrează în principal pe testarea aplicațiilor web. Poate fi folosit și pentru testarea conexiunilor de baze de date LDAP, FTP, JDBC etc.
# 4) Polizor:
Grinder este un instrument open source și bazat pe Java care este utilizat pentru testarea sarcinii și a stresului.
Parametrizarea se poate face dinamic în timp ce testele se execută. Are rapoarte și afirmații bune pentru a vă ajuta să analizați rezultatele într-un mod mai bun. Are o Consolă care poate fi utilizată ca IDE pentru a crea și edita testele și agenți pentru a crea încărcarea în scopuri de testare.
# 5) Încărcare web:
Webload instrumentul are o ediție gratuită și plătită. Această ediție gratuită permite crearea a până la 50 de utilizatori.
Acest instrument acceptă verificarea stresului atât a aplicației web, cât și a celor mobile. Acceptă diferite protocoale precum HTTP, HTTPS, PUSH, AJAX, HTML5, SOAP etc. Are un IDE, consolă de generare a încărcăturii, tablou de bord de analiză și integrări (pentru a se integra cu Jenkins, instrumentele APM etc.).
Concluzie
Testarea stresului se concentrează complet pe testarea sistemului în condiții de încărcare extremă pentru a-și găsi punctul de rupere și pentru a vedea dacă sunt afișate mesaje adecvate atunci când sistemul nu răspunde. Acesta subliniază memoria, procesorul etc. în timpul testării și verifică cât de bine se recuperează.
Testarea stresului este un tip de testare nefuncțională și se face de obicei după testarea funcțională. Când există și o cerință de testare a sarcinii, atunci această testare se poate face ca caz extrem de testare a sarcinii. 90% din timp, același instrument de automatizare poate fi utilizat atât pentru testarea sarcinii, cât și pentru testarea stresului.
Sper că ați fi obținut o perspectivă excelentă asupra conceptului de testare a stresului !!
Lectură recomandată
- Testarea încărcării cu tutoriale HP LoadRunner
- Testarea performanței vs testarea sarcinii vs testarea stresului (diferență)
- Ghid complet pentru testarea sarcinii pentru începători
- Cele mai bune instrumente de testare software 2021 (Instrumente de automatizare a testelor de calitate)
- Testarea alfa și testarea beta (un ghid complet)
- Ghid pentru începători la testarea penetrării aplicațiilor web
- Testarea sarcinii, stresului și performanței aplicațiilor web utilizând WAPT
- Testarea funcțională Vs testarea nefuncțională