stress testing guide
Een uitgebreide handleiding voor stresstests voor beginners:
Het benadrukken van iets voorbij een punt heeft ernstige gevolgen voor mens, machine of programma. Het veroorzaakt ernstige schade of breekt het volledig.
Evenzo zullen we in deze tutorial leren hoe we webtoepassingen stresstest kunnen uitvoeren, samen met het effect ervan.
Om permanente schade aan uw apps of websites te voorkomen wanneer ze onder spanning staan, d.w.z. zwaarbelast, moeten we het breekpunt vinden en op zijn beurt de oplossing om dergelijke omstandigheden te vermijden. Bedenk eens hoe het zou zijn als uw winkelwebsite uitvalt tijdens de kerstuitverkoop. Hoeveel zou het verlies zijn?
Hieronder vindt u enkele voorbeelden van echte gevallen waarin het van groot belang is om een app of website te stresstesten:
beste software voor het maken van spellen voor beginners
# 1) Commerciële shopping-apps of websites moeten stresstests uitvoeren omdat de belasting erg hoog wordt tijdens festivals, uitverkoop of speciale aanbiedingen.
#twee) Financiële apps of websites moeten stresstests uitvoeren, aangezien de belasting toeneemt, bijvoorbeeld wanneer het aandeel van een bedrijf stijgt, veel mensen inloggen op hun rekeningen om te kopen of verkopen, websites voor online winkelen verwijzen 'Net-bankers' door voor betaling enz.
# 3) Web- of e-mailapps moeten worden getest op stress.
# 4) Sociale netwerksites of apps, blogs enz., Moeten worden getest op stress enz.
Wat je leert:
- Wat is stresstest en waarom doen we stresstest?
- Strategie voor stresstests
- Stresstests voor mobiele apps
- Verschil tussen belastingtests en stresstests
- Voorbeeld testcases
- 5 Beste stresstestsoftware
- Gevolgtrekking
- Aanbevolen literatuur
Wat is stresstest en waarom doen we stresstest?
Stresstesten worden gedefinieerd als het proces waarbij de hardware of software wordt getest op stabiliteit onder zware belasting. Deze test wordt gedaan om het numerieke punt te vinden waarop het systeem zal breken (in termen van een aantal gebruikers en serververzoeken enz.) En de gerelateerde foutafhandeling daarvoor.
Tijdens stresstests wordt de te testen applicatie (AUT) gedurende een bepaalde tijd gebombardeerd met een zware belasting om het breekpunt te verifiëren en om te zien hoe goed de foutafhandeling wordt uitgevoerd.
Voorbeeld: MS Word geeft mogelijk de foutmelding 'Reageert niet' wanneer u een bestand van 7-8 GB probeert te kopiëren.
Je hebt Word gebombardeerd met een enorm groot bestand en het kon zo'n groot bestand niet verwerken en als gevolg daarvan wordt het opgehangen. Normaal gesproken doden we apps van Taakbeheer wanneer ze niet meer reageren, de reden hierachter is dat de apps gestrest raken en niet meer reageren.
Hieronder volgen enkele technische redenen voor het uitvoeren van stresstests:
- Om het systeemgedrag te verifiëren onder abnormale of extreme belasting.
- Om de numerieke waarde van gebruikers, verzoeken etc. te vinden, waarna het systeem kan breken.
- Behandel de fout beleefd door de juiste berichten weer te geven.
- Om goed voorbereid te zijn op dergelijke omstandigheden en voorzorgsmaatregelen te nemen zoals het opschonen van codes, het opschonen van databases, enz.
- Om de gegevensverwerking te verifiëren voordat het systeem breekt, d.w.z. om te zien of gegevens zijn verwijderd, opgeslagen of niet enz.
- Om de beveiligingsbedreiging te verifiëren onder dergelijke breekomstandigheden etc.
Strategie voor stresstests
Dit is een soort niet-functionele test en deze test wordt meestal gedaan nadat de functionele test van een website of app is voltooid. De testcases, de manier van testen en zelfs de tools om te testen kunnen soms verschillen.
Hieronder volgen enkele tips die u kunnen helpen bij het bepalen van uw testproces:
- Identificeer de scenario's, functionaliteiten enz. Die het meest worden benaderd en die het systeem kunnen breken. Net als bij een financiële app is het overboeken van geld de meest gebruikte functionaliteit.
- Identificeer de belasting die het systeem op een bepaalde dag kan ervaren, d.w.z. zowel maximum als minimum.
- Maak een aparte testplan , scenario, testcase en testsuite.
- Gebruik 3-4 verschillende computersystemen om te testen met verschillende geheugens, processors etc.
- Gebruik 3-4 verschillende browsers voor web-apps met verschillende versies.
- Zoek idealiter de waarde onder het breekpunt, bij het breekpunt en de waarde na het breekpunt (wanneer het systeem helemaal niet reageert), maak een testbed en gegevens eromheen.
- Probeer in het geval van webapps ook een stresstest uit te voeren met een traag netwerk.
- Spring niet in een of twee rondes naar de conclusie van tests, voer dezelfde tests minstens 5 ronden uit en sluit vervolgens uw bevindingen af.
- Vind de ideale responstijd van de webserver en wat is de tijd op het breekpunt.
- Vind het app-gedrag op het breekpunt op verschillende punten van de app, zoals het simpelweg starten van de app, inloggen, een actie uitvoeren na het inloggen, enz.
Stresstests voor mobiele apps
Stresstests voor native mobiele apps verschillen een beetje van die van webapps. In native apps wordt voor de veelgebruikte schermen een stresstest gedaan door enorme data toe te voegen.
Hieronder volgen enkele verificaties die worden uitgevoerd als onderdeel van deze test voor native mobiele apps:
- De app crasht niet als er enorme hoeveelheden gegevens worden weergegeven. Net als voor een e-mailapp, ongeveer 4-5 lakhs aan ontvangen e-mailkaarten, voor winkel-apps, hetzelfde aantal itemkaarten enz.
- Scrollen is foutloos en de app blijft niet hangen tijdens het scrollen.
- De gebruiker moet de details van een kaart kunnen zien of een actie op de kaart kunnen uitvoeren vanuit de enorme lijst.
- Meerdere updates van de app naar de server sturen, zoals een item markeren als ‘Favoriet’, een item aan de winkelwagen toevoegen, enz.
- Probeer de app met enorme gegevens op een 2G-netwerk te laden, wanneer de app vastloopt of crasht, zou deze een passend bericht moeten weergeven.
- Probeer een end-to-end-scenario als er enorme gegevens zijn en een traag 2G-netwerk enz.
Het volgende zou uw strategie moeten zijn voor het testen op mobiele apps:
- Identificeer de schermen met kaarten, afbeeldingen enz., Om die schermen met enorme gegevens te targeten.
- Identificeer op dezelfde manier de functionaliteiten die het meest zullen worden gebruikt.
- Probeer tijdens het maken van het testbed medium en low-end telefoons te gebruiken.
- Probeer tegelijkertijd te testen op parallelle apparaten.
- Vermijd deze tests op emulator en simulators.
- Test niet op wifi-verbindingen, deze zijn sterk.
- Probeer ten minste één stresstest uit te voeren in het veld enz.
Verschil tussen belastingtests en stresstests
S.No. | Stress testen | Laadtesten |
---|---|---|
1 | Deze test wordt gedaan om het breekpunt van het systeem te achterhalen. | Deze test wordt uitgevoerd om de prestaties van het systeem onder een verwachte belasting te verifiëren. |
twee | Deze test wordt gedaan om erachter te komen of het systeem zich gedraagt zoals verwacht als de belasting de normale limiet overschrijdt. | Deze test wordt gedaan om de responstijd van de server voor de verwachte specifieke belasting te controleren. |
3 | Foutafhandeling wordt ook geverifieerd in deze test. | Foutafhandeling wordt niet intensief getest. |
4 | Dit controleert ook op beveiligingsbedreigingen, geheugenlekken enz. | Dergelijke tests zijn niet verplicht. |
5 | Controleert de stabiliteit van de systemen. | Controleert de betrouwbaarheid van het systeem. |
6 | Het testen gebeurt met meer dan de max. mogelijk aantal gebruikers, verzoeken etc. | Testen wordt gedaan met het maximum aantal gebruikers, verzoeken etc. |
Stresstesten versus belastingtesten
Voorbeeld testcases
De testcases die u voor uw tests maakt, zijn afhankelijk van de toepassing en de vereisten ervan. Voordat u de testcases maakt, moet u ervoor zorgen dat u de aandachtsgebieden kent, d.w.z. de functionaliteiten die de neiging hebben om te breken bij een abnormale belasting.
Hieronder volgen enkele voorbeeldtestgevallen die u in uw tests kunt opnemen:
- Controleer of er een juist foutbericht wordt weergegeven wanneer het systeem het breekpunt bereikt, d.w.z. het maximum aantal. van toegestane gebruikers of verzoeken.
- Controleer de bovenstaande testcase voor verschillende combinaties van RAM, processor en netwerk enz.
- Controleer of het systeem werkt zoals verwacht wanneer maximum aantal. van gebruikers of verzoeken worden verwerkt. Controleer ook de bovenstaande testcase voor verschillende combinaties van RAM, processor en netwerk enz.
- Controleer dat terwijl meer dan het toegestane aantal. van de gebruikers of verzoeken voert dezelfde bewerking uit (zoals het kopen van dezelfde items van een winkelwebsite of het doen van geld overmaken, enz.) en als het systeem niet meer reageert, wordt een passend foutbericht weergegeven over de gegevens (niet opgeslagen? - hangt af van de implementatie).
- Controleer of er meer zijn dan het toegestane aantal. van de gebruikers of verzoeken voert een andere bewerking uit (zoals een gebruiker logt in, een gebruiker start de app of weblink, een gebruiker selecteert een product enz.) en als het systeem niet meer reageert, wordt een passend foutbericht weergegeven over de gegevens (niet opgeslagen? - afhankelijk van de implementatie).
- Controleer of de responstijd voor breekpuntgebruikers of -verzoeken een acceptatiewaarde heeft.
- Controleer de prestaties van de app of website wanneer het netwerk erg traag is. Er moet een correct foutbericht worden weergegeven voor de ‘time-out’.
- Verifieer alle bovenstaande testgevallen voor een server waarop meer dan één applicatie draait om te controleren of de andere applicatie wordt beïnvloed enz.
Voordat u tests uitvoert, moet u ervoor zorgen dat:
welke vr-headsets werken met ps4
- Alle functionele storingen van de te testen applicatie zijn opgelost en geverifieerd.
- Het complete end-to-end systeem is klaar en de integratie is getest.
- Er worden geen nieuwe code-check-ins uitgevoerd die van invloed zijn op het testen.
- Andere teams worden geïnformeerd over uw testschema.
- Back-upsystemen worden gemaakt in het geval van enkele ernstige problemen.
5 Beste stresstestsoftware
Wanneer stresstests handmatig worden uitgevoerd, is het ook een zeer gecompliceerde en vervelende klus. Het kan ook zijn dat het u niet de verwachte resultaten oplevert.
Automatiseringstools kunnen u de verwachte resultaten opleveren en het is relatief eenvoudig om met deze tools de vereiste testopstelling te maken. Het kan gebeuren dat de tools die u gebruikt voor uw normale functionele tests niet voldoende zijn voor stresstests.
Daarom is het aan u en uw team om te beslissen of ze een aparte tool willen, exclusief voor deze tests. Het is ook gunstig voor anderen dat u de suite 's nachts runt, zodat hun werk niet wordt belemmerd. Met behulp van automatiseringstools kunt u plannen dat de suite 's nachts wordt uitgevoerd en de resultaten zijn de volgende dag voor u klaar.
Hieronder volgt een lijst met de meest aanbevolen tools:
# 1) Load Runner:
LoadRunner is een tool ontworpen door HP voor belastingtests, maar kan ook worden gebruikt voor stresstests.
Het gebruikt VuGen, d.w.z. virtuele gebruikersgenerator voor het creëren van gebruikers en verzoeken voor belasting- en stresstests. Deze tool heeft goede analyserapporten die kunnen helpen om de resultaten te tekenen in de vorm van grafieken, grafieken enz.
# 2) Neoload:
Neoload is een betaalde tool die handig is bij het testen van web- en mobiele apps.
Het kan meer dan 1000 gebruikers simuleren om de prestaties van het systeem te verifiëren en de responstijd van de server te vinden. Het integreert ook met Cloud voor zowel laad- als stresstests. Het biedt een goede schaalbaarheid en is zeer gemakkelijk te gebruiken.
# 3) JMeter:
JMeter is een open source-tool die werkt met JDK 5 en hoger. De focus van deze tool ligt vooral op het testen van webapplicaties. Het kan ook worden gebruikt voor het testen van LDAP-, FTP-, JDBC-databaseverbindingen enz.
# 4) Molen:
Grinder is een open source en op Java gebaseerde tool die wordt gebruikt voor belasting- en stresstests.
De parametrering kan dynamisch worden gedaan terwijl de tests worden uitgevoerd. Het heeft goede rapportages en beweringen om u te helpen de resultaten op een betere manier te analyseren. Het heeft een console die kan worden gebruikt als een IDE om de tests te maken en te bewerken en agenten om de belasting voor testdoeleinden te creëren.
# 5) WebLoad:
Webload tool heeft zowel een gratis als een betaalde editie. Met deze gratis editie kunnen maximaal 50 gebruikers worden aangemaakt.
Deze tool ondersteunt stresscontrole van zowel web- als mobiele apps. Het ondersteunt verschillende protocollen zoals HTTP, HTTPS, PUSH, AJAX, HTML5, SOAP enz. Het heeft een IDE, console voor het genereren van belasting, analyse-dashboard en integraties (voor integratie met Jenkins, APM-tools enz.).
Gevolgtrekking
Stresstesten zijn volledig gericht op het testen van het systeem onder extreme belastingsomstandigheden om het breekpunt te vinden en om te zien of de juiste berichten worden weergegeven wanneer het systeem niet reageert. Het benadrukt het geheugen, de processor enz. Tijdens het testen en controleert hoe goed ze herstellen.
Stresstests zijn een soort niet-functionele tests en worden meestal gedaan na de functionele tests. Als er ook belastingtests moeten worden uitgevoerd, kan deze test worden uitgevoerd als het extreme geval van belastingtests. 90% van de tijd kan dezelfde automatiseringstool worden gebruikt voor zowel belasting- als stresstests.
Ik hoop dat je een goed inzicht zou hebben gekregen in het concept van stresstesten !!
Aanbevolen literatuur
- Laadtests met HP LoadRunner-zelfstudies
- Prestatietests versus belastingtests versus stresstests (verschil)
- Load Testing Complete Guide voor beginners
- Beste softwaretesttools 2021 (QA Test Automation Tools)
- Alfatesten en bètatesten (een complete gids)
- Beginnershandleiding voor penetratietesten van webapplicaties
- Webapplicatie laden, stress en prestatie testen met behulp van WAPT
- Functioneel testen versus niet-functioneel testen