Vad är STRESS-testning i mjukvarutestning?
Stresstestning
Stresstestning är en typ av mjukvarutestning som verifierar stabiliteten och tillförlitligheten hos programvaran. Målet med stresstestning är att mäta mjukvara på dess robusthet och felhanteringsförmåga under extremt tunga belastningsförhållanden och säkerställa att mjukvaran inte kraschar under svåra situationer. Den testar till och med bortom normala driftpunkter och utvärderar hur mjukvaran fungerar under extrema förhållanden.
Inom mjukvaruteknik är stresstestning också känd som Uthållighetstestning. Under Stresstestning är AUT stressad under en kort tidsperiod för att känna till dess motståndsförmåga. En mycket framträdande användning av stresstestning är att bestämma gränsen vid vilken systemet eller mjukvaran eller hårdvaran går sönder. Den kontrollerar också om systemet uppvisar effektiv felhantering under extrema förhållanden.
Applikationen som testas kommer att stressas när 5 GB data kopieras från webbplatsen och klistras in i anteckningsblocket. Anteckningar är under stress och ger ett felmeddelande om "Inte svarat".
Behov av stresstest
Tänk på följande realtidsexempel där vi kan upptäcka användningen av stresstester-
- Under festivaltid kan en onlineshoppingsajt se en ökning i trafiken eller när den annonserar en försäljning.
- När en blogg nämns i en ledande tidning upplever den en plötslig ökning av trafiken.
Det är absolut nödvändigt att utföra stresstester för att hantera sådana onormala trafiktoppar. Underlåtenhet att ta emot denna plötsliga trafik kan resultera i förlust av intäkter och anseende.
Stresstester är också extremt värdefullt av följande skäl:
- För att kontrollera om systemet fungerar under onormala förhållanden.
- Visar lämpligt felmeddelande när systemet är under stress.
- Systemfel under extrema förhållanden kan resultera i enorma intäktsförluster
- Det är bättre att vara förberedd på extrema förhållanden genom att utföra stresstester.
Mål för stresstestning
Målet med stresstestning är att analysera systemets beteende efter ett fel. För att stresstester ska bli framgångsrikt bör ett system visa ett lämpligt felmeddelande när det är under extrema förhållanden.
För att utföra stresstester kan ibland stora datamängder användas som kan försvinna under stresstestning. Testare bör inte förlora denna säkerhetsrelaterade data när de gör stresstester.
Huvudsyftet med stresstester är att se till att systemet återhämtar sig efter fel som kallas som återvinningsbarhet.
Belastningstestning kontra stresstestning
Lasttestning | Stresstestning |
---|---|
Lasttestning är att testa systemets beteende under normala arbetsbelastningsförhållanden, och det är bara att testa eller simulera med den faktiska arbetsbelastningen | Stresstestning är att testa systemets beteende under extrema förhållanden och utförs tills systemet misslyckas. |
Belastningstestning bryter inte systemet | stresstester försöker bryta systemet genom att testa med överväldigande data eller resurser. |
Typer av stresstester
Följande är typerna av stresstester och förklaras enligt följande:
Distribuerade stresstester:
I distribuerade klient-serversystem görs testning över alla klienter från servern. Stressserverns roll är att distribuera en uppsättning stresstester till alla stressklienter och spåra klientens status. När klienten kontaktar servern lägger servern till namnet på klienten och börjar skicka data för testning.
Samtidigt skickar klientmaskiner signal eller hjärtslag att den är ansluten till servern. Om servern inte tar emot några signaler från klientdatorn måste den undersökas vidare för felsökning. Från figuren kan en server ansluta till de 2 klienterna (Client1 och Client2), men den kan inte skicka eller ta emot en signal från klient 3 och 4.
Nattlöpning är det bästa alternativet för att köra dessa stresstestscenarier. Stora serverfarmar behöver en effektivare metod för att avgöra vilka datorer som har haft stressfel som behöver undersökas.
Applikationsstresstestning:
Denna testning koncentrerar sig på att hitta defekter relaterade till datalåsning och blockering, nätverksproblem och prestandaflaskhalsar i en applikation.
Transaktionell stresstestning:
Den gör stresstester på en eller flera transaktioner mellan två eller flera applikationer. Den används för att finjustera och optimera systemet.
Systemisk stresstestning:
Detta är integrerade stresstester som kan testas över flera system som körs på samma server. Den används för att hitta defekter där en applikationsdata blockerar en annan applikation.
Utforskande stresstester:
Detta är en av de typer av stresstester som används för att testa systemet med ovanliga parametrar eller förhållanden som är osannolikt att inträffa i ett verkligt scenario. Det används för att hitta defekter i oväntade scenarier som
- Ett stort antal användare loggade samtidigt
- Om en virusscanner startade i alla maskiner samtidigt
- Om databasen har gått offline när den nås från en webbplats,
- När en stor mängd data infogas i databasen samtidigt
Hur gör man stresstester?
Stresstestprocessen kan göras i 5 huvudsteg:
Steg 1) Planera stresstestet: Här samlar du systemdata, analyserar systemet, definierar stresstestmålen
Steg 2) Skapa automatiseringsskript: I den här fasen skapar du automatiseringsskripten för stresstestning, genererar testdata för stressscenarierna.
Steg 3) Skriptkörning: I det här skedet kör du automatiseringsskripten för stresstestning och lagrar stressresultaten.
Steg 4) Resultatanalys: I detta skede analyserar du stresstestresultaten och identifierar flaskhalsar.
Steg 5) Tweaking och optimering: I detta skede finjusterar du systemet, ändrar konfigurationer, optimerar koden med målet att nå önskat riktmärke.
Till sist kör du hela cykeln igen för att fastställa att justeringarna har gett de önskade resultaten. Till exempel är det inte ovanligt att behöva 3 till 4 cykler av stresstestprocessen för att uppnå prestationsmålen
Verktyg som rekommenderas för stresstestning
LoadRunner
LoadRunner från HP är ett flitigt använt belastningstestverktyg. Lasttestresultat utformade av Loadrunner betraktas som ett riktmärke.
Jmeter
Jmeter är ett testverktyg med öppen källkod. Det är en ren Java ansökan för stress och Prestandatester. Jmeter är avsedd att täcka typer av tester som belastning, funktion, stress, etc. Den behöver JDK 5 eller högre för att fungera.
Stresstestare
Detta verktyg ger en omfattande analys av webbapplikationens prestanda, ger resultat i grafiskt format och det är extremt lätt att använda. Inget skript på hög nivå krävs och ger en bra avkastning på investeringen.
Neo läsa in
Detta är ett populärt verktyg som finns på marknaden för att testa webben och Mobil applikationer. Detta verktyg kan simulera tusentals användare för att utvärdera applikationens prestanda under belastning och analysera svarstiderna. Den stöder även molnintegrerad – prestanda, belastning och stresstester. Den är enkel att använda, kostnadseffektiv och ger god skalbarhet.
Mätvärden för stresstestning
Mätvärden hjälper till att utvärdera ett systems prestanda och studeras allmänt i slutet av stresstestet. Vanligt använda mätvärden är -
Mätning av skalbarhet och prestanda
- Sidor per sekund: Mäter hur många sidor som har begärts/sekund
- Genomströmning: Basic Metric – Svarsdatastorlek/sekund
- Omgångar: Antal gånger testscenarier har planerats kontra antal gånger en klient har exekverat
Ansökningssvar
- Träfftid: Genomsnittlig tid för att hämta en bild eller sida
- Tid till den första byten: Det tar tid att returnera den första byten med data eller information
- Sidtid: Det tar tid att hämta all information på en sida
misslyckanden
- Misslyckade anslutningar: Antalet misslyckade anslutningar som vägrats av klienten (svag Signal)
- Misslyckade rundor: Antalet omgångar det blir misslyckade
- Misslyckade träffar: Antal misslyckade försök som gjorts av systemet (trasiga länkar eller osynliga bilder)
Slutsats
Stresstestningens syfte är att kontrollera systemet under extrema förhållanden. Den övervakar systemresurser som minne, processor, nätverk etc., och kontrollerar systemets förmåga att återhämta sig till normal status. Den kontrollerar om systemet visar lämpliga felmeddelanden under stress.
Exempel på stresstestning
- E-handelswebbplats annonserar en festivalförsäljning
- Nyhetswebbplats vid tidpunkten för några större evenemang
- Utbildningsnämndens resultatwebbplats
- Sociala nätverkssajter eller bloggar, appar etc