stress testing guide
En omfattande stresstestguide för nybörjare:
Att betona allt utöver en punkt leder till allvarliga konsekvenser för människor, maskiner eller ett program. Det orsakar antingen allvarliga skador eller bryter det helt.
På samma sätt lär vi oss i denna handledning hur man stresstestar webbapplikationer tillsammans med dess effekt.
För att undvika permanenta skador på dina appar eller webbplatser när de är stressade, dvs. tungt belastade, måste vi hitta brytpunkten och i sin tur lösningen för att undvika sådana förhållanden. Tänk bara hur det skulle vara när din shoppingwebbplats sjunker under julförsäljningen. Hur mycket skulle förlusten vara?
Nedan listas några exempel på verkliga fall där det är mycket viktigt att stresstesta en app eller webbplats:
qa testare intervju frågor och svar
# 1) Kommersiella shoppingappar eller webbplatser måste utföra stresstestning eftersom belastningen blir mycket hög under festivaler, försäljning eller specialerbjudande.
#två) Finansiella appar eller webbplatser måste utföra stresstest eftersom belastningen ökar ibland när en företagsaktie går upp, många loggar in på sina konton för att köpa eller sälja, online-shoppingwebbplatser omdirigerar 'nätbanker' för betalning etc.
# 3) Webb- eller e-postappar måste stresstestas.
# 4) Webbplatser eller appar för sociala nätverk, bloggar etc., måste stresstestas etc.
Vad du kommer att lära dig:
- Vad är stresstestning och varför stresstestar vi?
- Strategi för stresstestning
- Stresstestning för mobilappar
- Skillnaden mellan belastningstest och stresstestning
- Exempel på testfall
- 5 bästa program för stresstestning
- Slutsats
- Rekommenderad läsning
Vad är stresstestning och varför stresstestar vi?
Stresstest definieras som processen för att testa hårdvaran eller mjukvaran för dess stabilitet under tung belastning. Denna testning görs för att hitta den numeriska punkten när systemet går sönder (i termer av ett antal användare och serverförfrågningar etc.) och relaterad felhantering för detsamma.
Under stresstest bombas applikationen under test (AUT) med tung belastning under en viss tidsperiod för att verifiera brytpunkten och för att se hur väl felhantering görs.
Exempel: MS Word kan ge ett felmeddelande ”svarar inte” när du försöker kopiera en 7-8 GB-fil.
Du har bombarderat Word med en enorm fil och den kunde inte bearbeta en så stor fil och som ett resultat hängdes den. Vi dödar normalt appar från Aktivitetshanteraren när de slutar svara, orsaken bakom det är att apparna blir stressade och slutar svara.
Nedan följer några tekniska skäl bakom att utföra stresstester:
- För att verifiera systemets beteende under onormalt eller extremt belastningsförhållande.
- För att hitta det numeriska värdet för användare, förfrågningar etc., varefter systemet kan gå sönder.
- Hantera felet nådigt genom att visa lämpliga meddelanden.
- Att vara väl förberedd för sådana förhållanden och vidta försiktighetsåtgärder som kodrengöring, DB-rengöring etc.
- För att verifiera datahantering innan systemet går sönder, dvs för att se om data har raderats, sparats eller inte etc.
- För att verifiera säkerhetshot under sådana brytningsförhållanden etc.
Strategi för stresstestning
Detta är en typ av icke-funktionell testning och denna testning görs vanligtvis när funktionstestningen av en webbplats eller app är klar. Testfallet, sättet att testa och till och med verktygen att testa kan variera ibland.
Nedan följer några tips som kan hjälpa dig att strategisera din testprocess:
- Identifiera de scenarier, funktioner osv. Som kommer åt mest och kan komma att bryta systemet. Liksom för en ekonomisk app är den vanligaste funktionen att överföra pengar.
- Identifiera den belastning som systemet kan uppleva under en viss dag, dvs både maximalt och minimalt.
- Skapa en separat testplan , scenario, testfall och testpaket.
- Använd 3-4 olika datorsystem för testning med olika minne, processor etc.
- Användare 3-4 olika webbläsare för webbappar med olika versioner.
- Helst hitta värdet under brytpunkten, vid brytpunkten och värdet efter brytpunkten (när systemet inte svarar alls), skapa en testbädd och data kring dessa.
- När det gäller webbappar, försök också stresstest med ett långsamt nätverk.
- Hoppa inte till avslutningen av test på bara en runda eller två, utför samma test i minst 5 omgångar och avsluta sedan dina resultat.
- Hitta den ideala svarstiden för webbservern och vad som är tiden är vid brytpunkten.
- Hitta appbeteendet vid brytpunkten vid olika punkter i appen som när du bara startar appen, loggar in, utför en viss inloggning efter åtgärd etc.
Stresstestning för mobilappar
Stresstestning för inbyggda mobilappar skiljer sig lite från webbapps. I inbyggda appar görs ett stresstest för de vanliga skärmarna genom att lägga till enorma data.
Följande är några verifieringar som görs som en del av denna testning för inbyggda mobilappar:
- Appen kraschar inte när enorma data visas. Som för en e-postapp, cirka 4-5 lakhs mottagna e-postkort, för shoppingappar, samma mängd artikelkort etc.
- Bläddring är felfri och appen hänger inte medan du rullar uppåt eller nedåt.
- Användaren ska kunna se detaljerna på ett kort eller utföra några åtgärder på kortet från den enorma listan.
- Skicka uppdateringar från appen till appen till servern som att markera ett objekt som 'Favorit', lägga till ett objekt i kundvagnen etc.
- Försök ladda appen med enorma data i ett 2G-nätverk, när appen hänger eller kraschar ska den visa ett lämpligt meddelande.
- Prova ett slut-till-slut-scenario när det finns enorma data och ett långsamt 2G-nätverk etc.
Följande bör vara din strategi för testning på mobilappar:
- Identifiera skärmarna som har kort, bilder etc. för att rikta in dig på dessa skärmar med enorma data.
- Identifiera på liknande sätt de funktioner som oftast kommer att användas.
- När du skapar testbädden, försök att använda mellan- och lågtelefoner.
- Försök att testa samtidigt på parallella enheter.
- Undvik denna testning på emulator och simulatorer.
- Undvik att testa Wifi-anslutningar eftersom de är starka.
- Försök att köra minst ett stresstest ute i fältet etc.
Skillnaden mellan belastningstest och stresstestning
S.No. | Stresstestning | Lasttestning |
---|---|---|
ett | Denna testning görs för att ta reda på systemets brytpunkt. | Denna testning görs för att verifiera systemets prestanda under en förväntad belastning. |
två | Denna testning görs för att ta reda på om systemet kommer att fungera som förväntat om belastningen överskrider den normala gränsen. | Denna testning görs för att kontrollera svarstiden för servern för den förväntade specifika belastningen. |
3 | Felhantering verifieras också i detta test. | Felhantering testas inte intensivt. |
4 | Detta kontrollerar också för säkerhetshot, minnesläckor etc. | Ingen sådan testning är obligatorisk. |
5 | Kontrollerar systemens stabilitet. | Kontrollerar systemets tillförlitlighet. |
6 | Testning görs med mer än max. möjligt antal användare, förfrågningar etc. | Testning görs med maximalt antal användare, förfrågningar etc. |
Stresstestning mot belastningstestning
Exempel på testfall
De testfall som du skapar för din test beror på applikationen och dess krav. Innan du skapar testfallet, se till att du känner till fokusområdena, dvs. funktionerna som tenderar att brytas under onormal belastning.
Nedan följer några exempel på testfall som du kan inkludera i din testning:
- Kontrollera om ett korrekt felmeddelande visas när systemet når brytpunkten, dvs. korsar det maximala antalet. av tillåtna användare eller förfrågningar.
- Kontrollera ovanstående testfall för olika kombinationer av RAM, processor och nätverk etc.
- Kontrollera om systemet fungerar som förväntat när maximalt nr. av användare eller förfrågningar behandlas. Kontrollera även ovanstående testfall för olika kombinationer av RAM, processor och nätverk etc.
- Kontrollera att medan mer än det tillåtna nr. av användare eller förfrågningar utför samma åtgärd (som att köpa samma objekt från en shoppingwebbplats eller göra en överföring etc) och om systemet inte svarar visas ett lämpligt felmeddelande om data (sparas inte? - beror på genomförande).
- Kontrollera om mer än tillåtet nr. av användare eller förfrågningar utför olika åtgärder (som att en användare loggar in, en användare startar appen eller webblänken, en användare väljer en produkt osv.) och om systemet inte svarar visas ett lämpligt felmeddelande om data (sparas inte? - beror på implementeringen).
- Kontrollera om svarstiden för brytpunktanvändare eller förfrågningar har ett acceptansvärde.
- Kontrollera appens eller webbplatsens prestanda när nätverket är mycket långsamt, ett korrekt felmeddelande ska visas för 'timeout' -tillstånd.
- Verifiera alla ovanstående testfall för en server som har mer än ett program som körs för att kontrollera om det andra programmet påverkas etc.
Innan du utför tester, se till att:
- Alla funktionsfel i applikationen som testas är fixade och verifierade.
- Hela slutet till slut-systemet är klart och integrationstestat.
- Inga nya kodcheckar som påverkar testningen görs.
- Andra lag informeras om ditt testschema.
- Säkerhetskopieringssystem skapas vid allvarliga problem.
5 bästa program för stresstestning
När stresstestning görs manuellt är det också ett mycket komplicerat och tråkigt jobb. Det kanske inte heller ger dig de förväntade resultaten.
Automationsverktyg kan ge dig de förväntade resultaten och det är relativt enkelt att skapa önskad testbädd med dem. Det kan hända att verktygen som du använder för din normala funktionella testning kanske inte räcker för stresstestning.
Därför är det för dig och ditt team att bestämma om de vill ha ett separat verktyg exklusivt för denna testning. Det är också bra för andra att du kör sviten på natten så att deras arbete inte hindras. Med hjälp av automatiseringsverktyg kan du schemalägga att sviten ska köras på natten och resultaten blir klara nästa dag.
Nedan följer en lista över de mest rekommenderade verktygen:
# 1) Load Runner:
LoadRunner är ett verktyg designat av HP för belastningstestning, men det kan också användas för stresstester.
Den använder VuGen dvs Virtual User Generator för att skapa användare och begäran om belastning och stresstestning. Detta verktyg har bra analysrapporter som kan hjälpa till att rita resultaten i form av grafer, diagram etc.
# 2) Neoload:
Neoload är ett betalt verktyg som hjälper till att testa webb- och mobilappar.
hur man konfigurerar maven i förmörkelse
Det kan simulera mer än 1000 användare för att verifiera systemets prestanda och hitta servertidens svarstid. Det integreras också med Cloud för både belastning och stresstestning. Det ger bra skalbarhet och är mycket lätt att använda.
# 3) JMeter:
JMeter är ett open source-verktyg som fungerar med JDK 5 och högre versioner. Fokus för detta verktyg är mestadels på testning av webbapplikationer. Den kan också användas för att testa LDAP-, FTP-, JDBC-databasanslutningar etc.
# 4) Kvarn:
Grinder är ett öppen källkod och Java-baserat verktyg som används för belastning och stresstestning.
Parametreringen kan göras dynamiskt medan testerna körs. Den har bra rapportering och påståenden som hjälper dig att analysera resultaten på ett bättre sätt. Den har en konsol som kan användas som IDE för att skapa och redigera testerna och agenter för att skapa belastningen för teständamål.
# 5) WebLoad:
Webload verktyget har en gratis och en betald utgåva. Denna gratisutgåva tillåter upp till 50 användarskapande.
Detta verktyg stöder både webb- och mobilapps-stresskontroll. Den stöder olika protokoll som HTTP, HTTPS, PUSH, AJAX, HTML5, SOAP etc. Den har en IDE, lastgenereringskonsol, analyspanel och integrationer (för att integreras med Jenkins, APM-verktyg etc).
Slutsats
Stresstestning fokuserar helt på att testa systemet under extrema belastningsförhållanden för att hitta dess brytpunkt och se om lämpliga meddelanden visas när systemet inte svarar. Det betonar minne, processor etc. under testningen och kontrollerar hur bra de återhämtar sig.
Stresstestning är en typ av icke-funktionell testning och görs vanligtvis efter funktionstestningen. När det finns ett krav på belastningstestning också, kan denna testning göras som det extrema fallet med lasttestning. 90% av tiden kan samma automatiseringsverktyg användas för både belastning och stresstestning.
Hoppas att du skulle ha fått en bra inblick i begreppet stresstestning !!
Rekommenderad läsning
- Lasttestning med HP LoadRunner-handledning
- Prestandatestning mot belastningstestning vs stresstestning (skillnad)
- Lasttestning Komplett guide för nybörjare
- Bästa verktyg för testning av programvara 2021 (QA Test Automation Tools)
- Alpha Testing och Beta Testing (En komplett guide)
- Nybörjarhandbok för penetreringstestning för webbapplikationer
- Webbapplikation belastning, stress och prestanda testning med WAPT
- Funktionell testning mot icke-funktionell testning