Hvad er belastningstest? (Eksempler)

Load Testing

Hvad er belastningstest?

Load Testing er en ikke-funktionel softwaretestproces, hvor softwareapplikationens ydeevne testes under en specifik forventet belastning. Det bestemmer, hvordan softwareapplikationen opfรธrer sig, mens den tilgรฅs af flere brugere samtidigt. Mรฅlet med Load Testing er at forbedre ydeevneflaskehalse og at sikre stabilitet og problemfri funktion af softwareapplikationen fรธr implementering.

Denne test identificerer normalt -

  • Den maksimale driftskapacitet for en applikation
  • Bestem, om den nuvรฆrende infrastruktur er tilstrรฆkkelig til at kรธre applikationen
  • Anvendelsens bรฆredygtighed med hensyn til maksimal brugerbelastning
  • Antal samtidige brugere, som en applikation kan understรธtte, og skalerbarhed for at give flere brugere adgang til den.

Det er en form for ikke-funktionel test. Inden for Software Engineering er belastningstest almindeligvis brugt til klienten/serveren, webbaserede applikationer โ€“ bรฅde intranet og internet.

Behov for belastningstest

Nogle ekstremt populรฆre websteder har lidt alvorlige nedetider, nรฅr de fรฅr massive trafikmรฆngder. E-handelswebsteder investerer kraftigt i reklamekampagner, men ikke i Load Testing for at sikre optimal systemydelse, nรฅr den markedsfรธring bringer trafik.

Overvej fรธlgende eksempler pรฅ belastningstest

  • Den populรฆre legetรธjsbutik Toysrus.com kunne ikke hรฅndtere den รธgede trafik genereret af deres reklamekampagne, hvilket resulterede i tab af bรฅde markedsfรธringskroner og potentielt legetรธjssalg.
  • Et flyselskabs hjemmeside var ikke i stand til at hรฅndtere 10000+ brugere under et festivaltilbud.
  • Encyclopedia Britannica erklรฆrede fri adgang til deres onlinedatabase som et kampagnetilbud. De var ikke i stand til at fรธlge med i trafikken i ugevis.

Mange websteder lider under forsinkede indlรฆsningstider, nรฅr de mรธder tung trafik. Lidt fakta -

  • De fleste brugere klikker vรฆk efter 8 sekunders forsinkelse med at indlรฆse en side
  • $ 4.4 Billion Tabt รฅrligt pรฅ grund af dรฅrlig ydeevne

Hvorfor belastningstest?

  • Belastningstest giver tillid til systemet og dets pรฅlidelighed og ydeevne.
  • Belastningstest hjรฆlper med at identificere flaskehalse i systemet under svรฆre brugerstressscenarier, fรธr de sker i et produktionsmiljรธ.
  • Belastningstest giver fremragende beskyttelse mod dรฅrlig ydeevne og rummer komplementรฆre strategier for prรฆstationsstyring og overvรฅgning af et produktionsmiljรธ.

Mรฅl for belastningstest

Indlรฆsningstest identificerer fรธlgende problemer, fรธr applikationen flyttes til markedet eller produktionen:

  • Svartid for hver transaktion
  • Ydeevne af systemkomponenter under forskellige belastninger
  • Ydeevne af databasekomponenter under forskellige belastninger
  • Netvรฆrksforsinkelse mellem klienten og serveren
  • Problemer med softwaredesign
  • Serverkonfigurationsproblemer som en webserver, applikationsserver, databaseserver osv.
  • Hardwarebegrรฆnsningsproblemer som CPU-maksimering, hukommelsesbegrรฆnsninger, netvรฆrksflaskehals osv.

Belastningstest vil afgรธre, om systemet skal finjusteres, eller der krรฆves modifikation af hardware og software for at forbedre ydeevnen. For effektivt at udfรธre belastningstest kan du bruge forskellige prรฆstationstestvรฆrktรธjer som er tilgรฆngelige for at hjรฆlpe dig med at identificere omrรฅder, der kan forbedres.

Forudsรฆtninger for belastningsprรธvning

Den vigtigste metrik for belastningstest er responstid. Fรธr du begynder belastningstestning, skal du bestemme โ€“

  • Om responstiden allerede er mรฅlt og sammenlignet โ€“ Kvantitativ
  • Om responstiden er relevant for forretningsprocessen โ€“ Relevant
  • Om responstiden er forsvarlig โ€“ Realistisk
  • Om responstiden er opnรฅelig โ€“ Opnรฅelig
  • Om responstiden er mรฅlbar ved hjรฆlp af et vรฆrktรธj eller stopur โ€“ Mรฅlbar

Et miljรธ skal konfigureres, fรธr du starter belastningstesten:

Hardware platform Software Configuration
  • Server maskiner
  • Processorer
  • Hukommelse
  • Disklager
  • Indlรฆs maskinkonfiguration
  • Netvรฆrkskonfiguration
  • Operating System
  • Server software

Strategier for belastningstestning

Der er mange mรฅder at udfรธre belastningstest pรฅ. Fรธlgende er et par belastningsteststrategier-

Strategier for belastningstestning

  • Manuel belastningstest: Dette er en af โ€‹โ€‹strategierne til at udfรธre belastningstest, men det producerer ikke gentagelige resultater, kan ikke give mรฅlbare niveauer af stress pรฅ en applikation og er en umulig proces at koordinere.
  • Egenudviklede belastningstestvรฆrktรธjer: En organisation, der indser vigtigheden af โ€‹โ€‹belastningstest, kan bygge deres egne vรฆrktรธjer til at udfรธre belastningstest.
  • Open source belastningstestvรฆrktรธjer: Der er flere belastningstestvรฆrktรธjer tilgรฆngelige som open source, der er gratis. De er mรฅske ikke sรฅ sofistikerede som deres betalte modstykker, men hvis du er pรฅ et budget, er de det bedste valg.
  • Vรฆrktรธjer til belastningstest i virksomhedsklassen: De kommer normalt med mulighed for optagelse/afspilning. De understรธtter et stort antal protokoller. De kan simulere et usรฆdvanligt stort antal brugere.

