Programvara för stresstestning

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 16 januari 2019; kontroller kräver 2 redigeringar .

Stresstestning är en av de typer av  mjukvarutestning som utvärderar systemets tillförlitlighet och stabilitet under förhållanden där gränserna för normal drift överskrids. Stresstestning är särskilt nödvändig för "kritisk" programvara, men används även för annan programvara. Vanligtvis är stresstester bättre för att upptäcka uthållighet, tillgänglighet och undantagshantering av ett system under hög belastning än vad som anses vara korrekt beteende under normala förhållanden.

Termen "stresstestning" används ofta som en synonym för " belastningstestning " såväl som " prestandatestning ", vilket är felaktigt, eftersom dessa typer av tester svarar på olika affärsfrågor och använder olika metoder .

Grundläggande principer

I allmänhet är stresstestmetoden baserad på registrering och analys av applikationsprestandaindikatorer under belastningar som är betydligt högre än förväntat vid underhållsstadiet, och syftar till att bestämma applikationens uthållighet eller stabilitet i händelse av en explosion av aktivitet i dess användning.

Behovet av stresstester dikteras av följande faktorer:

De huvudsakliga tillämpningsområdena för stresstester:

  1. Allmän studie av systembeteende vid toppbelastningar.
  2. Utredning av fel- och undantagshantering av systemet vid toppbelastningar.
  3. Utredning av flaskhalsar i ett system eller enskilda komponenter under oproportionerlig belastning.
  4. Systemkapacitetstestning.

Stresstestning, liksom belastningstestning , kan också användas för att regelbundet utvärdera prestandaförändringar för att få ytterligare analys av dynamiken i förändringar i systembeteende under en lång period.

Proportionell belastning

Stresstestning kan tillämpas både på fristående applikationer och på distribuerade system med en klient-server-arkitektur. Det enklaste exemplet på att stresstesta en fristående applikation är att öppna en 50 MB fil med Notepad, som ingår i Windows. Villkor för applikationsstresstestning utformas vanligtvis baserat på de kritiska affärsprocesserna för dess funktionalitet, fastställda under kravutvecklings- och riskanalysstadiet av prestationsteamet .

Generellt sett kan en linjärt ökad förväntad belastning användas som villkor för stresstestning.

Oproportionerlig belastning

När det gäller att testa multi-link distribuerade system , är det nödvändigt att ta hänsyn till inte bara den faktiska volymen av lasten, som består av många element, utan också deras proportioner i den totala volymen.

Exempel 1:

Webbtjänsten är designad för att bearbeta och visa användarskapade sidor, som var och en kan bestå av ren text och dynamiska kontroller. Det är känt att en användare skapar 1 sida per dag, som innehåller i genomsnitt 1000 tecken text och ett formulär. Det är också känt att systemet tar emot 1 begäran om att visa källsidan per minut. Samtidigt är sidvisningshastigheten en kritisk affärsprocess.

Med hjälp av beteendemodellen för användare som använder systemet som beskrivs ovan är det lätt att modellera en förändring i belastningens dynamik när de ökar. Ett stresstest baserat på en sådan belastningsmodell tar inte upp de risker som är förknippade med att systemet inte längre kommer att uppfylla prestandakraven när scenariot för dess användning förändras. Till exempel kan sidvisningshastigheten minskas avsevärt om användare lägger till dussintals formulär i stället för ett.

Användningen av oproportionerlig belastning i stresstester kan också användas för att identifiera flaskhalsar i enskilda systemkomponenter.

Kapacitetstestning

Kapacitetstestning är ett av  de viktigaste områdena inom stresstester när det gäller affärsutveckling och det svåraste att genomföra och analysera. Kapacitetstestning utförs för att fastställa systemets säkerhetsmarginal samtidigt som prestandakraven uppfylls.

Vid modellering av belastningen för att testa systemets kapacitet beaktas både den aktuella belastningen i form av antalet och proportionerna av förfrågningar som samtidigt kommer in i systemet och den förväntade i framtiden.

Exempel 2:

Webbtjänsten är utformad för att visa data för registrerade användare i .docx-format. Utvecklingsbolaget är på väg att publicera möjligheten att visa data i .pdf-format, medan det förväntas att nuvarande användare kommer att fortsätta arbeta med det gamla formatet, och nya kommer att använda .pdf-formatet. Vid modellering av belastningen på system under kapacitetstestning tas inte bara hänsyn till det aktuella scenariot för dess användning (visar data i .docx), utan även det förväntade användningsfallet i framtiden (några av användarna arbetar samtidigt med systemet använder .docx och vissa använder .pdf)

Utdata från ett applikations- eller systemkapacitetstest är en uppsättning av maximalt tillåtna systembelastningsegenskaper under vilka applikationen eller systemet uppfyller de prestandakrav som utvecklats och dokumenterats under arkitekturdesignfasen.

Se även

Länkar

Litteratur