soak testing tutorial what is soak testing
In deze uitgebreide gids over soak-testen wordt uitgelegd wat soak-testen zijn, waarom we het nodig hebben, de toepassing ervan, voordelen, best practices en nadelen:
Tijdens het testen van een softwareapplicatie moeten verschillende soorten tests worden uitgevoerd. Functioneel en niet-functioneel testen zijn de twee brede categorieën waarin we de testtypen kunnen indelen.
Functioneel testen, zoals de naam zelf suggereert, heeft betrekking op het testen van de functionaliteit van de applicatie. Niet-functionele tests omvatten daarentegen alle andere tests (bruikbaarheid, prestaties, enz.), Behalve Functioneel testen.
Wat je leert:
Soak Testing - Een complete gids
In deze zelfstudie maakt u kennis met de concepten van Soak-tests, een soort prestatietests.
Zoals te zien is in de afbeelding hierboven, kunnen we zeggen dat Soak-testen een soort niet-functionele testen is.
Wat is Soak-testen
Het is een soort prestatietest om te controleren of een te testen applicatie (AUT) een continue belasting kan weerstaan gedurende een vooraf bepaald tijdsbestek. Dit is een niet-functionele test. Het wordt ook wel ‘Duurzaamheidstests’ of ‘Longevity Testing’
Als je de letterlijke naam gebruikt, dan bevat het woord ‘weken’ op zichzelf de betekenis van wat deze test beoogt te doen. Het onderwerpen van een applicatie voor een bepaalde periode aan een hoge belasting is dus waar het bij dit testen om gaat.
Je kunt je afvragen wat het verschil zou kunnen zijn als een applicatie een uur of misschien wel 20 uur wordt belast. Maar ja, het heeft wel betekenis.
Dit kan beter worden uitgelegd met een real-world scenario. Als een touw enige tijd door twee mensen aan beide uiteinden wordt getrokken, kan het de druk gewoon weerstaan, maar als hetzelfde dagenlang wordt voortgezet, kan het touw gewoon breken door toe te geven aan de druk van beide uiteinden.
beste harde schijf-reiniger voor Windows 10
(beeld bron
Zo ook met de software. Wanneer we een applicatie aan een hoge belasting onderwerpen (een paar honderd of duizenden gebruikers), kan het een uur lang prima werken. Wanneer dezelfde applicatie echter 20 uur aan de belasting wordt blootgesteld, kan deze helemaal instorten.
(beeld bron
Aanhoudend zwaar verkeer gedurende een lange duur kan verschillende problemen in de applicatie veroorzaken. Zo ontstaat de behoefte aan Soak Testing.
Bij deze test is het basisconcept om de applicatie te laden met verwachte gebruikers, maar voor een langere periode. Dit helpt bij het identificeren van de verschillende onderliggende problemen die anders onopgemerkt zouden blijven totdat het daadwerkelijke scenario zich voordoet in de live applicatie.
sql server interviewvragen voor ervaren professionals
Noodzaak om te weken
Om de behoefte te begrijpen, moeten we ons ook bewust zijn van de mogelijke problemen die een applicatie kan doormaken als deze gedurende lange tijd zwaar wordt belast.
Laten we de verschillende redenen bespreken die Soak-testen noodzakelijk maken.
# 1) Het is voornamelijk vereist om problemen op te sporen zoals onjuist geheugenbeheer, problemen met de databaseverbinding, verminderde responstijd van applicaties, enz.
Elk van deze problemen wordt hieronder uitgelegd:
- Onjuist geheugenbeheer kan problemen met zich meebrengen, zoals een geheugen dat wordt toegewezen voor gebruik maar nooit wordt vrijgegeven of wanneer bronnen meer geheugen gebruiken dan nodig is. Als dergelijke scenario's langdurig aanhouden, kan dit ertoe leiden dat het systeem onvoldoende geheugen heeft, waardoor een toepassing niet meer reageert.
- Problemen met de databaseverbinding - Een fout die optreedt tijdens het sluiten van een databaseverbinding kan er op de lange termijn toe leiden dat de toepassing helemaal crasht.
- Verslechterende responstijd van applicaties - Soms kan een applicatie om de een of andere reden minder efficiënt worden en kan de responstijd toenemen. Dit kan er na verloop van tijd toe leiden dat de applicatie niet meer reageert.
Om dergelijke situaties te voorkomen, geven we er de voorkeur aan om onze applicatie door Soak te testen. Het helpt bij het identificeren van dergelijke onderliggende problemen die anders onopgemerkt zouden blijven.
#twee) Soak Test helpt om te bepalen of onze applicatie klaar is om de belasting voor een aanhoudende periode op te nemen.
# 3) Het stelt het team in staat om corrigerende maatregelen te nemen op basis van hoe het systeem reageert op de Soak-tests.
Wanneer moet u de soaktest beginnen?
(beeld bron
Idealiter zou deze test, net als elke andere prestatietest, tijdens de productontwikkeling moeten worden uitgevoerd, samen met functionele testen. Dit wordt echter zelden gedaan. De reden is duidelijk, namelijk het beheren van de projectkosten.
De focus ligt dus vooral op functioneel testen en alle vormen van Performance testen krijgen doorgaans een achterbank en worden vlak voor de releasedatum van de applicatie opgepakt.
Over het algemeen worden Soak-tests uitgevoerd net voordat de applicatie wordt vrijgegeven aan de klant. Maar dit heeft een groot nadeel dat verband houdt met het oplossen van het probleem.
Wanneer er in een later stadium een prestatieprobleem wordt ontdekt, kan het moeilijk zijn om dit op te lossen, aangezien dit een grote codewijziging kan inhouden die misschien niet mogelijk is gezien de korte leveringsdatum van de Applicatie.
Het is dus altijd aan te raden om deze tests goed op tijd uit te voeren, zodat de geïdentificeerde problemen kunnen worden aangepakt.
Soak-teststrategie
(beeld bron
Net zoals een teststrategie wordt voorbereid voor het testen van een applicatie, wordt er vooraf een strategie opgesteld om Soak-tests uit te voeren, en dat is hard nodig.
Laten we eens kijken wat er in de voorbereiding van de Soak Testing Strategie zit.
Voordat de Soak Test wordt gestart, moet het team bepalen voor welke belasting de applicatie moet worden Soak Tested. De duur waarvoor het moet worden getest, moet ook vooraf worden bepaald. Over het algemeen wordt dit verzorgd door het ontwikkelteam.
Het testteam moet beslissen over de scenario's die ze plannen voor de Soak Test. Dit zou op zijn beurt afhangen van de inzet en vereisten van de Klant van de te testen Applicatie.
Omdat Soak-tests voornamelijk gericht zijn op het identificeren van problemen met het lekken van geheugen en bronnen, is het belangrijk om van tevoren het geheugen- en databasegebruik te kennen tegen de beschikbare gegevens.
rol van bedrijfsanalist in agile scrum
De omgevingsdetails zoals het besturingssysteem, het apparaat, enz. Waarop Soak-tests zouden worden uitgevoerd, moeten ook worden beslist.
Last but not least moet ook rekening worden gehouden met de risico's die eraan verbonden zijn. Voor dergelijke situaties moet altijd een back-upplan worden gemaakt. Als de database bijvoorbeeld crasht tijdens het testen, welke andere alternatieven zijn er dan beschikbaar, enzovoort.
Scenario's voor soak-testen
Wanneer een e-commercewebsite een online verkoop van zijn producten aankondigt, is het normaal dat de website wordt geladen tijdens de verkoopperiode die 3-5 dagen kan duren. In een dergelijke situatie moet de website Soak-getest worden om een onverwachte crash te voorkomen.
Tijdens de afsluiting van een boekjaar kan het zijn dat de website van een bank gedurende een aaneengesloten periode met een zeer hoge belasting te maken heeft. In zo'n situatie moet de website Soak-getest zijn om een onverwachte crash van de webapplicatie te voorkomen.
Wanneer een applicatie is ontworpen om een vooraf bepaalde lading te verwerken gedurende een continue vooraf bepaalde periode, dan wordt het noodzakelijk om de applicatie te testen op een lading die ten minste 2x zo groot is als de bekende laadbehandelingscapaciteit.
Bijvoorbeeld, als bekend is dat een website een belasting van 500 gebruikers gedurende een aaneengesloten periode van 15 uur aankan, dan moet de applicatie ook 15 uur lang Soak-getest worden voor 1000 gebruikers. Dit zou ons helpen om te weten of de applicatie abnormaal zou reageren als hij gedwongen werd tot tweemaal zijn laadvermogen.
Beste praktijken
(beeld bron
- Soak-tests moeten altijd worden uitgevoerd door de inactieve laadlimiet van de applicatie te kennen, zowel in termen van de gebruikers als de tijdsduur. Dit is vereist om bekend te staan omdat het doel is om de applicatie te laden met de verwachte gebruikers, maar voor een lange duur.
- Het is raadzaam om Soak-tests 's nachts uit te voeren of als er nog langere tests moeten worden uitgevoerd, dan is het raadzaam om dit in het weekend te doen. De reden ligt voor de hand, d.w.z. tijdens werkuren raken de resources vast, terwijl de testservers 's nachts of buiten de werkuren beschikbaar kunnen zijn voor langdurig gebruik. Niet-werkuren zijn dus het ideale moment voor dergelijke tests.
- Risico's die verbonden zijn aan het Soak-testen van een applicatie moeten altijd worden geanalyseerd en er moet een risicobeperkingsplan klaarstaan voor elk incident.
Beperkingen voor Soak Testing
(beeld bron
- De lange duur die nodig is om een applicatie te testen, is over het algemeen een grote beperking vanwege de onbeschikbaarheid van de tijd. Soak-testen kunnen daarom soms worden vermeden vanwege een tekort aan tijd.
- De testomgeving moet zorgvuldig worden geselecteerd, zodat elk ander type test dat op de applicatie wordt uitgevoerd, niet wordt beïnvloed. Dit kan gebeuren, omdat het langdurig testen van de applicatie op zware belasting tot problemen kan leiden.
- De tijd voor Soak-tests moet zorgvuldig worden bepaald en moet voornamelijk buiten de werkuren zijn (zoals een weekend of nacht na sluiting van het werk).
- Over het algemeen zijn automatiseringstools vereist voor Soak-tests, omdat de tests gedurende lange tijd met een groot aantal gebruikers moeten worden uitgevoerd.
Nadelen van Soak-testen
- De tijdlijnen van het project kunnen worden beïnvloed door Soak-tests, omdat de tijd die hiervoor nodig is over het algemeen hoog is.
- Bronnen staan vast tijdens de testduur, omdat er een hoog geheugengebruik is vanwege een groot aantal gebruikers dat toegang heeft tot de applicatie.
Gevolgtrekking
Door deze tutorial hebben we geleerd wat Soak-testen is en wat het nodig maakt om deze tests uit te voeren.
Nu we begrijpen wat Soak Testing is en wat voor soort problemen het helpt bij het identificeren, kunnen we heel goed de noodzaak begrijpen om hetzelfde uit te voeren. Zeker in tijden dat de hele wereld altijd verbonden is, wordt dit testen een must.
We zagen wanneer we moesten beginnen met de Soak-test, samen met de aanpak die moest worden gevolgd. Scenario's, best practices en de bijbehorende beperkingen werden hier ook besproken.
We hopen dat deze tutorial je heeft geholpen te begrijpen wat Soak-testen is en je kennis hierover moet hebben vergroot.
Aanbevolen literatuur
- Laadtests met HP LoadRunner-zelfstudies
- Tutorial over destructief testen en niet-destructief testen
- Primer eBook downloaden testen
- Correlatie - Laadtesten met LoadRunner
- Functioneel testen versus niet-functioneel testen
- Verschil tussen Desktop, Client Server Testing en Web Testing
- Laadtesten met LoadUI - een gratis en open source loadtesttool
- SOA-testtutorial: testmethodologie voor een SOA-architectuurmodel