Vad är belastningstestning? (Exempel)

Lasttestning

Vad är belastningstestning?

Lasttestning är en icke-funktionell mjukvarutestprocess där prestandan hos mjukvaruapplikationen testas under en specifik förväntad belastning. Den bestämmer hur programvaran beter sig medan den nås av flera användare samtidigt. Målet med Load Testing är att förbättra prestandaflaskhalsar och att säkerställa stabilitet och smidig funktion hos mjukvaruapplikationen före driftsättning.

Denna testning identifierar vanligtvis -

  • Den maximala driftskapaciteten för en applikation
  • Bestäm om den nuvarande infrastrukturen är tillräcklig för att köra applikationen
  • Applikationens hållbarhet med avseende på maximal användarbelastning
  • Antal samtidiga användare som en applikation kan stödja och skalbarhet för att ge fler användare åtkomst till den.

Det är en typ av icke-funktionell testning. Inom mjukvaruteknik används belastningstestning vanligtvis för klienten/servern, webbaserade applikationer – både intranät och internet.

Behov av belastningstestning

Vissa extremt populära webbplatser har drabbats av allvarliga driftstopp när de får enorma trafikvolymer. E-handelswebbplatser investerar mycket i reklamkampanjer, men inte i belastningstestning för att säkerställa optimal systemprestanda, när marknadsföringen drar in trafik.

Betrakta följande belastningstestningsexempel

  • Den populära leksaksbutiken Toysrus.com kunde inte hantera den ökade trafiken som genererades av deras reklamkampanj vilket resulterade i förlust av både marknadsföringsdollar och potentiell leksaksförsäljning.
  • En flygbolags webbplats kunde inte hantera 10000 XNUMX+ användare under ett festivalerbjudande.
  • Encyclopedia Britannica förklarade fri tillgång till deras onlinedatabas som ett kampanjerbjudande. De kunde inte hänga med i trafikens anstormning på flera veckor.

Många webbplatser drabbas av försenade laddningstider när de stöter på tung trafik. Lite fakta -

  • De flesta användare klickar iväg efter 8 sekunders fördröjning när de laddar en sida
  • $ 4.4 Billjon Förloras årligen på grund av dålig prestanda

Varför belastningstestning?

  • Belastningstestning ger förtroende för systemet och dess tillförlitlighet och prestanda.
  • Lasttestning hjälper till att identifiera flaskhalsarna i systemet under svåra användarstressscenarier innan de inträffar i en produktionsmiljö.
  • Belastningstestning ger utmärkt skydd mot dålig prestanda och rymmer kompletterande strategier för prestandahantering och övervakning av en produktionsmiljö.

Mål för belastningstestning

Laddningstestning identifierar följande problem innan applikationen flyttas till marknaden eller produktion:

  • Svarstid för varje transaktion
  • Prestanda för systemkomponenter under olika belastningar
  • Prestanda för databaskomponenter under olika belastningar
  • Nätverksfördröjning mellan klienten och servern
  • Mjukvarudesignproblem
  • Serverkonfigurationsproblem som en webbserver, applikationsserver, databasserver etc.
  • Hårdvarubegränsningsproblem som CPU-maximering, minnesbegränsningar, nätverksflaskhals etc.

Belastningstestning kommer att avgöra om systemet behöver finjusteras eller modifiering av hårdvara och mjukvara krävs för att förbättra prestandan. För att effektivt genomföra lasttestning kan du använda olika verktyg för prestandatestning som är tillgängliga för att hjälpa dig identifiera förbättringsområden.

Förutsättningar för belastningsprovning

Huvudmåttet för belastningstestning är svarstid. Innan du börjar belastningstestning måste du fastställa –

  • Huruvida svarstiden redan är uppmätt och jämförd – Kvantitativt
  • Huruvida svarstiden är tillämplig på affärsprocessen – Relevant
  • Huruvida svarstiden är försvarlig – Realistisk
  • Huruvida svarstiden är uppnåbar – Achievable
  • Huruvida svarstiden är mätbar med hjälp av ett verktyg eller stoppur – Mätbar

En miljö måste ställas in innan belastningstestet påbörjas:

Hardware Platform Programvarukonfiguration
  • Servermaskiner
  • Processorer
  • Minne
  • Disklagring
  • Ladda maskiners konfiguration
  • Nätverkskonfiguration
  • Operating System
  • Serverprogramvara

Strategier för belastningstestning

Det finns många olika sätt att utföra lasttestning. Följande är några belastningsteststrategier-

Strategier för belastningstestning

  • Manuell belastningstestning: Detta är en av strategierna för att utföra belastningstestning, men det ger inte repeterbara resultat, kan inte ge mätbara nivåer av stress på en applikation och är en omöjlig process att samordna.
  • Egenutvecklade lasttestverktyg: En organisation som inser vikten av belastningstester kan bygga sina egna verktyg för att utföra belastningstester.
  • Lasttestverktyg med öppen källkod: Det finns flera lasttestverktyg tillgängliga som öppen källkod som är gratis. De kanske inte är lika sofistikerade som deras betalda motsvarigheter, men om du har en budget är de det bästa valet.
  • Verktyg för belastningstestning i företagsklass: De kommer vanligtvis med inspelnings-/uppspelningsmöjlighet. De stöder ett stort antal protokoll. De kan simulera ett exceptionellt stort antal användare.

