Ce este Spike Testing în testarea software-ului? Învață cu Exemplu

⚡ Rezumat inteligent

Testarea Spike supune o aplicație unei creșteri bruște și extreme de sarcină și apoi o retrage la fel de brusc. Obiectivul este de a afla dacă sistemul supraviețuiește șocului și, la fel de important, dacă își revine ulterior.

  • Model de încărcare: O creștere bruscă mult peste traficul normal, menținută pentru scurt timp, apoi diminuată.
  • 🎯 Obiectivul principal: Stabiliți dacă sistemul eșuează și dacă eșuează în mod elegant.
  • 🔄 Recuperarea contează: Revenirea la timpii de răspuns normali după vârful de pandemie este la fel de importantă ca și supraviețuirea acestuia.
  • 📈 Declanșatori realiști: Vânzări flash, lansări de tichete, trafic viral și joburi programate în lot.
  • 🛠️ scule: JMeter Atât LoadRunner, cât și modelează o creștere instantanee, mai degrabă decât una graduală.
  • 📊 La ce să ne uităm: Rata de eroare, adâncimea cozii și timpul necesar pentru revenirea la nivelul de bază.

Ce este testarea Spike

Ce este Spike Testing?

Testarea Spike este un tip de testare software în care o aplicație software este testată cu creșteri și scăderi extreme ale încărcăturii de trafic. Scopul principal al testării spike este de a evalua comportamentul aplicației software în cazul creșterii sau scăderii bruște a încărcăturii utilizatorului și de a determina timpul de recuperare după un vârf de încărcare a utilizatorului.

Spike Testing este efectuat pentru a estima punctele slabe ale aplicațiilor software.

Testarea Spike
Testarea Spike

Obiectivele testării Spike

Scopul testării Spike este de a vedea modul în care sistemul răspunde la creșterea și scăderea neașteptată a sarcinii utilizatorilor. În ingineria software, testarea Spike ajută la determinarea performanței sistemului se va deteriora atunci când apare o sarcină ridicată bruscă.

Un alt obiectiv al Spike Testing este de a determina timpul de recuperare. Între două vârfuri succesive de încărcare a utilizatorului, sistemul are nevoie de ceva timp pentru a se stabiliza. Acest timp de recuperare ar trebui să fie cât mai mic posibil.

Cum se face Testarea Spike

Iată pașii simpli pentru a efectua Testarea Spike:

Pasul 1) Determinați capacitatea de încărcare

Determinați capacitatea maximă de încărcare a utilizatorului a aplicației dvs. software.

Pasul 2) Pregătiți mediul de testare

Pregătiți mediul de testare și configurați-l pentru a înregistra parametrii de performanță.

Pasul 3) Definiți sarcina așteptată

Aplicați sarcina maximă estimată aplicației dvs. software utilizând a Instrument de testare a performanței la alegere.

Pasul 4) Creșteți sarcina

Creșteți rapid sarcina sistemului pentru o perioadă stabilită.

Pasul 5) Setați încărcarea înapoi la Normal

Reduceți treptat sarcina înapoi la nivelul inițial.

Pasul 6) Analizați rezultatele

Analizați graficele și valorile de performanță, cum ar fi Eșecurile, Timpul necesar, Utilizatorii virtuali etc.

Exemple de scenarii de testare Spike

  • Când un magazin de comerț electronic lansează oferte speciale cu reduceri mari, cum ar fi de Vinerea Neagră.
  • Când o aplicație web transmite în direct un program TV preferat.
  • Când o vânzare flash are loc pe un site de oferte zilnice.
  • Când un anumit conținut al unui site devine viral pe Internet.
  • Un nou sistem este lansat pentru producție și mai mulți utilizatori doresc să acceseze sistemul.
  • O întrerupere a curentului poate face ca toți utilizatorii să piardă accesul la un sistem. După ce problema întreruperii a fost rezolvată, toți utilizatorii, apoi conectați-vă din nou la sistem simultan.

Scenarii de recuperare pe încărcări de vârf