Sรฅdan laver du belastningstest

Belastningstestprocessen kan kort beskrives som nedenfor โ€“

  1. Opret en dedikeret Testmiljรธ til belastningsprรธvning
  2. Bestem fรธlgende
  3. Indlรฆs testscenarier
  4. Bestem belastningstesttransaktioner for en applikation
    • Forbered data for hver transaktion
    • Antallet af brugere, der fรฅr adgang til systemet, skal forudsiges
    • Bestem forbindelseshastigheder. Nogle brugere kan vรฆre forbundet via faste kredslรธb, mens andre kan bruge opkald
    • Bestem forskellige browsere og operativsystemer, der bruges af brugerne 
    • En konfiguration af alle servere som web-, applikations- og DB-servere
  5. Udfรธrelse og overvรฅgning af testscenarier. Indsamling af forskellige metrics
  6. Analyser resultaterne. Kom med anbefalinger
  7. Finjuster systemet
  8. Test igen

Retningslinjer for belastningsprรธvning

Retningslinjer for belastningsprรธvning

  1. Belastningstest bรธr planlรฆgges, nรฅr applikationen bliver funktionsstabil.
  2. Et stort antal unikke data skulle vรฆre klar i datapuljen
  3. Antallet af brugere bรธr bestemmes for hvert scenarie eller scripts
  4. Undgรฅ oprettelse af detaljerede logfiler for at spare pรฅ diskens IO-plads
  5. Prรธv at undgรฅ at downloade billeder pรฅ siden
  6. I processen med at udfรธre belastningstest-testcases, bรธr konsistensen af โ€‹โ€‹responstiden over den forlรธbne periode logges, og det samme bรธr sammenlignes med forskellige testkรธrsler.

Forskellen mellem belastnings- og stresstest

Load Testing Stresstest
Belastningstest identificerer flaskehalse i systemet under forskellige arbejdsbelastninger og kontrollerer, hvordan systemet reagerer, nรฅr belastningen gradvist รธges Stresstest bestemmer systemets brudpunkt for at afslรธre det maksimale punkt, hvorefter det bryder.
For at genkende den รธvre grรฆnse for systemet skal du indstille SLA for appen og kontrollere, hvordan systemet kan hรฅndtere en tung belastning. For at tjekke, hvordan systemet opfรธrer sig under ekstreme belastninger, og hvordan det kommer sig efter fejl.
Generering af รธget belastning pรฅ en webapplikation er hovedformรฅlet med belastningstest. Stresstest har til formรฅl at sikre, at serverne ikke gรฅr ned under en pludselig hรธj belastning i lรฆngere tid.
De egenskaber, der kontrolleres i en belastningstest, er topydelse, servermรฆngde og responstid. Denne form for test kontrollerer stabilitetens responstid osv.
Ved belastningstest er belastningsgrรฆnsen en tรฆrskel for en pause. Ved stresstest er belastningsgrรฆnsen over tรฆrsklen for et brud.

Forskellen mellem funktionel og belastningstest

Funktionstest Load Testing
Resultaterne af funktionelle tests er let forudsigelige, da vi har de rigtige trin og forudsรฆtninger defineret Resultaterne af belastningstests er uforudsigelige
Resultaterne af funktionelle tests varierer lidt Belastningstestresultater varierer drastisk
Hyppighed af udfรธrelse Funktionstest vil vรฆre hรธj En frekvens for udfรธrelse af belastningstest vil vรฆre lav
Resultater af funktionstest afhรฆnger af testdataene Belastningstest afhรฆnger af antallet af brugere.

Indlรฆs testvรฆrktรธjer

Load Runner:

Load runner er HP-vรฆrktรธj, der bruges til at teste applikationerne under normale og spidsbelastningsforhold. Load runner genererer belastning ved at skabe virtuelle brugere, der emulerer netvรฆrkstrafik. Det simulerer brug i realtid som et produktionsmiljรธ og giver grafiske resultater.

Lรฆs mere om Loadrunner link..

Fordele og ulemper ved belastningstest

Fรธlgende er fordelene ved belastningstest:

  • Ydeevne flaskehalse identifikation fรธr produktion
  • Forbedrer skalerbarheden af โ€‹โ€‹systemet
  • Minimer risikoen i forbindelse med nedetid i systemet
  • Reducerede omkostninger ved fiasko
  • ร˜ge kundetilfredsheden

Ulemper ved belastningstest:

  • Man har brug for programmeringsviden for at bruge vรฆrktรธjer til at udfรธre en belastningstest i forbindelse med softwaretest.
  • Vรฆrktรธjer kan vรฆre dyre, da priser afhรฆnger af antallet af understรธttede virtuelle brugere.

Resumรฉ

  • Belastningstest er defineret som en type softwaretest, der bestemmer et systems ydeevne under virkelige belastningsforhold.
  • Belastningstestning forbedrer typisk flaskehalse i ydeevne, skalerbarhed og stabilitet af applikationen, fรธr den er tilgรฆngelig til produktion.
  • Denne test hjรฆlper med at identificere den maksimale driftskapacitet for applikationer samt systemflaskehalse.
  • Belastningstest i software test er vigtigt, fordi hvis det ignoreres, kan det forรฅrsage รธkonomiske tab for en organisation.

Opsummer dette indlรฆg med: