Vad är Spike Testing in Software Testing? Lär dig med exempel
⚡ Smart sammanfattning
Spiktestning utsätter en applikation för en plötslig, extrem belastningsökning och drar sedan tillbaka den lika abrupt. Målet är att ta reda på om systemet överlever chocken och, lika viktigt, om det återhämtar sig efteråt.
Vad är Spike Testing?
Spike testning är en typ av mjukvarutestning där en mjukvaruapplikation testas med extrema ökningar och minskningar i trafikbelastning. Huvudsyftet med spiktestning är att utvärdera mjukvaruapplikationens beteende under plötsliga ökningar eller minskningar av användarbelastningen och bestämma återhämtningstiden efter en topp i användarbelastningen.
Spike Testing utförs för att uppskatta svagheterna i mjukvaruapplikationer.

Mål med spiktestning
Målet med Spike-testning är att se hur systemet reagerar på oväntad ökning och minskning av användarbelastningen. Inom mjukvaruteknik hjälper spiktestning att fastställa systemprestandan kommer att försämras när det uppstår en plötslig hög belastning.
Ett annat mål med Spike Testing är att bestämma återhämtningstiden. Mellan två på varandra följande toppar av användarbelastning behöver systemet lite tid för att stabilisera sig. Denna återhämtningstid bör vara så kort som möjligt.
Hur man gör Spike Testing
Här är de enkla stegen för att utföra Spike Testing:
Steg 1) Bestäm lastkapaciteten
Bestäm den maximala användarbelastningskapaciteten för ditt program.
Steg 2) Förbered testmiljön
Förbered testmiljön och konfigurera den för att registrera prestandaparametrar.
Steg 3) Definiera förväntad belastning
Applicera förväntad maximal belastning på din programvara med hjälp av en Verktyg för prestandatestning som du väljer.
Steg 4) Öka belastningen
Öka snabbt belastningen på systemet under en bestämd period.
Steg 5) Ställ tillbaka belastningen till Normal
Minska gradvis belastningen tillbaka till sin ursprungliga nivå.
Steg 6) Analysera resultaten
Analysera prestandagrafer och mätvärden som misslyckanden, tid, virtuella användare, etc.
Exempel på scenarier för spiktestning
- När en e-handelsbutik lanserar specialerbjudanden med fantastiska rabatter som på Black Friday.
- När en webbapplikation livestreamar ett favorit-TV-program.
- När en flash-rea pågår på en daglig dealsida.
- När visst innehåll på en webbplats blir viralt över Internet.
- Ett nytt system släpps för produktion och flera användare vill komma åt systemet.
- Ett strömavbrott kan göra att alla användare förlorar åtkomst till ett system. Efter att avbrottsproblemet lösts loggar alla användare sedan in på systemet samtidigt.
Återställningsscenarier på spikbelastningar
Tre huvudsakliga återställningsscenarier som kan konfigureras för att skydda mot spikar är:
- Använd molnplattformar som AWS, Azure för att dynamiskt öka serverkapaciteten i takt med användarbelastningen
- Tillåt inte applikationsåtkomst för vissa användare, så att systemet inte utsätts för tung belastning. Detta hindrar personer över den maximalt utformade belastningen från att komma in i systemet. På så sätt skyddar systemet från hotet om överbelastning.
- Webbplatsadministratören tillåter användare att gå med i systemet. Men med varning om att de kan möta långsam respons på grund av tung belastning. Detta kan resultera i en negativ effekt på systemets prestanda. Däremot kommer användaren att kunna arbeta med systemet.
Fördelar och nackdelar med spiktestning
Nedan är fördelarna och nackdelarna med Spike Testing:
| Fördelar | Nackdelar |
|---|---|
| Programvarans prestanda måste bibehållas till varje pris. Men när det finns en extrem ökning av belastningen på något system, finns det stora chanser att problemen uppstår. Spike Testing hjälper till att testa ett sådant scenario. | Den enda nackdelen med Spike Testing är att det är en dyr testprocess. Så det behövde ställa in speciella testförhållanden. Men under den längre varaktigheten kommer det säkerligen att ge en positiv ROI. |
| I standardtestmetoden kanske de dåliga till värsta scenarierna inte åtgärdas. Att ignorera dem betyder dock inte att de aldrig kommer att inträffa. Därför bör varje programvara vara redo för sådana möjligheter. Ett sådant värsta scenario är belastning som kan bedömas och minimeras med hjälp av spiktestning. |
Spike testverktyg
1) JMeter
Ocuco-landskapet Apache JMeter är ett java spiktestverktyg med öppen källkod. Den är speciellt utformad för att ladda funktionellt testbeteende och mäta prestanda. Detta prestandatestverktyg kan användas för att analysera och mäta prestanda för webbapplikationer eller en mängd olika tjänster. Idag används det ofta för funktionstestet, databasservertest.
2) LoadRunner
LoadRunner är ett lasttestverktyg för Windows och Linux, som tillåter spiktestning av webb- och andra appar. Det hjälper till att bestämma prestandan och resultatet av applikationen även under tung belastning.
Hur detta test passar in i prestationstestfamiljen
Prestandatestning är ett paraplybegrepp. Varianterna nedan skiljer sig endast åt i formen av den applicerade belastningen och hur länge den hålls, vilket är anledningen till att de så ofta förväxlas med varandra.
| Testtyp | Lastmönster | Fråga den svarar |
|---|---|---|
| Lasttestning | Förväntad toppbelastning, kort varaktighet | Uppfyller systemet sina mål under normal trafikbelastning? |
| Stresstestning | Ökade utöver kapaciteten tills fel uppstod | Var går det sönder, och fallerar det graciöst? |
| Spike testning | Plötslig extrem ökning, sedan tillbakadragande | Överlever och återhämtar den sig från en trafikchock? |
| Uthållighetstestning | Normal belastning hålls i många timmar | Försämras prestandan med tiden? |
| Blötläggningstestning | Ihållande belastning under en längre period | Finns det minnesläckor eller resursutmattning? |
| Stabilitetstestning | Varierande belastning beroende på förhållanden | Förblir systemet tillförlitligt även när förhållandena förändras? |
| Volymtestning | Vanliga användare, mycket stor datamängd | Klarar den sig av att databasen växer? |
Uthållighets- och blötläggningstestning behandlas ofta som synonymer. Vanligtvis används de som: båda håller en ihållande belastning under en lång period. Där team skiljer dem åt fokuserar uthållighetstestning på om svarstiderna glider uppåt, medan soak-testning fokuserar på resursförbrukning som minne, filreferenser och anslutningspooler. Att köra en ger dig vanligtvis bevis för båda.
Viktiga mätvärden att fånga upp under testet
En prestandakörning är bara så bra som vad du spelar in medan den körs. Registrera dessa sex på server- och klientsidan och jämför dem sedan mot baslinjen snarare än mot en magkänsla.
| metrisk | Vad det säger dig | Varningstecken |
|---|---|---|
| Genomsnittlig svarstid | Typisk användarupplevelse | Eventuell uppåtgående drift över banan |
| 95:e percentilens svarstid | Upplevelsen för de långsammaste användarna | Långt över genomsnittet, vilket betyder inkonsekvens |
| genomströmning | Hanterade förfrågningar per sekund | Faller medan belastningen förblir konstant |
| Felhastighet | Andel misslyckade eller tidsgränsade förfrågningar | Varje höjning över det överenskomna tröskelvärdet |
| CPU- och minnesanvändning | Serverresursutrymme | Minne som klättrar och aldrig återvänder |
| Databasanslutningar och trådar | Poolutmattning | Antal som växer stadigt utan utgivning |
Läs av medelvärdet och percentilen tillsammans. Ett genomsnitt på 800 ms med en 95:e percentil på 900 ms beskriver ett konsekvent system. Samma genomsnitt med en 95:e percentil på 9 sekunder innebär att en användare av tjugo har det dåligt, och genomsnittet döljer det.
Titta på formen, inte bara på värdet. I alla långvariga tester är en platt resurslinje ett godkänt resultat och en stigande är en läcka, även om det absoluta antalet fortfarande ligger bekvämt inom gränsen när körningen avslutas.
Spiktestning: Viktiga slutsatser
- mjukvarutestning är en typ av mjukvarutestning där en mjukvaruapplikation testas med extrema ökningar och minskningar i trafikbelastning.
- Rätt tillvägagångssätt för att göra spiktestning är att oväntat öka antalet användare följt av en omedelbar minskning av belastningen.
- Den oväntade belastningen är affärens huvudattribut.
- Exempel på verkliga scenarier för Spike-testning är – när en e-handelsbutik lanserar specialerbjudanden med fantastiska rabatter som på Black Friday. Alternativt, när en webbapplikation livestreamar ett favorit-TV-program.
- JMeter är ett sådant användbart verktyg för att göra spiktestning.

