Wat is STRESS-testen bij het testen van software?

Stress testen

Stress testen is een type softwaretesten dat de stabiliteit en betrouwbaarheid van softwaretoepassingen verifieert. Het doel van stresstesten is het meten van software op zijn robuustheid en foutverwerkingscapaciteiten onder extreem zware belastingomstandigheden en ervoor zorgen dat software niet crasht in crunch-situaties. Het test zelfs buiten normale bedrijfspunten en evalueert hoe software werkt onder extreme omstandigheden.

stresstest afbeelding

In Software Engineering wordt Stress Testing ook wel genoemd Uithoudingsvermogen testen. Bij stresstesten wordt AUT gedurende een korte periode onder stress gezet om zijn weerstandsvermogen te kennen. Een zeer prominent gebruik van stresstests is het bepalen van de limiet waarbij het systeem, de software of de hardware kapot gaat. Ook wordt gecontroleerd of het systeem onder extreme omstandigheden effectief foutenmanagement vertoont.

De geteste applicatie zal onder druk komen te staan ​​wanneer 5GB data van de website wordt gekopieerd en in Kladblok wordt geplakt. Kladblok staat onder druk en geeft de foutmelding 'Niet gereageerd'.

Wat is STRESS-testen bij het testen van software: tools, behoeften en typen

Noodzaak van stresstests

Overweeg de volgende real-time voorbeelden waarin we het gebruik van stresstesten kunnen ontdekken:

  • Tijdens festivals kan een online winkelsite getuige zijn van een piek in het verkeer of wanneer er een uitverkoop wordt aangekondigd.
  • Wanneer een blog in een toonaangevende krant wordt vermeld, ervaart deze een plotselinge toename van het verkeer.

Het is absoluut noodzakelijk om stresstests uit te voeren om dergelijke abnormale verkeerspieken op te vangen. Als u geen rekening houdt met dit plotselinge verkeer, kan dit leiden tot verlies van inkomsten en reputatie.

Stresstesten zijn ook om de volgende redenen uiterst waardevol:

  • Om te controleren of het systeem onder abnormale omstandigheden werkt.
  • Het weergeven van de juiste foutmelding wanneer het systeem onder spanning staat.
  • Systeemstoringen onder extreme omstandigheden kunnen tot een enorm omzetverlies leiden
  • Het is beter om voorbereid te zijn op extreme omstandigheden door het uitvoeren van stresstests.

Doelen van stresstesten

Het doel van stresstests is om het gedrag van het systeem na een storing te analyseren. Om stresstests succesvol te laten zijn, moet een systeem een ​​passende foutmelding weergeven terwijl het zich onder extreme omstandigheden bevindt.

Voor het uitvoeren van stresstests kunnen soms enorme datasets worden gebruikt die tijdens stresstests verloren kunnen gaan. Testers mogen deze beveiligingsgerelateerde gegevens niet verliezen tijdens het uitvoeren van stresstests.

Het belangrijkste doel van stresstests is ervoor te zorgen dat het systeem herstelt na een storing, ook wel as genoemd herstelbaarheid.

Belastingtesten versus stresstesten

Afbeelding belastingtest versus stresstest

load Testen Stress testen
load Testen is om het systeemgedrag te testen onder normale werklastomstandigheden, en het is alleen maar testen of simuleren met de werkelijke werklast Stresstesten zijn het testen van het systeemgedrag onder extreme omstandigheden en worden uitgevoerd tot het systeem uitvalt.
Belastingtesten breken het systeem niet stresstesten proberen het systeem te doorbreken door te testen met overweldigende gegevens of bronnen.

Soorten stresstests

Hieronder worden de soorten stresstests beschreven en als volgt uitgelegd:

Gedistribueerde stresstests:

Soorten stresstests

In gedistribueerde client-serversystemen worden tests uitgevoerd op alle clients vanaf de server. De rol van de stressserver is het verspreiden van een reeks stresstests naar alle stresscliënten en het volgen van de status van de cliënt. Nadat de client contact heeft opgenomen met de server, voegt de server de naam van de client toe en begint hij gegevens te verzenden om te testen.

Ondertussen zenden clientmachines een signaal of hartslag uit dat ze verbonden zijn met de server. Als de server geen signalen ontvangt van de clientmachine, moet deze verder worden onderzocht voor foutopsporing. Uit de figuur kan een server verbinding maken met de 2 clients (Client1 en Client2), maar hij kan geen signaal verzenden of ontvangen van Client 3 & 4.

Nachtlopen is de beste optie om deze stresstestscenario's uit te voeren. Grote serverparken hebben behoefte aan een efficiëntere methode om te bepalen welke computers stressstoringen hebben gehad die moeten worden onderzocht.

Toepassingsstresstesten:

Deze tests concentreren zich op het vinden van defecten die verband houden met het vergrendelen en blokkeren van gegevens, netwerkproblemen en prestatieknelpunten in een applicatie.

Transactionele stresstesten:

Het voert stresstests uit op een of meer transacties tussen twee of meer applicaties. Het wordt gebruikt voor het verfijnen en optimaliseren van het systeem.

Systemische stresstesten:

Dit zijn geïntegreerde stresstests die kunnen worden getest op meerdere systemen die op dezelfde server draaien. Het wordt gebruikt om defecten te vinden waarbij de ene applicatiedata een andere applicatie blokkeert.

Verkennende stresstesten:

Dit is een van de soorten stresstests die worden gebruikt om het systeem te testen met ongebruikelijke parameters of omstandigheden die zich in een reëel scenario waarschijnlijk niet zullen voordoen. Het wordt gebruikt om defecten te vinden in onverwachte scenario's zoals

  1. Een groot aantal gebruikers logde tegelijkertijd in
  2. Als een virusscanner op alle machines tegelijk zou worden gestart
  3. Als Database offline is gegaan wanneer deze wordt geopend vanaf een website,
  4. Wanneer een groot volume aan gegevens tegelijkertijd in de database wordt ingevoerd

Hoe stresstesten uitvoeren?

Het stresstestproces kan in 5 grote stappen worden uitgevoerd:

Stap 1) Het plannen van de stresstest: Hier verzamelt u de systeemgegevens, analyseert u het systeem en definieert u de doelstellingen van de stresstest

Stap 2) Automatiseringsscripts maken: In deze fase maakt u de automatiseringsscripts voor stresstests en genereert u de testgegevens voor de stressscenario's.

Stap 3) Scriptuitvoering: In deze fase voert u de automatiseringsscripts voor stresstests uit en slaat u de stressresultaten op.

Stap 4) Resultatenanalyse: In deze fase analyseer je de resultaten van de Stresstest en identificeer je knelpunten.

Stap 5) Aanpassingen en optimalisatie: In deze fase verfijn je het systeem, wijzig je configuraties, optimaliseer je de code met het doel om aan de gewenste benchmark te voldoen.

Ten slotte voer je opnieuw de hele cyclus uit om vast te stellen dat de aanpassingen de gewenste resultaten hebben opgeleverd. Het is bijvoorbeeld niet ongebruikelijk dat er 3 tot 4 cycli van het stresstestproces nodig zijn om de prestatiedoelen te bereiken

Aanbevolen hulpmiddelen voor stresstests

LoadRunner

LoadRunner van HP is een veelgebruikte tool voor het testen van belastingen. Load Testresultaten gevormd door Loadrunner worden beschouwd als een benchmark.

Jmeter

Jmeter is een Open Source testtool. Het is een pure Java toepassing voor stress en Performance TestingJmeter is bedoeld om verschillende soorten tests te dekken, zoals belasting, functionaliteit, stress, etc. Er is JDK 5 of hoger nodig om te functioneren.

Stresstester

Deze tool biedt een uitgebreide analyse van de prestaties van de webapplicatie, levert resultaten in grafisch formaat en is uiterst eenvoudig te gebruiken. Er is geen scripting op hoog niveau vereist en het levert een goed rendement op de investering op.

Neo laden

Dit is een populaire tool die op de markt verkrijgbaar is om het internet te testen Mobile toepassingen. Deze tool kan duizenden gebruikers simuleren om de applicatieprestaties onder belasting te evalueren en de responstijden te analyseren. Het ondersteunt ook cloud-geïntegreerd: prestatie-, belasting- en stresstests. Het is gemakkelijk te gebruiken, kosteneffectief en biedt goede schaalbaarheid.

Statistieken voor stresstests

Metrieken helpen bij het evalueren van de prestaties van een systeem en worden over het algemeen bestudeerd aan het einde van de stresstest. Veelgebruikte statistieken zijn:

Schaalbaarheid en prestaties meten

  • Pagina's per seconde: Meet hoeveel pagina's per seconde zijn opgevraagd
  • Doorvoer: Basisstatistiek – Grootte van responsgegevens/seconde
  • Rondes: Aantal keren dat testscenario's zijn gepland versus Aantal keren dat een klant heeft uitgevoerd

Sollicitatiereactie

  • Hittijd: gemiddelde tijd om een ​​afbeelding of pagina op te halen
  • Tijd tot de eerste byte: er wordt tijd nodig om de eerste byte aan gegevens of informatie terug te sturen
  • Paginatijd: Er wordt tijd nodig om alle informatie op een pagina op te halen

mislukkingen

  • Mislukte verbindingen: het aantal mislukte verbindingen dat door de client is geweigerd (zwak Signal)
  • Mislukte rondes: het aantal rondes dat het mislukt
  • Mislukte treffers: aantal mislukte pogingen gedaan door het systeem (verbroken links of ongeziene afbeeldingen)

Conclusie

Het doel van stresstesten is om het systeem onder extreme omstandigheden te controleren. Het bewaakt systeembronnen zoals geheugen, processor, netwerk enz., en controleert het vermogen van het systeem om terug te keren naar de normale status. Er wordt gecontroleerd of het systeem onder stress de juiste foutmeldingen weergeeft.

Voorbeeld van stresstesten

  1. E-commercewebsite kondigt een festivaluitverkoop aan
  2. Nieuwswebsite ten tijde van enkele grote evenementen
  3. Resultatenwebsite van de Onderwijsraad
  4. Sociale netwerksites of blogs, apps, enz

Dagelijkse Guru99 Nieuwsbrief

Begin uw dag met het laatste en belangrijkste AI-nieuws, direct bezorgd.