Hur man gör belastningstestning

Lasttestningsprocessen kan kort beskrivas enligt nedan –

  1. Skapa en dedikerad Testmiljö för belastningsprovning
  2. Bestäm följande
  3. Ladda testscenarier
  4. Bestäm lasttestningstransaktioner för en applikation
    • Förbered data för varje transaktion
    • Antalet användare som kommer åt systemet måste förutsägas
    • Bestäm anslutningshastigheter. Vissa användare kan vara anslutna via hyrda förbindelser medan andra kan använda uppringd
    • Bestäm olika webbläsare och operativsystem som används av användarna 
    • En konfiguration av alla servrar som webb-, applikations- och DB-servrar
  5. Utförande och övervakning av testscenario. Samla in olika mått
  6. Analysera resultaten. Ge rekommendationer
  7. Finjustera systemet
  8. Testa om

Riktlinjer för belastningsprovning

Riktlinjer för belastningsprovning

  1. Belastningstestning bör planeras när applikationen blir funktionellt stabil.
  2. Ett stort antal unika data bör vara redo i datapoolen
  3. Antal användare bör bestämmas för varje scenario eller skript
  4. Undvik att skapa detaljerade loggar för att spara på diskutrymmet
  5. Försök att undvika nedladdning av bilder på webbplatsen
  6. I processen att exekvera testfall för belastningstester, bör konsistensen av svarstiden över den förflutna perioden loggas och densamma bör jämföras med olika testkörningar.

Skillnad mellan belastnings- och stresstestning

Lasttestning Stresstestning
Belastningstestning identifierar flaskhalsarna i systemet under olika arbetsbelastningar och kontrollerar hur systemet reagerar när belastningen gradvis ökar Stresstestning bestämmer brytpunkten för systemet för att avslöja den maximala punkten efter vilken det bryts.
För att känna igen den övre gränsen för systemet, ställ in SLA för appen och kontrollera hur systemet kan hantera en tung belastning. För att kolla hur systemet beter sig under extrema belastningar och hur det återhämtar sig efter fel.
Att generera ökad belastning på en webbapplikation är huvudsyftet med lasttestning. Stresstester syftar till att säkerställa att servrarna inte kraschar under en plötslig hög belastning under en längre tid.
Attributen som kontrolleras i ett belastningstest är toppprestanda, serverkvantitet och svarstid. Denna typ av testning kontrollerar stabilitetens svarstid, etc.
I belastningstestning är belastningsgränsen en tröskel för ett avbrott. I stresstester är belastningsgränsen över tröskeln för ett brott.

Skillnad mellan funktions- och belastningstestning

funktions~~POS=TRUNC Lasttestning
Resultaten av funktionstester är lätta att förutsäga eftersom vi har korrekta steg och förutsättningar definierade Resultaten av belastningstester är oförutsägbara
Resultaten av funktionstester varierar något Belastningstestresultaten varierar drastiskt
Utförandefrekvens funktions~~POS=TRUNC kommer att vara hög Frekvensen för att utföra lasttestning kommer att vara låg
Resultat av funktionstester är beroende av testdata Belastningstestning beror på antalet användare.

Ladda testverktyg

Load Runner:

Load runner är ett HP-verktyg som används för att testa applikationerna under normala och toppbelastningsförhållanden. Load runner genererar belastning genom att skapa virtuella användare som emulerar nätverkstrafik. Den simulerar realtidsanvändning som en produktionsmiljö och ger grafiska resultat.

Läs mer om Loadrunner här..

Fördelar och nackdelar med Lasttestning

Följande är fördelarna med lasttestning:

  • Identifiering av prestandaflaskhalsar före produktion
  • Förbättrar systemets skalbarhet
  • Minimera risken i samband med systemavbrott
  • Minskade kostnader för misslyckande
  • Öka kundnöjdheten

Nackdelar med lasttestning:

  • Man behöver programmeringskunskaper för att använda verktyg för att genomföra ett belastningstest i samband med mjukvarutestning.
  • Verktyg kan vara dyra eftersom priset beror på antalet virtuella användare som stöds.

Sammanfattning

  • Lasttestning definieras som en typ av mjukvarutestning som bestämmer ett systems prestanda under verkliga belastningsförhållanden.
  • Belastningstestning förbättrar vanligtvis prestandaflaskhalsar, skalbarhet och stabilitet för applikationen innan den är tillgänglig för produktion.
  • Denna testning hjälper till att identifiera den maximala driftskapaciteten för applikationer samt systemflaskhalsar.
  • Lasttestning in mjukvarutestning är viktigt eftersom om det ignoreras kan det orsaka ekonomiska förluster för en organisation.