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 festivaltiden kan et onlineshoppingsted opleve en stigning i trafikken, eller når det annoncerer et salg.
  • 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 spore klientens status. Når klienten kontakter serveren, tilføjer serveren navnet på klienten 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 meget brugt belastningstestværktøj. Belastningstestresultater formet 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