Trei scenarii principale de recuperare care pot fi configurate pentru a proteja împotriva Spikes sunt:

  1. Utilizați platforme cloud precum AWS, Azure pentru a crește dinamic capacitatea serverului în tandem cu încărcarea utilizatorului
  2. Nu permiteți accesul la aplicație unor utilizatori, astfel încât sistemul să nu se confrunte cu sarcini grele. Acest lucru împiedică intrarea în sistem a persoanelor peste sarcina maximă proiectată. Protejează astfel sistemul de amenințarea unei sarcini excesive.
  3. Administratorul site-ului permite utilizatorilor să se alăture sistemului. Cu toate acestea, cu avertisment că se pot confrunta cu un răspuns lent din cauza sarcinii grele. Acest lucru poate duce la un efect negativ asupra performanței sistemului. Cu toate acestea, utilizatorul va putea lucra cu sistemul.

Avantajele și dezavantajele testării Spike

Mai jos sunt avantajele și dezavantajele Spike Testing:

Avantaje Dezavantaje
Performanța software-ului trebuie menținută cu orice preț. Cu toate acestea, atunci când există o creștere extremă a încărcăturii oricărui sistem, există șanse mari de probleme. Spike Testing ajută la testarea unui astfel de scenariu. Singurul dezavantaj al Spike Testing este că este un proces de testare costisitor. Deci, a fost nevoie de stabilirea unor condiții speciale de testare. Cu toate acestea, pe o durată mai lungă, va oferi cu siguranță un ROI pozitiv.
În metoda standard de testare, scenariile de la rău la cel mai rău caz pot să nu fie abordate. Cu toate acestea, ignorarea lor nu înseamnă că nu vor apărea niciodată. Prin urmare, fiecare software ar trebui să fie pregătit pentru astfel de posibilități. Un astfel de scenariu cel mai rău este încărcarea, care poate fi evaluată și minimizată cu ajutorul testării spike.  

Instrumente de testare Spike

1) JMeter

Apache JMeter este un instrument java de testare a vârfurilor cu sursă deschisă. Este special conceput pentru a încărca comportamentul de testare funcțional și pentru a măsura performanța. Acest instrument de testare a performanței poate fi utilizat pentru a analiza și măsura performanța aplicației web sau a unei varietăți de servicii. Astăzi, este utilizat pe scară largă pentru testul funcțional, testul serverului de baze de date.

2) LoadRunner

LoadRunner este un instrument de testare a încărcării pentru Windows și Linux, care permite testarea în vârf a aplicațiilor web și a altor aplicații. Ajută la determinarea performanței și rezultatului aplicării chiar și sub sarcină mare.

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 Spike: Concluzii cheie

  • testare software este un tip de testare software în care o aplicație software este testată cu creșteri și scăderi extreme ale încărcăturii de trafic.
  • Abordarea corectă pentru a face testarea vârfurilor este de a crește în mod neașteptat numărul de utilizatori, urmată de o scădere imediată a încărcăturii.
  • Sarcina neașteptată este principalul atribut al tranzacției.
  • Exemple de scenarii de testare Spike din viața reală sunt atunci când un magazin de comerț electronic lansează oferte speciale cu reduceri mari, cum ar fi de Vinerea Neagră. Alternativ, atunci când o aplicație web transmite în direct un program TV preferat.
  • JMeter este un astfel de instrument util pentru a face teste de vârf.

Întrebări frecvente

Testarea la stres crește sarcina treptat până când sistemul se rupe, pentru a găsi plafonul. Testarea cu vârfuri aplică instantaneu sarcina extremă, pentru a vedea dacă un șoc brusc provoacă o defecțiune pe care o rampă treptată nu ar provoca-o.

Un sistem care rămâne activ, dar nu revine niciodată la timpii de răspuns normali, tot a dezamăgit utilizatorii care sosesc după vârful de solicitare. Timpul de recuperare este indicatorul care reflectă impactul real asupra afacerii.

Bazează-te pe un eveniment real, nu pe un număr rotund. Traficul istoric de la o vânzare sau o lansare anterioară, înmulțit cu creșterea așteptată de atunci, oferă un obiectiv justificabil.

Modelele de inteligență artificială antrenate pe baza traficului istoric, a calendarelor de marketing și a semnalelor externe prognozează când vor apărea creșteri bruște, ceea ce permite echipelor să pre-scaleze infrastructura în loc să reacționeze ulterior.

Da. Instrumentele de inteligență artificială pot obține profiluri de vârfuri din jurnalele de acces la producție, reproducând forma reală a creșterilor bruște din trecut, mai degrabă decât o schimbare artificială.

Rezumați această postare cu: