Wat is duurzaamheidstesten bij het testen van software? (met voorbeeld)

Uithoudingsvermogen testen

Uithoudingsvermogen testen is een niet-functioneel type softwaretest waarbij software wordt getest met hoge belasting gedurende een aanzienlijke hoeveelheid tijd om het gedrag van softwareapplicaties bij langdurig gebruik te evalueren. Het belangrijkste doel van duurtests is ervoor te zorgen dat de toepassing voldoende capabel is om langdurige belasting aan te kunnen zonder enige verslechtering van de responstijd.

Dit type testen wordt uitgevoerd in de laatste fase van de prestatieruncyclus. Duurtesten zijn een lang proces en duren soms wel een jaar. Dit kan het toepassen van externe belastingen omvatten, zoals internetverkeer of gebruikersacties. Dit maakt duurtesten anders load Testen, die meestal binnen een paar uur afgelopen is.

Uithoudingsvermogen betekent capaciteit, dus met andere woorden, je kunt uithoudingsvermogenstesten capaciteitstesten noemen.

Doelen van duurtesten

  • Het primaire doel van duurtesten is het controleren op geheugenlekken.
  • Om te ontdekken hoe het systeem presteert bij langdurig gebruik.
  • Om ervoor te zorgen dat na een lange periode de responstijd van het systeem gelijk of beter blijft dan bij aanvang van de test.
  • Om het aantal gebruikers en/of transacties te bepalen dat een bepaald systeem prestatiedoelstellingen zal ondersteunen en behalen.
  • Om de toekomstige belasting te beheersen, moeten we begrijpen hoeveel extra bronnen (zoals processorcapaciteit, schijfcapaciteit, geheugengebruik of netwerkbandbreedte) nodig zijn om het gebruik in de toekomst te ondersteunen.
  • Duurzaamheidstests worden over het algemeen uitgevoerd door het systeem te overbelasten of door bepaalde systeembronnen te verminderen en de gevolgen te evalueren.
  • Het wordt uitgevoerd om ervoor te zorgen dat er geen defecten of geheugenlekken optreden na wat als een relatief “normale” gebruiksperiode wordt beschouwd.

Waar u op moet letten bij duurtesten

Uithoudingsvermogen testen

Bij duurtesten worden de volgende zaken getest.
  • Geheugenlekkage testen– Er worden controles uitgevoerd om te verifiëren of er sprake is van geheugenlekken in de applicatie, waardoor het systeem of het besturingssysteem kan crashen
  • Testverbindingssluiting tussen de laag van het systeem – Als de verbinding tussen de lagen van het systeem niet succesvol wordt gesloten, kunnen sommige of alle modules van het systeem vastlopen.
  • Test databaseverbinding succesvol afgesloten– Als de databaseverbinding niet succesvol wordt gesloten, kan dit leiden tot een systeemcrash
  • Reactietijd testen – Systeem wordt getest op de responstijd van het systeem naarmate de applicatie minder efficiënt wordt als gevolg van langdurig gebruik van het systeem.

Hoe u een duurtest uitvoert

Hieronder vindt u de basistestaanpak voor de Endurance Test
  • Testomgeving – Identificeer de hardware, software, het besturingssysteem dat nodig is voor de duurzaamheidstest, wijs rollen en verantwoordelijkheden toe binnen het team, etc. De omgeving moet gereed zijn voor de uitvoering van de test. U moet ook de algemene databaseproductiegrootte en jaarlijkse groei schatten. Dit is vereist, aangezien u moet testen hoe uw applicatie zal reageren na een jaar, twee of vijf.
  • Het maken van het testplan, scenario's – Gebaseerd op de aard van het testen – handmatig of geautomatiseerd of een combinatie van beide, Testgeval ontwerp, beoordelingen en uitvoering moeten worden gepland. Testen om het systeem te belasten, testen van breekpunten, enz. moeten ook deel uitmaken van het testplan. Testen om het systeem te belasten bepalen het breekpunt in de toepassing.
  • Testschatting – Geef een schatting van hoe lang het zal duren om de testfase te voltooien. Het moet worden geanalyseerd op basis van het aantal betrokken testers en het aantal benodigde testcycli.
  • Risico analyse - Het analyseren van het risico en het nemen van passende maatregelen ter preventie. Prioritering van testgevallen volgens de risicofactor en identificeer de onderstaande risico's en problemen die de tester tijdens de duurtest kan faseren.
  • Zullen de prestaties in de loop van de tijd consistent blijven?
  • Zijn er nog andere kleine problemen die nog niet zijn gedetecteerd?
  • Is er sprake van externe inmenging die niet is aangepakt?
  • Testschema – Bepaal het budget en de deliverables binnen de tijdsbestekken. Als Uithoudingsvermogen testen past gedurende een continue periode een enorme maar natuurlijke belasting van transacties toe op het systeem/de applicatie.

Voorbeeld van een uithoudingstest

Terwijl Stress testen brengt het geteste systeem tot het uiterste, Uithoudingsvermogen testen brengt de toepassing tot het uiterste na verloop van tijd. Bijvoorbeeld, de meest complexe problemen – geheugenlekken, database server gebruik en niet-reagerend systeem – gebeuren wanneer software gedurende een langere periode draait. Als u de duurtests overslaat, is de kans dat u dergelijke defecten vóór de implementatie ontdekt, vrij klein.

Gereedschappen voor het testen van uithoudingsvermogen

Voordelen van uithoudingstesten

  • Het helpt bij het bepalen hoe de werklast het System Under Load aankan.
  • Biedt nauwkeurige gegevens die klanten kunnen gebruiken om hun infrastructuurbehoeften te valideren of te verbeteren.
  • Identificeert prestatieproblemen die kunnen optreden nadat een systeem gedurende langere tijd op een hoog niveau heeft gedraaid
  • Typische problemen worden geïdentificeerd in kleinere gerichte prestatietests, wat betekent dat het ervoor zorgt dat de applicatie beschikbaar blijft, zelfs als er in zeer korte tijd een enorme belasting is.
  • De duurtest wordt ook gebruikt om te controleren of er sprake is van prestatieverlies na een lange periode van uitvoering

Nadelen van uithoudingstesten

  • Het is vaak moeilijk om te bepalen hoeveel stress de moeite waard is om toe te passen.
  • Duurzaamheidstesten kunnen applicatie- en/of netwerkstoringen veroorzaken die tot aanzienlijke verstoringen kunnen leiden Test omgeving zijn niet geïsoleerd.
  • Permanent gegevensverlies of corruptie kan optreden door het systeem te overbelasten.
  • Het gebruik van hulpbronnen blijft zeer hoog nadat de stress is weggenomen.
  • Sommige applicatieonderdelen reageren niet.
  • Niet-afgehandelde uitzonderingen worden door de eindgebruiker waargenomen.

Samenvatting

  • In Software EngineeringDuurtesten zijn een subset van belastingtesten.
  • Duurtesten zijn een lang proces en duren soms wel een jaar
  • Ter verificatie worden controles uitgevoerd
  • Geheugenlekkage testen
  • Reactietijd testen
  • Databaseverbinding testen, enz.