Hvad er STRESS-test i softwaretest?

Stresstest

Stresstest er en type softwaretest, der verificerer stabiliteten og pรฅlideligheden af โ€‹โ€‹softwareapplikationen. Mรฅlet med stresstest er at mรฅle software pรฅ dets robusthed og fejlhรฅndteringsevner under ekstremt tunge belastningsforhold og sikre, at software ikke gรฅr ned under vanskelige situationer. Den tester endda ud over normale driftspunkter og evaluerer, hvordan software fungerer under ekstreme forhold.

stresstest billede

I Software Engineering er stresstest ogsรฅ kendt som Udholdenhedstest. Under stresstest bliver AUT stresset i en kort periode for at kende dens modstรฅelsesevne. En mest fremtrรฆdende anvendelse af stresstest er at bestemme grรฆnsen, ved hvilken systemet eller softwaren eller hardwaren gรฅr i stykker. Det kontrollerer ogsรฅ, om systemet udviser effektiv fejlhรฅndtering under ekstreme forhold.

Applikationen under test vil blive stresset, nรฅr 5 GB data kopieres fra hjemmesiden og indsรฆttes i notesblok. Notesblok er under stress og giver 'Ikke svaret' fejlmeddelelse.

Hvad er STRESS-test i softwaretest: Vรฆrktรธjer, behov og typer

Behov for stresstest

Overvej fรธlgende realtidseksempler, hvor vi kan opdage brugen af โ€‹โ€‹stresstest-

  • I lรธbet af festivalen er der en onlinebutikping webstedet kan opleve en stigning i trafikken, eller nรฅr det annoncerer et udsalg.
  • Nรฅr en blog bliver omtalt i en fรธrende avis, oplever den en pludselig stigning i trafikken.

Det er bydende nรธdvendigt at udfรธre stresstest for at imรธdekomme sรฅdanne unormale trafikstigninger. Undladelse af at imรธdekomme denne pludselige trafik kan resultere i tab af omsรฆtning og omdรธmme.

Stresstest er ogsรฅ ekstremt vรฆrdifuldt af fรธlgende รฅrsager:

  • For at kontrollere, om systemet fungerer under unormale forhold.
  • Viser passende fejlmeddelelse, nรฅr systemet er under stress.
  • Systemfejl under ekstreme forhold kan resultere i enorme indtรฆgtstab
  • Det er bedre at vรฆre forberedt pรฅ ekstreme forhold ved at udfรธre stresstest.

Mรฅl for stresstest

Mรฅlet med stresstest er at analysere systemets adfรฆrd efter en fejl. For at stresstestning skal lykkes, bรธr et system vise en passende fejlmeddelelse, mens det er under ekstreme forhold.

For at udfรธre stresstest kan der nogle gange bruges massive datasรฆt, som kan gรฅ tabt under stresstest. Testere bรธr ikke miste disse sikkerhedsrelaterede data, mens de udfรธrer stresstest.

Hovedformรฅlet med stresstest er at sikre, at systemet genopretter sig efter fejl, som kaldes som inddrivelsesevne.

Belastningstest vs stresstest

Belastningstest vs Stresstest billede

Load Testing Stresstest
Load Testing er at teste systemets adfรฆrd under normale arbejdsbelastningsforhold, og det er bare at teste eller simulere med den faktiske arbejdsbyrde Stresstest er at teste systemets adfรฆrd under ekstreme forhold og udfรธres indtil systemfejl.
Belastningstest bryder ikke systemet stresstest forsรธger at bryde systemet ved at teste med overvรฆldende data eller ressourcer.

Typer af stresstest

Fรธlgende er typerne af stresstest og forklares som fรธlger:

Distribueret stresstest:

Typer af stresstest

I distribuerede klient-server-systemer udfรธres test pรฅ tvรฆrs af alle klienter fra serveren. Stressserverens rolle er at distribuere et sรฆt stresstests til alle stressklienter og track om klientens status. Nรฅr klienten har kontaktet serveren, tilfรธjer serveren klientens navn og begynder at sende data til test.

I mellemtiden sender klientmaskiner signal eller hjerteslag om, at den er forbundet med serveren. Hvis serveren ikke modtager nogen signaler fra klientmaskinen, skal den undersรธges nรฆrmere for fejlfinding. Fra figuren kan en server oprette forbindelse til de 2 klienter (Client1 og Client2), men den kan ikke sende eller modtage et signal fra klient 3 & 4.

Natlรธb er den bedste mulighed for at kรธre disse stresstestscenarier. Store serverfarme har brug for en mere effektiv metode til at afgรธre, hvilke computere der har haft stressfejl, der skal undersรธges.

Anvendelsesstresstest:

Denne test koncentrerer sig om at finde defekter relateret til datalรฅsning og blokering, netvรฆrksproblemer og ydeevneflaskehalse i en applikation.

Transaktionel stresstest:

Den udfรธrer stresstest pรฅ en eller flere transaktioner mellem to eller flere applikationer. Det bruges til at finjustere og optimere systemet.

Systemisk stresstest:

Dette er integreret stresstest, som kan testes pรฅ tvรฆrs af flere systemer, der kรธrer pรฅ samme server. Det bruges til at finde defekter, hvor en applikationsdata blokerer en anden applikation.

Udforskende stresstest:

Dette er en af โ€‹โ€‹de typer af stresstest, som bruges til at teste systemet med usรฆdvanlige parametre eller forhold, der sandsynligvis ikke vil forekomme i et virkeligt scenarie. Det bruges til at finde fejl i uventede scenarier som f.eks

  1. Et stort antal brugere loggede pรฅ samme tid
  2. Hvis en virusscanner startede i alle maskiner samtidigt
  3. Hvis databasen er gรฅet offline, nรฅr den tilgรฅs fra et websted,
  4. Nรฅr en stor mรฆngde data indsรฆttes i databasen samtidigt

Hvordan laver man stresstest?

Stresstestprocessen kan udfรธres i 5 overordnede trin:

Trin 1) Planlรฆgning af stresstesten: Her samler du systemdataene, analyserer systemet, definerer stresstestens mรฅl

Trin 2) Opret automatiseringsscripts: I denne fase opretter du stresstestautomatiseringsscripts, genererer testdata for stressscenarierne.

Trin 3) Scriptudfรธrelse: I denne fase kรธrer du stresstestautomatiseringsscripts og gemmer stressresultaterne.

Trin 4) Analyse af resultater: I denne fase analyserer du stresstestresultaterne og identificerer flaskehalse.

Trin 5) Tweaking og optimering: I denne fase finjusterer du systemet, รฆndrer konfigurationer, optimerer koden med mรฅlet at nรฅ det รธnskede benchmark.

Til sidst kรธrer du igen hele cyklussen for at fastslรฅ, at justeringerne har givet de รธnskede resultater. For eksempel er det ikke usรฆdvanligt at skulle bruge 3 til 4 cyklusser af stresstestprocessen for at nรฅ prรฆstationsmรฅlene

Vรฆrktรธjer anbefalet til stresstest

LoadRunner

LoadRunner fra HP er et udbredt vรฆrktรธj til belastningstest. Resultater af belastningstest formes af Loadrunner betragtes som et benchmark.

Jmeter

Jmeter er et Open Source-testvรฆrktรธj. Det er en ren Java ansรธgning om stress og Test af ydeevne. Jmeter er beregnet til at dรฆkke typer af test som belastning, funktionel, stress osv. Det krรฆver JDK 5 eller hรธjere for at fungere.

Stress tester

Dette vรฆrktรธj giver omfattende analyse af webapplikationens ydeevne, giver resultater i grafisk format, og det er ekstremt nemt at bruge. Ingen scripting pรฅ hรธjt niveau er pรฅkrรฆvet og giver et godt afkast af investeringen.

Neo belastning

Dette er et populรฆrt vรฆrktรธj pรฅ markedet til at teste nettet og Mobil applikationer. Dette vรฆrktรธj kan simulere tusindvis af brugere for at evaluere applikationens ydeevne under belastning og analysere responstiderne. Det understรธtter ogsรฅ Cloud-integreret โ€“ prรฆstations-, belastnings- og stresstest. Den er nem at bruge, omkostningseffektiv og giver god skalerbarhed.

Metrik til stresstest

Mรฅlinger hjรฆlper med at evaluere et systems ydeevne og studeres generelt i slutningen af โ€‹โ€‹stresstesten. Ofte brugte metrics er -

Mรฅling af skalerbarhed og ydeevne

  • Sider pr. sekund: Mรฅler, hvor mange sider der er blevet anmodet om / sekund
  • Gennemlรธb: Grundlรฆggende metrisk โ€“ svardatastรธrrelse/sekund
  • Runder: Antal gange testscenarier er blevet planlagt Versus Antal gange en klient har udfรธrt

Ansรธgning svar

  • Hittid: Gennemsnitlig tid til at hente et billede eller en side
  • Tid til den fรธrste byte: Det tager tid at returnere den fรธrste byte med data eller information
  • Sidetid: Det tager tid at hente al information pรฅ en side

Svigt

  • Mislykkede forbindelser: Antal mislykkede forbindelser afvist af klienten (svag Signal)
  • Mislykkede runder: Antal runder det bliver mislykket
  • Mislykkede hits: Antal mislykkede forsรธg udfรธrt af systemet (brudte links eller usete billeder)

Konklusion

Stresstests formรฅl er at kontrollere systemet under ekstreme forhold. Det overvรฅger systemressourcer sรฅsom hukommelse, processor, netvรฆrk osv., og kontrollerer systemets evne til at gendanne tilbage til normal status. Den kontrollerer, om systemet viser passende fejlmeddelelser under stress.

Eksempel pรฅ stresstest

  1. E-handelshjemmeside annoncerer et festivaludsalg
  2. Nyhedswebsted pรฅ tidspunktet for nogle stรธrre begivenheder
  3. Uddannelsesnรฆvnets resultathjemmeside
  4. Sociale netvรฆrkssider eller blogs, apps osv

Opsummer dette indlรฆg med: