Hva er belastningstesting? (Eksempler)

Hva er belastningstesting?
Load Testing er en ikke-funksjonell programvaretestprosess der ytelsen til programvareapplikasjonen testes under en bestemt forventet belastning. Den bestemmer hvordan programvareapplikasjonen oppfรธrer seg mens den er tilgjengelig for flere brukere samtidig. Mรฅlet med Load Testing er รฅ forbedre ytelsesflaskehalser og sikre stabilitet og jevn funksjon av programvareapplikasjonen fรธr distribusjon.
Denne testen identifiserer vanligvis -
- Den maksimale driftskapasiteten til en applikasjon
- Finn ut om den nรฅvรฆrende infrastrukturen er tilstrekkelig til รฅ kjรธre applikasjonen
- Bรฆrekraftig bruk med hensyn til maksimal brukerbelastning
- Antall samtidige brukere som en applikasjon kan stรธtte, og skalerbarhet for รฅ la flere brukere fรฅ tilgang til den.
Det er en type ikke-funksjonell testing. I programvareteknikk brukes belastningstesting ofte for klienten/serveren, nettbaserte applikasjoner โ bรฅde intranett og internett.
Behov for belastningstesting
Noen ekstremt populรฆre nettsteder har hatt alvorlige nedetider nรฅr de fรฅr store trafikkmengder. Nettsteder for netthandel investerer mye i reklamekampanjer, men ikke i belastningstesting for รฅ sikre optimal systemytelse nรฅr markedsfรธringen gir trafikk.
Vurder fรธlgende eksempler pรฅ lasttesting
- Den populรฆre lekebutikken Toysrus.com kunne ikke hรฅndtere den รธkte trafikken generert av deres reklamekampanje, noe som resulterte i tap av bรฅde markedsfรธringskroner og potensielt leketรธyssalg.
- Et flyselskaps nettsted var ikke i stand til รฅ hรฅndtere 10000+ brukere under et festivaltilbud.
- Encyclopedia Britannica erklรฆrte fri tilgang til deres online database som et kampanjetilbud. De klarte ikke รฅ holde tritt med trafikkangrepet pรฅ flere uker.
Mange nettsteder lider av forsinkede lastetider nรฅr de mรธter stor trafikk. Litt fakta -
- De fleste brukere klikker seg bort etter 8 sekunders forsinkelse med รฅ laste inn en side
- $ 4.4 Billion Tapt รฅrlig pรฅ grunn av dรฅrlig ytelse
Hvorfor belastningstesting?
- Lasttesting gir tillit til systemet og dets pรฅlitelighet og ytelse.
- Belastningstesting hjelper til med รฅ identifisere flaskehalsene i systemet under tunge brukerstressscenarier fรธr de skjer i et produksjonsmiljรธ.
- Lasttesting gir utmerket beskyttelse mot dรฅrlig ytelse og rommer komplementรฆre strategier for ytelsesstyring og overvรฅking av et produksjonsmiljรธ.
Mรฅl for belastningstesting
Lastetesting identifiserer fรธlgende problemer fรธr applikasjonen flyttes til markedet eller produksjonen:
- Responstid for hver transaksjon
- Ytelse av systemkomponenter under ulike belastninger
- Ytelse av databasekomponenter under ulik belastning
- Nettverksforsinkelse mellom klienten og serveren
- Problemer med programvaredesign
- Serverkonfigurasjonsproblemer som en webserver, applikasjonsserver, databaseserver osv.
- Maskinvarebegrensningsproblemer som CPU-maksimering, minnebegrensninger, nettverksflaskehals, etc.
Lasttesting vil avgjรธre om systemet mรฅ finjusteres eller modifikasjon av maskinvare og programvare er nรธdvendig for รฅ forbedre ytelsen. For รฅ effektivt gjennomfรธre lasttesting kan du bruke ulike verktรธy for ytelsestesting som er tilgjengelige for รฅ hjelpe deg med รฅ identifisere forbedringsomrรฅder.
Forutsetninger for lasttesting
Den viktigste beregningen for lasttesting er responstid. Fรธr du begynner belastningstesting, mรฅ du bestemme โ
- Om responstiden allerede er mรฅlt og sammenlignet โ Kvantitativ
- Om responstiden er relevant for forretningsprosessen โ Relevant
- Om responstiden er forsvarlig โ Realistisk
- Om responstiden er oppnรฅelig โ oppnรฅelig
- Om responstiden er mรฅlbar ved hjelp av et verktรธy eller stoppeklokke โ Mรฅlbar
Et miljรธ mรฅ settes opp fรธr du starter belastningstesten:
| Hardware Platform | Programvarekonfigurasjon |
|---|---|
|
|
Strategier for lasttesting
Det er mange mรฅter รฅ utfรธre lasttesting pรฅ. Fรธlgende er noen fรฅ lastteststrategier-
- Manuell lasttesting: Dette er en av strategiene for รฅ utfรธre lasttesting, men det gir ikke repeterbare resultater, kan ikke gi mรฅlbare nivรฅer av stress pรฅ en applikasjon og er en umulig prosess รฅ koordinere.
- Egenutviklet lasttestingsverktรธy: En organisasjon som innser viktigheten av belastningstesting, kan bygge sine egne verktรธy for รฅ utfรธre belastningstester.
- Lasttestingsverktรธy for รฅpen kildekode: Det er flere lasttestingsverktรธy tilgjengelig som รฅpen kildekode som er gratis. De er kanskje ikke like sofistikerte som deres betalte kolleger, men hvis du har et budsjett, er de det beste valget.
- Verktรธy for belastningstesting i bedriftsklassen: De kommer vanligvis med opptaks-/avspillingsfunksjon. De stรธtter et stort antall protokoller. De kan simulere et eksepsjonelt stort antall brukere.
Slik utfรธrer du belastningstesting
Lasttestingsprosessen kan kort beskrives som nedenfor โ
- Lag en dedikert Test miljรธ for lasttesting
- Bestem fรธlgende
- Lastetestscenarier
- Bestem belastningstestetransaksjoner for en applikasjon
- Forbered data for hver transaksjon
- Antall brukere som fรฅr tilgang til systemet mรฅ forutses
- Bestem tilkoblingshastigheter. Noen brukere kan vรฆre tilkoblet via leide linjer, mens andre kan bruke oppringt
- Bestem forskjellige nettlesere og operativsystemer som brukes av brukerne
- En konfigurasjon av alle servere som web-, applikasjons- og DB-servere
- Test Scenario utfรธrelse og overvรฅking. Samle ulike beregninger
- Analyser resultatene. Kom med anbefalinger
- Finjuster systemet
- Test pรฅ nytt
Retningslinjer for lasttesting
- Lasttesting bรธr planlegges nรฅr applikasjonen blir funksjonell stabil.
- Et stort antall unike data skal vรฆre klare i datapoolen
- Antall brukere bรธr bestemmes for hvert scenario eller skript
- Unngรฅ oppretting av detaljerte logger for รฅ spare IO-plass pรฅ disken
- Prรธv รฅ unngรฅ nedlasting av bilder pรฅ siden
- I prosessen med รฅ utfรธre testtilfeller for belastningstesting, bรธr konsistensen av responstiden over den medgรฅtte perioden logges og det samme bรธr sammenlignes med ulike testkjรธringer.
Forskjellen mellom belastnings- og stresstesting
| Load Testing | Stresstesting |
|---|---|
| Lasttesting identifiserer flaskehalsene i systemet under ulike arbeidsbelastninger og sjekker hvordan systemet reagerer nรฅr belastningen gradvis รธkes | Stresstesting bestemmer brytepunktet til systemet for รฅ avslรธre det maksimale punktet som det bryter etter. |
| For รฅ gjenkjenne den รธvre grensen til systemet, sett SLA for appen og sjekk hvordan systemet kan hรฅndtere en tung belastning. | For รฅ sjekke ut hvordan systemet oppfรธrer seg under ekstreme belastninger og hvordan det kommer seg etter feil. |
| ร generere รธkt belastning pรฅ en nettapplikasjon er hovedmรฅlet med belastningstesting. | Stresstesting tar sikte pรฅ รฅ sikre at serverne ikke krasjer under en plutselig hรธy belastning i lang tid. |
| Attributtene som sjekkes i en lasttest er toppytelse, servermengde og responstid. | Denne typen testing sjekker stabilitetsresponstid osv. |
| Ved belastningstesting er belastningsgrensen en terskel for et brudd. | I stresstesting er belastningsgrensen over terskelen for et brudd. |
Forskjellen mellom funksjonell og belastningstesting
| Funksjonell testing | Load Testing |
|---|---|
| Resultatene av funksjonstester er lett forutsigbare ettersom vi har riktige trinn og forutsetninger definert | Resultater av belastningstester er uforutsigbare |
| Resultatene av funksjonstester varierer litt | Belastningstestresultatene varierer drastisk |
| Utfรธrelsesfrekvens Funksjonell testing vil vรฆre hรธy | En frekvens for รฅ utfรธre lasttesting vil vรฆre lav |
| Resultatene av funksjonstester er avhengig av testdataene | Lasttesting avhenger av antall brukere. |
Last inn testverktรธy
Lastlรธper:
Load runner er et HP-verktรธy som brukes til รฅ teste applikasjonene under normale og toppbelastningsforhold. Load runner genererer belastning ved รฅ lage virtuelle brukere som emulerer nettverkstrafikk. Den simulerer sanntidsbruk som et produksjonsmiljรธ og gir grafiske resultater.
Les mer om Loadrunner her..
Fordeler og ulemper med lasttesting
Fรธlgende er fordelene med lasttesting:
- Ytelsesflaskehalsidentifikasjon fรธr produksjon
- Forbedrer skalerbarheten til systemet
- Minimer risiko knyttet til nedetid i systemet
- Reduserte kostnader ved feil
- รk kundetilfredsheten
Ulemper med lasttesting:
- Man trenger programmeringskunnskap for รฅ bruke verktรธy for รฅ gjennomfรธre en belastningstest i sammenheng med programvaretesting.
- Verktรธy kan vรฆre dyre siden prisen avhenger av antall virtuelle brukere som stรธttes.
Sammendrag
- Lasttesting er definert som en type programvaretesting som bestemmer et systems ytelse under virkelige belastningsforhold.
- Lasttesting forbedrer typisk flaskehalser i ytelse, skalerbarhet og stabilitet til applikasjonen fรธr den er tilgjengelig for produksjon.
- Denne testingen hjelper til med รฅ identifisere den maksimale driftskapasiteten til applikasjoner samt systemflaskehalser.
- Lasttesting inn programvaretesting er viktig fordi hvis det ignoreres, kan det fรธre til รธkonomiske tap for en organisasjon.


