Hvad er belastningstest? (Eksempler)
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 |
---|---|
|
|
Strategier for belastningstestning
Der er mange måder at udføre belastningstest på. Følgende er et par belastningsteststrategier-
- 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 –
- Opret en dedikeret Testmiljø til belastningsprøvning
- Bestem følgende
- Indlæs testscenarier
- 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
- Udførelse og overvågning af testscenarier. Indsamling af forskellige metrics
- Analyser resultaterne. Kom med anbefalinger
- Finjuster systemet
- Test igen
Retningslinjer for belastningsprøvning
- Belastningstest bør planlægges, når applikationen bliver funktionsstabil.
- Et stort antal unikke data skulle være klar i datapuljen
- Antallet af brugere bør bestemmes for hvert scenarie eller scripts
- Undgå oprettelse af detaljerede logfiler for at spare på diskens IO-plads
- Prøv at undgå at downloade billeder på siden
- 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.