Hva er STRESS-testing i programvaretesting?

Stresstesting

Stresstesting er en type programvaretesting som verifiserer stabiliteten og pรฅliteligheten til programvareapplikasjonen. Mรฅlet med stresstesting er รฅ mรฅle programvare pรฅ robusthet og feilhรฅndteringsevner under ekstremt tunge belastningsforhold og รฅ sikre at programvaren ikke krasjer under vanskelige situasjoner. Den tester til og med utover normale driftspunkter og evaluerer hvordan programvaren fungerer under ekstreme forhold.

stresstesting bilde

I programvareteknikk er stresstesting ogsรฅ kjent som Utholdenhetstesting. Under stresstesting blir AUT stresset i en kort periode for รฅ kjenne dens tรฅleevne. En mest fremtredende bruk av stresstesting er รฅ bestemme grensen der systemet eller programvaren eller maskinvaren bryter. Den sjekker ogsรฅ om systemet viser effektiv feilhรฅndtering under ekstreme forhold.

Applikasjonen som testes vil bli stresset nรฅr 5 GB data kopieres fra nettsiden og limes inn i notisblokk. Notisblokk er under stress og gir 'Ikke svart' feilmelding.

Hva er STRESS-testing i programvaretesting: Verktรธy, behov og typer

Behov for stresstesting

Vurder fรธlgende sanntidseksempler der vi kan oppdage bruken av stresstesting-

  • I lรธpet av festivaltiden kan et nettsted for netthandel vรฆre vitne til en รธkning i trafikken, eller nรฅr det annonserer et salg.
  • Nรฅr en blogg blir omtalt i en ledende avis, opplever den en plutselig รธkning i trafikken.

Det er viktig รฅ utfรธre stresstesting for รฅ imรธtekomme slike unormale trafikkรธkninger. Unnlatelse av รฅ imรธtekomme denne plutselige trafikken kan fรธre til tap av inntekter og omdรธmme.

Stresstesting er ogsรฅ ekstremt verdifull av fรธlgende grunner:

  • For รฅ sjekke om systemet fungerer under unormale forhold.
  • Viser riktig feilmelding nรฅr systemet er under stress.
  • Systemfeil under ekstreme forhold kan fรธre til enorme inntektstap
  • Det er bedre รฅ vรฆre forberedt pรฅ ekstreme forhold ved รฅ utfรธre stresstesting.

Mรฅl for stresstesting

Mรฅlet med stresstesting er รฅ analysere oppfรธrselen til systemet etter en feil. For at stresstesting skal lykkes, bรธr et system vise en passende feilmelding mens det er under ekstreme forhold.

For รฅ utfรธre stresstesting kan det noen ganger brukes massive datasett som kan gรฅ tapt under stresstesting. Testere bรธr ikke miste disse sikkerhetsrelaterte dataene mens de utfรธrer stresstesting.

Hovedformรฅlet med stresstesting er รฅ sikre at systemet kommer seg etter feil som kalles som utvinnbarhet.

Belastningstesting vs stresstesting

Last testing vs Stress testing bilde

Load Testing Stresstesting
Load Testing er รฅ teste systemets oppfรธrsel under normale arbeidsbelastningsforhold, og det er bare รฅ teste eller simulere med den faktiske arbeidsbelastningen Stresstesting er รฅ teste systemets oppfรธrsel under ekstreme forhold og utfรธres til systemet feiler.
Lasttesting bryter ikke systemet stresstesting prรธver รฅ bryte systemet ved รฅ teste med overveldende data eller ressurser.

Typer stresstesting

Fรธlgende er typene stresstesting og forklares som fรธlger:

Distribuert stresstesting:

Typer stresstesting

I distribuerte klient-server-systemer utfรธres testing pรฅ tvers av alle klienter fra serveren. Stressserverens rolle er รฅ distribuere et sett med stresstester til alle stressklienter og spore statusen til klienten. Etter at klienten kontakter serveren, legger serveren til navnet pรฅ klienten og begynner รฅ sende data for testing.

I mellomtiden sender klientmaskiner signal eller hjerteslag om at den er koblet til serveren. Hvis serveren ikke mottar noen signaler fra klientmaskinen, mรฅ den undersรธkes nรฆrmere for feilsรธking. Fra figuren kan en server koble seg til de 2 klientene (Client1 og Client2), men den kan ikke sende eller motta et signal fra klient 3 og 4.

Nattlรธp er det beste alternativet for รฅ kjรธre disse stresstestscenarioene. Store serverfarmer trenger en mer effektiv metode for รฅ fastslรฅ hvilke datamaskiner som har hatt stressfeil som mรฅ undersรธkes.

Applikasjonsstresstesting:

Denne testingen konsentrerer seg om รฅ finne defekter relatert til datalรฅsing og blokkering, nettverksproblemer og ytelsesflaskehalser i en applikasjon.

Transaksjonell stresstesting:

Den utfรธrer stresstesting pรฅ en eller flere transaksjoner mellom to eller flere applikasjoner. Den brukes til รฅ finjustere og optimalisere systemet.

