stability testing software testing
Stabiliteitstesten is een onderdeel van Performance Testing. In deze tutorial worden de doelstellingen, het belang en de noodzaak van stabiliteitstests uitgelegd met voorbeelden:
Stabiliteitstesten zijn ‘niet-functionele’ testen. Hier test het team de features en basisfunctionaliteit van de site niet; maar test de kenmerken van het softwareproduct zoals ‘robuustheid’, ‘foutafhandeling’, ‘betrouwbaarheid’ en productstabiliteit ’.
Laten we eens kijken naar iemand die een nieuw product op de markt koopt ( Bijvoorbeeld, een mobiele telefoon). De koper verwacht dat het product lange tijd gelijkmatig presteert, zonder storingen. Evenzo verwachten gebruikers van de website en mobiele app dat de bijbehorende website of mobiele apps met hoge betrouwbaarheid en stabiliteit presteren.
Neem nu het geval van gebruikers die goederen proberen te kopen via e-commerceportals. Als een groot aantal gebruikers tegelijkertijd dezelfde portal gebruikt, is de kans op prestatievermindering voor de website groot. De gebruikers kunnen ook een trage responstijd of zelfs geheugenlekkage ervaren tijdens de sessie.
Deze problemen vormen een bedreiging voor zowel ontwikkelaars als belanghebbenden. Het is de verantwoordelijkheid van het testteam om die problemen op te sporen en te rapporteren aan het ontwikkelingsteam voordat het de eindgebruikers bereikt. Dit type testen valt onder prestatietesten. Stabiliteitstests zijn een onderdeel van prestatietests.
Wat je leert:
- Overzicht van stabiliteitstests
- Gevolgtrekking
Overzicht van stabiliteitstests
Zoals eerder vermeld, wordt stabiliteitstest ook gedefinieerd als ‘niet-functioneel’ testen. Hier controleren de testteams de robuustheid, foutafhandeling, betrouwbaarheid en productstabiliteit.
Deze test wordt ook wel ‘Duurzaamheidstests’ of ‘Soak-tests’ genoemd. Het staat ook bekend als de ‘Extreme Load Testing’.
Bij dit type testen zullen testers controleren hoe de online portal reageert wanneer veel actieve gebruikers de website gelijktijdig gebruiken. Testers moeten ook de systeemrespons in een dergelijke omgeving controleren.
In veel gevallen moeten websites weken (zelfs maanden) continu draaien zonder de mogelijkheid om de server opnieuw op te starten. Actieve gebruikers voor dergelijke websites (gebruikers die de website momenteel gebruiken) kunnen enorm zijn en elke gebruiker zal een naadloze prestatie verwachten.
De rol van de testers is om de ontwikkelaars vertrouwen te geven en de eindgebruikers te verzekeren dat ze een systeem kunnen gebruiken zoals ingesprongen, zonder storingen of geheugenlekkage, zelfs bij druk verkeer. Hiervoor wordt de applicatie maximaal belast (tot het breekpunt van de applicatie) en wordt het gedrag van het systeem onder dergelijke omstandigheden gecontroleerd.
Deze tests worden meestal uitgevoerd voordat de software wordt vrijgegeven. Testers moeten ervoor zorgen dat de applicatie de verwachte belasting van de website aankan. Soms kan het systeem crashen als gevolg van een zware belasting of kan het langzaam worden of zelfs onverwacht gedrag vertonen.
Softwarestabiliteit hangt in hoge mate af van de naadloze prestaties van het systeem onder de bovengenoemde stressvolle omstandigheden. Stabiliteitstests spelen dus een zeer belangrijke rol.
Doelstellingen van stabiliteitstests
De doelstellingen worden hieronder opgesomd:
- Om de duurzaamheid van het systeem te vinden.
- Vind de stabiliteit van de applicatie en vergroot daarmee het vertrouwen van de ontwikkelaar.
- Zoek het defect in het systeem in een stressvolle omgeving.
- Algemene evaluatie en effectiviteit van het product.
- Om ervoor te zorgen dat het systeem een groot programma aankan.
- Om de reactietijd van een applicatie te testen.
- Om de database-connectiviteit te controleren.
Feiten over stabiliteitstests
Enkele nuttige feiten worden hieronder opgesomd:
- Stabiliteitstesten vereisen een geschikte testomgeving.
- Om betere resultaten te krijgen, hebben stabiliteitstests een goed geplande en gestructureerde aanpak nodig.
- Het is een tijdrovend proces. De tijd die nodig is voor het testproces kan variëren, afhankelijk van de vereisten van de klant, het type product en het bedrijfsbeleid.
- Bij deze vorm van testen is isolatie van het systeem belangrijk. Tijdens het testen van de stabiliteit van de applicatie zijn er kansen dat gegevens permanent verloren gaan of beschadigd raken.
- Duurzaamheidstests kunnen storingen van applicatiecomponenten veroorzaken, zodat eindgebruikers onverwerkte uitzonderingen kunnen waarnemen.
Verschil tussen stabiliteit en betrouwbaarheid in softwaresysteem
Er is een wezenlijk verschil tussen betrouwbaarheid en stabiliteit in een softwareapplicatie. Dit kan worden uitgelegd aan de hand van een voorbeeld.
Voorbeeld:
Stel dat een gebruiker een nieuwe app op zijn / haar mobiele telefoon heeft geïnstalleerd en deze heeft gestart. Als de geïnstalleerde applicatie crasht na elke 3 minuten gebruik, zal dit de gebruiker zeker irriteren. Maar als de gebruiker de gegevens zonder verlies zou kunnen herstellen na het opnieuw starten van de app, verliest de applicatie zijn betrouwbaarheid niet. Een dergelijke applicatie kan als betrouwbaar worden beschouwd, maar kan niet als stabiel worden beschouwd.
verkooppuntsoftware voor ipad
Neem aan de andere kant het scenario waarin de applicatiegegevens niet correct worden opgeslagen. Hier functioneert de applicatie goed en crasht hij niet (zoals elke 3 minuten). Een dergelijke applicatie kan al dan niet als betrouwbaar worden beschouwd, maar kan wel als ‘stabiel’ worden beschouwd.
Betrouwbaarheid en stabiliteit zijn als twee kanten van dezelfde medaille. Onthoud dus gewoon dat zowel betrouwbaarheid als stabiliteit belangrijk zijn voor een product vanuit een zakelijk perspectief.
Voorbeelden van stabiliteitstests:
Het is een gebruikelijke benadering dat wanneer een gebruiker een nieuwe mobiele telefoon koopt, hij / zij bewust of onbewust een stabiliteitstest uitvoert. De gebruiker zal veel afbeeldingen, foto's, video's, documenten enz. In het apparaatgeheugen opslaan en controleren of te veel opgeslagen gegevens de prestaties van het apparaat hebben beïnvloed of niet. Dit is een specifiek voorbeeld van stabiliteitstesten.
Vanwege de enorme hoeveelheid opgeslagen gegevens kan ons apparaat soms vastlopen, waarna de gebruiker enkele gegevens moet verwijderen of tijdelijke bestanden moet wissen om het apparaat de prestaties te laten herstellen. Na deze test heeft de gebruiker een duidelijk beeld van de capaciteit van het systeem.
Een ander real-time voorbeeld zijn online aankoopportalen. Tijdens een 'uitverkoop / festival'-seizoen kopen veel mensen goederen van dit soort webportals. De prestaties van een website moeten voldoen aan de verwachtingen van gebruikers.
De testers moeten de site dus testen door rekening te houden met de verwachte ‘rush’ die in die dagen op deze sites waarschijnlijk zal gebeuren.
Stabiliteitstest van een internetverbinding
Hier zal de testcase zijn om te verifiëren hoe stabiel onze internetverbinding is. Bij het tot stand brengen van een verbinding via internet en het opvragen van webpagina's, moeten gebruikers als gevolg van pakketverlies inconsistente latentie ondervinden bij het bekijken van webpagina's.
Soms treedt pakketverlies op wanneer het de bestemming niet bereikt. Het is te wijten aan pakketverlies dat velen van ons soortgelijke problemen zijn tegengekomen tijdens het gebruik van Skype-videogesprekken, het spelen van games via internet of het willekeurig verbreken van de verbinding met internet.
Vereisten voor het testen van internetconnectiviteit:
- Om de internetstabiliteit te testen, hebben we een webbrowser nodig waarin de firewall is uitgeschakeld.
- Kies een webadres ( Bijvoorbeeld, https://www.google.com/ ), wat waarschijnlijk niet zal mislukken.
- Gebruik Google Spreadsheet of Microsoft Excel om het resultaat vast te leggen, aangezien het gemakkelijk te begrijpen en beter leesbaar is voor de gebruikers.
- Controleer de internetverbinding, apparaten nogmaals en controleer de verbindingen opnieuw. We zullen dan de onderstaande tests uitvoeren.
Methoden die worden gebruikt om de internetverbinding te testen:
De beste manier om de connectiviteit te testen, is door te bezoeken Snelheidstest . (bezoek voor verder lezen de site). In SpeedTest.net hebben we een voorziening voor het kiezen van servers. Kies en voer de server uit die bij u in de buurt is.
Daarna zal de site enkele berekeningen uitvoeren op basis van een aantal vooraf gedefinieerde algoritmen en het rapport tonen dat de kwaliteit van onze internetverbinding onmiddellijk bepaalt. In het rapport is het pakketverliespercentage opgenomen. Het moet ‘0%’ zijn.
‘0%’ pakketverlies bepaalt de hoge stabiliteit van de verbinding. Elk getal groter dan ‘0’ geeft aan dat de connectiviteit onstabiel is.
De tweede manier is om de ‘cmd’ prompt te gebruiken en het commando ‘ping 'in te typen (raadpleeg de onderstaande afbeelding). Hier kunnen we met behulp van de opdrachtprompt de stabiliteit en de latentie van internet ook in realtime testen.
Controleer in de figuur het gedeelte ‘Statistieken pingen’.
Hier,
Aantal verzonden pakketten = 4
Aantal ontvangen pakketten = 4
Aantal verloren pakketten = 0
Het resultaat laat zien dat de verbinding zeer stabiel is.
Proces gebruikt:
Stap 1: Testers zullen een van de twee hierboven beschreven methoden kiezen.
Stap 2: Testers voeren het proces uit en registreren de benodigde informatie die wordt verkregen als reactie op internetconnectiviteit, in een spreadsheet.
Stap 3: Ze herhalen het proces drie of vier keer per week.
(Aangezien stabiliteitstests gedurende een bepaalde periode worden uitgevoerd, zullen testers het proces minstens meer dan twee keer per week moeten plannen.)
Stap 4: De resultaten worden vastgelegd in spreadsheets.
Testers moeten de datum noteren waarop het proces wordt uitgevoerd. Vergelijk het resultaat dat op elke datum is verkregen om een idee te krijgen van de stabiliteit van ons huidige netwerk.
Notitie: Breekpunt is de toestand van het systeem waarbij het systeem zal instorten wanneer er een verdere belasting aan wordt gegeven. Het definieert de capaciteit van het systeem.
Het specificatiedocument is een document dat door de teamleider aan de testers wordt gegeven en bevat details over de verwachte belasting in het systeem. Bij stabiliteitstests zullen de testers het systeembreekpunt controleren op basis van de richtlijnen die aan hen in het specificatiedocument zijn verstrekt.
Het testteam zal het systeem controleren door de applicatie te testen met de belasting boven / onder het breekpunt gespecificeerd in het specificatiedocument. Dit is anders dan bij Load Testing.
hoe u een apk-bestand opent
Bij stabiliteitstests gebruiken we alleen de verwachte belasting voor het testen, maar bij belastingtests wordt een onverwachte belasting aan de applicatie gegeven en controleren testers de capaciteit van de applicatie.
Levenscyclus van softwaretests op basis van stabiliteitstests
De verschillende fasen van de Levenscyclus van software testen worden hieronder ingeschreven:
- Vereiste analyse
- Testplan
- Test Case Ontwikkeling
- Testomgeving instellen
- Testcase-uitvoering
- Test sluiting
Laten we alle bovenstaande fasen in detail begrijpen.
# 1) Vereiste analyse
In deze fase bepaalt het testteam de verschillende soorten testen die in de applicatie worden uitgevoerd. Het hangt puur af van de wensen van de klant en het type applicatie. Bijvoorbeeld, de testers een banktoepassing testen, dan is de test met de hoogste prioriteit, in dit geval, beveiligingstests. Als de testers een vastgoedtoepassing testen, geven ze prioriteit aan functioneel testen.
# 2) Testplanning
In deze fase worden testgebieden besproken. Testers zullen de noodzaak van automatisering bespreken. Voor stabiliteitstests zijn de testprocessen vervelend en moeten ze gedurende een bepaalde tijd vele malen worden herhaald. Automatisering is dan een goede keuze. ‘LoadStrom’ is een goede tool om stabiliteitstests uit te voeren met behulp van automatisering.
In deze fase bespreken we met de opdrachtgever het budget en de tijdslimiet voor het testen. Omdat het testen tijdrovend is, moeten het budget en de tijdslimiet voldoen aan het testplan.
# 3) Ontwikkeling van testcases
Testcase voor het testen van de applicatie wordt in deze fase gemaakt.
# 4) Testomgeving
De testomgeving is een essentiële factor voor het testen van stabiliteit. We hebben een goede testomgeving nodig die de replica is van onze productieomgeving. De oorspronkelijke omgeving mag niet worden gebruikt omdat tijdens het testen de site soms kan crashen of zelfs gegevens kan verliezen.
# 5) Testuitvoering
In deze fase worden testcases uitgevoerd en worden de testresultaten geverifieerd. Dit is een tijdrovende fase. De algemene problemen waarmee testers in deze fase worden geconfronteerd, zijn geheugenlekkage, problemen met dataconnectiviteit, trage responstijd, enz.
# 6) Testafsluiting
In deze fase komen alle teamleden bij elkaar en bespreken ze de exitcriteria die in het project worden gehanteerd. De exitcriteria zijn afhankelijk van factoren zoals het aantal gevonden defecten en de tijd die wordt besteed aan het testen.
Hulpmiddelen die worden gebruikt bij het testen van stabiliteit
De volgende tools worden gebruikt:
- LoadRunner
- OpenSTA
- LoadUI
- WebLOAD
- LoadComplete
- Appvance
- LoadUI
- Rationele prestatietester
Hoe Apache JMeter te gebruiken voor duurtesten?
Apache JMeter is een goed hulpmiddel voor duurtesten. Voordat testers beginnen met testen, moeten ze een goede kennis hebben van de bedrijfsdoelstellingen. Daarna zullen testers testscripts maken. Vervolgens configureren we de threadgroepinstellingen in JMeter.
Bij het uitvoeren van duurtests met JMeter, moeten we de volgende factoren specificeren:
- Het aantal threads: Dit geeft het verwachte aantal gebruikers op de site aan.
- Aanloopperiode: Dit geeft de tijd aan die elke thread nodig heeft om te voltooien. Als we 5 threads hebben, is de aanloopperiode 50 seconden.
- Loop-telling: Dit geeft het aantal keren aan dat het proces wordt herhaald. Voor duurtests is het ingesteld op voor altijd.
- Planner: Bij deze test gebruiken we de planner-functionaliteit. We moeten de configuratie van de planner specificeren volgens de vereisten.
Gevolgtrekking
Veel applicaties zijn onjuist ontworpen en geven het apparaatgeheugen na gebruik niet vrij. Dit zal geleidelijk leiden tot geheugenverlies. We kunnen het probleem oplossen met stabiliteitstests. Stabiliteitstesten zijn dus erg belangrijk. Het is niet-functioneel testen. Het betreft alleen het kenmerk van de applicatie. Bij testen gaat het hier niet om het gedrag van het systeem.
beste registry cleaner voor windows 7
Ik hoop dat je het belang en de noodzaak van stabiliteitstests hebt begrepen.
Aanbevolen literatuur
- Software testen QA Assistant Job
- Software Testing-cursus: bij welk Software Testing Institute moet ik meedoen?
- Softwaretest Schrijver van technische inhoud Freelancer-baan
- Softwaretests kiezen als uw carrière
- Softwaretestadvies voor beginnende testers
- Feedback en recensies over softwaretestcursussen
- Hoe houd je motivatie levend in softwaretesters?
- Wat is Monkey Testing in Software Testing?