performance testing vs load testing vs stress testing
Forskjellen mellom ytelsestesting, belastningstesting og stresstesting - med eksempler
Vår forrige opplæring i denne serien vil være den beste Performance Testing Guide for enhver nybegynner.
I programvaretestfeltet kommer vi over begreper som ytelsestesting, belastningstesting, stresstesting osv. Disse begrepene blir ofte misforstått og tolket som de samme begrepene.
Imidlertid er det en betydelig forskjell mellom disse tre testtypene, og det er viktig for en tester å forstå det samme.
=> Klikk her for å få fullstendige ytelsestester
I denne opplæringen vil vi diskutere hver av disse testtypene for å forstå de nøyaktige forskjellene mellom dem.
Hva du vil lære:
Forskjellen mellom ytelsestesting, belastningstesting og stresstesting
# 1) Ytelsestesting
Hva er ytelsestesting?
Ytelsestesting er testingen som utføres for å fastslå hvordan komponentene i et system utfører under en bestemt gitt situasjon.
Ressursbruk, skalerbarhet og pålitelighet av produktet er også validert under denne testingen. Denne testen er delmengden av performance engineering, som er fokusert på å løse ytelsesproblemer i design og arkitektur av et programvareprodukt.
Ovenstående bilde forklarer oss tydelig det Performance Testing er supersettet for både belastning og stresstesting. Andre typer testing som inngår i ytelsestesting, er Spike-testing, Volumtesting, Utholdenhetstesting og Skalerbarhetstesting . Dermed er ytelsestesting i utgangspunktet et veldig bredt begrep.
Prestasjonstestingsmål:
Det primære målet for ytelsestesting inkluderer å etablere systemets oppførsel. Det er en rekke bransjedefinerte referanser som skal oppfylles under ytelsestesting.
Ytelsestesting tar ikke sikte på å finne feil i applikasjonen. Det består heller ikke eller mislykkes testen. Snarere adresserer den den kritiske oppgaven med å sette inn standard og standard for en applikasjon . Ytelsestesting bør gjøres veldig nøyaktig. Tett overvåking av applikasjons- / systemytelsen er den viktigste egenskapen til ytelsestesting.
Referansen og standarden for applikasjonen bør settes i form av attributter som hastighet, responstid, gjennomstrømning, ressursbruk og stabilitet. Alle disse attributtene blir testet i en ytelsestest.
For eksempel,
For eksempel kan du teste ytelsen til applikasjonsnettverket gjennom 'Connection Speed vs. Latency' -diagrammet. Latens er tidsforskjellen mellom dataene som skal nås fra kilden til destinasjonen.
En side på 70 kb ville ikke ta mer enn 15 sekunder å laste inn for den verste tilkoblingen av 28,8 kbps modem (latens = 1000 millisekunder), mens siden av samme størrelse ville vises innen 5 sekunder for den gjennomsnittlige tilkoblingen på 256 kbps DSL (latens = 100 millisekunder).
En 1,5 Mbps T1-tilkobling (ventetid = 50 millisekunder) vil ha ytelsesverdien satt til 1 sekund for å oppnå dette målet.
En annen eksempel ville være den for en modell for forespørselssvar. Vi kan sette en målestokk for at tidsforskjellen mellom generering av forespørsel og bekreftelse av svar skal være i området x ms (millisekunder) og y ms, der x og y er standard sifrene.
En vellykket ytelsestest bør projisere de fleste ytelsesproblemene, som kan være relatert til database, nettverk, programvare, maskinvare, etc.
# 2) Lasttesting
Lastetesting er ment å teste systemet ved konstant og jevnlig å øke belastningen på systemet til det når terskelgrensen. Det er en delmengde av ytelsestesting.
Lastetesting kan enkelt gjøres ved å bruke et hvilket som helst passende automatiseringsverktøy som er tilgjengelig i markedet. WAPT og LoadRunner er to så kjente verktøy som hjelper til med lastetesting. Lastetesting er også kjent med navn som Volumtesting og Utholdenhetstesting .
Volumtesting fokuserer imidlertid hovedsakelig på databaser. Utholdenhetstesting tester systemet ved å holde det under betydelig belastning i en varig periode.
Det eneste formålet med belastningstesting er å tildele systemet den største jobben det muligens kan håndtere for å teste utholdenheten i systemet og overvåke resultatene. Et interessant faktum her er at noen ganger blir systemet matet med en tom oppgave for å bestemme oppførselen til systemet i nullastssituasjonen.
Attributtene som overvåkes i en belastningstest inkluderer topp ytelse, servergjennomstrømning, responstid under forskjellige lastnivåer (under grenseverdien for brudd), tilstrekkelig H / W-miljø, hvor mange brukerapplikasjoner den kan håndtere uten å påvirke ytelsen.
Lasttestmål:
Målet med lastetesting inkluderer:
- Å eksponere feilene i et program relatert til bufferoverløp, minnelekkasjer og feil administrasjon av minnet. Problemene som til slutt vil komme ut som et resultat av belastningstesting, kan omfatte problemer med lastbalansering, problemer med båndbredde, kapasiteten til det eksisterende systemet, etc.
- For å bestemme den øvre grensen for alle komponentene i et program som en database, maskinvare, nettverk, etc. slik at applikasjonen kan håndtere den forventede belastningen i fremtiden.
- Slik angir du SLA for applikasjonen.
For eksempel,
La oss vurdere å sjekke e-postfunksjonaliteten til et program, som kan bli oversvømmet med 1000 brukere om gangen. Nå kan 1000 brukere sende e-posttransaksjoner (lese, sende, slette, videresende, svare) på mange forskjellige måter.
Hvis vi tar en transaksjon per bruker per time, vil det være 1000 transaksjoner per time. Ved å simulere 10 transaksjoner / brukere, kan vi laste test e-postserveren ved å oppta den med 10000 transaksjoner / time.
Et annet eksempel på en lasttest er vist på bildet nedenfor:
Ovenstående bilde viser en belastningstest utført i verktøyet som heter JMeter . Denne testen er gjort for å identifisere hvor mange brukere et system kan håndtere. I denne testen blir 100 brukere lagt til etter hvert 30. sekund til belastningen når 1000 brukere. Hvert trinn tar 30 sekunder å fullføre, og JMeter venter i 30 sekunder før du starter neste trinn.
Når lasten når 1000 tråder, fortsetter alle å kjøre i 300 sekunder (5 minutter) sammen, og stopper til slutt 10 tråder hvert 3. sekund.
# 3) Stresstesting
Under stresstesting utføres ulike aktiviteter for å overbelaste eksisterende ressurser med overflødige jobber i et forsøk på å bryte systemet ned. Negativ testing , som inkluderer fjerning av komponentene fra systemet, gjøres også som en del av stresstesting.
Også kjent som utmattelsestesting , denne testingen skal fange opp applikasjonens stabilitet ved å teste den utover båndbreddekapasiteten.
Dermed evaluerer stresstesting oppførselen til en applikasjon utover toppbelastning og normale forhold.
Formålet med stresstesting er å fastslå feilen i systemet og å overvåke hvordan systemet gjenoppretter elegant. Utfordringen her er å sette opp et kontrollert miljø før du starter testen, slik at du nøyaktig kan fange oppførselen til systemet gjentatte ganger under de mest uforutsigbare scenariene.
Problemene som til slutt vil komme ut som et resultat av stresstesting, kan omfatte synkroniseringsproblemer, minnelekkasjer, løpsforhold osv. Hvis stresstesten sjekker hvordan systemet oppfører seg i situasjonen med en plutselig økning i antall brukere , så kalles det en piggprøve.
Hvis stresstesten skal sjekke systemets bærekraft over en periode gjennom langsom økning i antall brukere, kalles det som en bløtprøve.
Stress Testing Goal:
Målet med stresstesting er å analysere rapporter etter krasj for å definere oppførselen til applikasjonen etter feil.
Den største utfordringen er å sikre at systemet ikke kompromitterer sikkerheten til sensitive data etter feilen. I en vellykket stresstesting, vil systemet komme tilbake til normalitet sammen med alle dets komponenter, selv etter den mest forferdelige sammenbruddet.
For eksempel,
Som et eksempel brukes en tekstbehandler som Writer1.1.0 av OpenOffice.org i utviklingen av bokstaver, presentasjoner, regneark osv. Formålet med stresstestingen er å laste den med overflødige tegn.
For å gjøre dette, vil vi gjentatte ganger lime inn en datalinje, til den når grensen for å håndtere et stort tekstvolum. Så snart tegnstørrelsen når 65.535 tegn, vil den ganske enkelt nekte å godta mer data.
Resultatet av stresstesting på Writer 1.1.0 gir resultatet at det ikke krasjer under stresset og det håndterer situasjonen elegant, noe som sørger for at applikasjonen fungerer riktig selv under strenge stressforhold.
Et annet eksempel på en belastningstest som viser en topptest gjennom plutselig oppstart av 7000 brukere, er vist nedenfor:
FAQ's
Etter å ha hatt nok diskusjoner om ytelsestesting, stresstesting og belastningstesting, la oss nå se på noen relaterte hyppige spørsmål som testere søker svar på.
Q # 1) Er belastningstesting og ytelsestesting det samme?
Svar: Svaret på dette er ‘Nei’. De er ikke de samme.
Nå må du ha klart forstått forskjellen mellom ytelsestesting og belastningstesting. Du kan referere til tabelloversikten nedenfor for å se hvordan ytelse og belastningstesting har forskjellige mål, omfangsattributter å studere og problemer å avdekke.
Q # 2) Er det en urettferdig test å utføre stresstesting på samme tid når du utfører belastningstesting?
Svar: Dette er også et vanlig spørsmål i mange programvaretestintervjuer og sertifiseringseksamener, da er det urettferdig å gjøre stresstesting og belastningstesting parallelt? Svaret på dette er ‘Nei’. Det er ikke urettferdig å gjøre stresstesting samtidig som du gjør belastningstesting.
Ingen test er noen gang urettferdig. Som tester er ditt arbeid å finne problemer. Imidlertid kan det være aktuelt med programvaretesting, og eventuelle problemer du oppdager i denne situasjonen, kan ikke løses.
Sp # 3) Er utvinningstesting en del av ytelsestesting?
Svar: Ja, utvinningstesting er kategorisert under ytelsestesting, og til tider blir den også utført med belastningstesting. I utvinning testing , får du tilgang til hvor godt et program er i stand til å gjenopprette fra feil, krasjer, maskinvarefeil og andre lignende problemer.
I denne aktiviteten blir programvaren tvunget til å mislykkes, og deretter blir den bekreftet om den er i stand til å gjenopprette riktig. For eksempel, å starte systemet på nytt når et program kjører, og deretter kontrollere dataintegriteten til applikasjonen.
Q # 4) Krever ytelsestesting koding?
Svar: Ytelsestesting krever ikke at du kjenner til det avanserte nivået av koding. Å ha en grunnleggende kunnskap om programmering er imidlertid en ekstra fordel.
hvordan du bruker team foundation server
For eksempel, hvis du bruker JMeter, så er det bra for deg å kjenne til grunnleggende Java. Det kan hjelpe deg å feilsøke visse ting, og du kan også skrive ditt eget skript om nødvendig.
Sp # 5) Hva er Spike-testing i ytelsestesting?
Svar: I topptesting økes eller reduseres belastningen brått av et stort antall brukere, og senere observeres systematferden. Spikktesting gjøres hovedsakelig for å sjekke om systemet klarer plutselige endringer i lasten.
Forskjellen mellom belastning og stresstesting
For å oppsummere, la oss observere de store forskjellene mellom belastningstesting, stresstesting og ytelsestesting i tabellen nedenfor:
Ytelsestesting | Lastetesting | Stresstesting | |
---|---|---|---|
Domene | Supersett av belastning og stresstesting | En delmengde av ytelsestesting. | En delmengde av ytelsestesting. |
omfang | Svært bredt omfang. Inkluderer - Lastetesting, stresstesting, kapasitetstesting, volumtesting, utholdenhetstesting, topptesting, skalerbarhetstesting og pålitelighetstesting, etc. | Smalere omfang sammenlignet med ytelsestesting. Inkluderer volumtesting og utholdenhetstesting. | Smalere omfang sammenlignet med ytelsestesting. Inkluderer bløtprøving og piggtesting. |
Stort mål | Å sette standard og standarder for applikasjonen. | For å identifisere den øvre grensen for systemet, angi SLA for appen og se hvordan systemet håndterer store lastevolumer. | For å identifisere hvordan systemet oppfører seg under intense belastninger og hvordan det gjenoppretter etter feil. I utgangspunktet for å forberede appen din på den uventede trafikkøkningen. |
Lastgrense | Både - under og over terskelen til et brudd. | Til terskelen for pause | Over terskelen for pause |
Attributter studert | Ressursbruk, pålitelighet, skalerbarhet, ressursbruk, responstid, gjennomstrømning, hastighet osv. | topp ytelse, servergjennomstrømning, responstid under forskjellige belastningsnivåer (under terskelen for pause), tilstrekkelig H / W-miljø, antall bruker-apper som kan håndtere, belastningsbalanseringskrav, etc. | Stabilitet utover båndbreddekapasitet, responstid (over terskelen for pause), etc. |
Problemer identifisert gjennom denne testtypen | Alle ytelsesfeil, inkludert runtime bloat, muligheten for optimalisering, problemer relatert til hastighet, ventetid, gjennomstrømning, etc. I utgangspunktet - alt relatert til ytelse! | Lastbalanseringsproblemer, problemer med båndbredde, problemer med systemkapasitet, dårlig responstid, gjennomstrømningsproblemer osv. | Sikkerhetshull med overbelastning, problemer med datakorrupsjon ved overbelastningssituasjon, treghet, minnelekkasjer osv. |
Forskjellen mellom belastning, stress og volumtesting
Nå vet vi allerede om belastning og stresstesting sammen med forskjellene mellom de to. La oss nå utforske hva som er volumtesting og hvordan er det forskjellig fra belastningstesting og stresstesting.
Volumtesting er også en slags ytelsestesting som hovedsakelig fokuserer på databasen.
Ved volumtesting blir det sjekket for hvordan systemet oppfører seg mot et visst datamengde. Dermed er databasene fylt med maksimal kapasitet, og ytelsesnivåene som responstid og servergjennomstrømning overvåkes.
For å holde det veldig enkelt, vises forskjellen mellom belastning, stress og volumtesting nedenfor:
Volumtesting | Lastetesting | Stresstesting |
---|---|---|
En enorm mengde data | Et stort antall brukere | For mange brukere, for mye data, mot systemkrasj. |
Konklusjon
I denne veiledningen har vi sett og forstått gjennom eksempler på hvordan ytelsestesting, belastningstesting og stresstesting er forskjellige fra hverandre og hva som er omfanget av hver testtype.
Vi har også sett en kort titt på mange kategorier under ytelsestesting som piggtesting, utvinningstest, volumtesting osv. Og forstått hvordan hver av disse er forskjellige fra hverandre.
Vi håper denne veiledningen ville ha vært til stor hjelp for deg å forstå den praktiske forskjellen mellom ytelse, belastning og stresstesting.
Sjekk vår kommende opplæring for å vite mer om funksjonstesting mot ytelsestesting.
=> Besøk her for fullstendige ytelsestestopplæringsserier
PREV Opplæring | NESTE veiledning
Anbefalt lesing
- En komplett guide for ytelsestesting med eksempler
- Stresstesting guide for nybegynnere
- Lastetesting komplett guide for nybegynnere
- Nettapplikasjonsbelastning, stress og ytelsestesting ved bruk av WAPT
- Lastetesting med HP LoadRunner-opplæringsprogrammer
- Cloud Performance Testing: Cloud-Based Load Testing Service Providers
- Funksjonstesting mot ytelsestesting: Bør det gjøres samtidig?
- Lastetesting ved hjelp av LoadUI - Et gratis og åpen kildekode lastetestingverktøy