Systemisk stresstesting:

Dette er integrert stresstesting som kan testes pรฅ tvers av flere systemer som kjรธrer pรฅ samme server. Den brukes til รฅ finne defekter der รฉn applikasjonsdata blokkerer en annen applikasjon.

Utforskende stresstesting:

Dette er en av typene stresstesting som brukes til รฅ teste systemet med uvanlige parametere eller forhold som neppe vil oppstรฅ i et reelt scenario. Den brukes til รฅ finne defekter i uventede scenarier som

  1. Et stort antall brukere logget pรฅ samtidig
  2. Hvis en virusskanner startet i alle maskiner samtidig
  3. Hvis databasen har gรฅtt offline nรฅr den รฅpnes fra et nettsted,
  4. Nรฅr et stort datavolum settes inn i databasen samtidig

Hvordan gjรธre stresstesting?

Stresstesting kan gjรธres i 5 hovedtrinn:

Trinn 1) Planlegging av stresstesten: Her samler du systemdataene, analyserer systemet, definerer stresstestmรฅlene

Trinn 2) Lag automatiseringsskript: I denne fasen lager du automatiseringsskriptene for stresstesting, genererer testdataene for stressscenarioene.

Trinn 3) Utfรธring av skript: Pรฅ dette stadiet kjรธrer du automatiseringsskriptene for stresstesting og lagrer stressresultatene.

Trinn 4) Resultatanalyse: I dette stadiet analyserer du stresstestresultatene og identifiserer flaskehalser.

Trinn 5) Tweaking og optimalisering: I dette stadiet finjusterer du systemet, endrer konfigurasjoner, optimerer koden med mรฅlet รฅ mรธte รธnsket referanseindeks.

Til slutt kjรธrer du hele syklusen igjen for รฅ finne ut at justeringene har gitt de รธnskede resultatene. For eksempel er det ikke uvanlig รฅ mรฅtte tre til 3 sykluser av stresstestprosessen for รฅ oppnรฅ ytelsesmรฅlene

Anbefalt verktรธy for stresstesting

Loadrunner

LoadRunner fra HP er et mye brukt verktรธy for belastningstesting. Lastetestresultater formet av Loadrunner regnes som en mรฅlestokk.

Jmeter

Jmeter er et testverktรธy for รฅpen kildekode. Det er en ren Java sรธknad for stress og Ytelsestesting. Jmeter er ment รฅ dekke typer tester som belastning, funksjon, stress osv. Den trenger JDK 5 eller hรธyere for รฅ fungere.

Stresstester

Dette verktรธyet gir omfattende analyse av nettapplikasjonsytelsen, gir resultater i grafisk format, og det er ekstremt enkelt รฅ bruke. Ingen skripting pรฅ hรธyt nivรฅ er nรธdvendig og gir god avkastning pรฅ investeringen.

Neo laste

Dette er et populรฆrt verktรธy tilgjengelig pรฅ markedet for รฅ teste nettet og Mobil applikasjoner. Dette verktรธyet kan simulere tusenvis av brukere for รฅ evaluere applikasjonsytelsen under belastning og analysere responstidene. Den stรธtter ogsรฅ skyintegrert โ€“ ytelse, belastning og stresstesting. Den er enkel รฅ bruke, kostnadseffektiv og gir god skalerbarhet.

Beregninger for stresstesting

Beregninger hjelper til med รฅ evaluere et systems ytelse og generelt studert pรฅ slutten av stresstesten. Vanlig brukte beregninger er -

Mรฅling av skalerbarhet og ytelse

  • Sider per sekund: Mรฅler hvor mange sider som er forespurt / sekund
  • Gjennomstrรธmning: Basic Metric โ€“ Responsdatastรธrrelse/sekund
  • Runder: Antall ganger testscenarier har blitt planlagt Versus Antall ganger en klient har utfรธrt

Sรธknadssvar

  • Trefftid: Gjennomsnittlig tid for รฅ hente et bilde eller en side
  • Tid til fรธrste byte: Det tar tid รฅ returnere den fรธrste byten med data eller informasjon
  • Sidetid: Det tar tid รฅ hente all informasjon pรฅ en side

svikt

  • Mislykkede tilkoblinger: Antall mislykkede tilkoblinger nektet av klienten (Svak Signal)
  • Mislykkede runder: Antall runder det blir mislykket
  • Mislykkede treff: Antall mislykkede forsรธk gjort av systemet (รธdelagte lenker eller usette bilder)

Konklusjon

Stresstestens mรฅl er รฅ sjekke systemet under ekstreme forhold. Den overvรฅker systemressurser som minne, prosessor, nettverk etc., og sjekker systemets evne til รฅ gjenopprette normal status. Den sjekker om systemet viser riktige feilmeldinger under stress.

Eksempel pรฅ stresstesting

  1. Nettsted for netthandel annonserer et festivalsalg
  2. Nyhetsnettsted pรฅ tidspunktet for noen store begivenheter
  3. Utdanningsstyrets resultatnettside
  4. Sosiale nettverkssider eller blogger, apper osv

Oppsummer dette innlegget med: