PRESTATIETESTEN: wat is het en hoe werkt het?

Performance Testing
Eenvoudig leren

Prestatietesten, algemeen bekend als 'Perf Testing', is een type test dat wordt gebruikt om te bepalen hoe software of applicaties presteren onder stress in termen van reactievermogen en stabiliteit. Het doel van een Performance Test is het ontdekken en elimineren van prestatieknelpunten in een applicatie. In deze zelfstudiereeks behandelen we volledige details, zoals onder andere: soorten prestatietests, hoe het werkt, de processen en tools. Laten we ter zake komen.

Wat is prestatietesten?

Prestatietesten is een type test dat de snelheid, het reactievermogen en de stabiliteit van een computer, netwerk, softwaretoepassing of apparaat onder belasting beoordeelt. Organisaties zullen prestatietesten uitvoeren om prestatieknelpunten te ontdekken.

Het doel van prestatietesten is het opsporen en elimineren van prestatieknelpunten in softwaretoepassingen, en helpt zo bij het waarborgen van de softwarekwaliteit. Trage reactietijden en ongelijke ervaringen tussen gebruikers en het besturingssysteem (OS) kunnen de systeemprestaties schaden als er geen prestatietests plaatsvinden.

Lees ook: GEBRUIKERS TESTEN: Betekenis, recensie, apps en gids

Als gevolg hiervan lijdt de hele gebruikerservaring (UX). Prestatietests bepalen of een geproduceerd systeem onder belasting voldoet aan de criteria voor snelheid, reactievermogen en stabiliteit, wat resulteert in een positievere gebruikerservaring. Nadat functionele testen zijn uitgevoerd, moeten prestatietesten worden uitgevoerd.

Ontwikkelaars kunnen prestatietests schrijven en ze kunnen ook worden opgenomen in codebeoordelingsprocessen. Scenario's voor prestatietestcases kunnen worden verplaatst tussen omgevingen, zoals tussen ontwikkelingsteams die testen in een live omgeving en omgevingen die worden bewaakt door operationele teams. Prestatietesten kunnen ook kwantitatieve tests omvatten die in een laboratorium of in een productieomgeving worden uitgevoerd.

Prestatietesten moeten vereisten identificeren en testen. Verwerkingssnelheid, gegevensoverdrachtsnelheden, netwerkbandbreedte en -doorvoer, werklastefficiëntie en betrouwbaarheid zijn voorbeelden van typische criteria.

Soorten prestatietests

Om te beginnen is het van cruciaal belang om te begrijpen hoe de software werkt op de systemen van zijn gebruikers. Tijdens het testen van software kunnen verschillende soorten prestatietests worden gebruikt. Ze zijn als volgt:

#1. Belasting testen

Load testing beoordeelt de systeemprestaties naarmate de werklast toeneemt. Deze last kan bestaan ​​uit meerdere gelijktijdige gebruikers of transacties. Naarmate de werkdruk toeneemt, wordt het systeem gecontroleerd om de responstijd en de uithoudingsvermogen van het systeem te bepalen. Deze werkdruk valt binnen de grenzen van de normale arbeidsomstandigheden.

#2. Stress testen

Stresstesten, ook wel vermoeidheidstesten genoemd, zijn bedoeld om de systeemprestaties te meten buiten de beperkingen van normale bedrijfsomstandigheden, in tegenstelling tot belastingtesten. Meer gebruikers of transacties kunnen door de software worden beheerd. Het doel van stresstesten is het bepalen van de stabiliteit van de software. Wanneer faalt software en hoe herstelt het van die storing?

#3. Spike-testen

Spike-testen is een soort stresstest die softwareprestaties onderzoekt terwijl de werklast snel en herhaaldelijk wordt verhoogd. Gedurende korte perioden overtreft de werkdruk de normale verwachtingen.

#4. Uithoudingsvermogen testen

Duurtesten, ook wel bekend als soak-testen, evalueren hoe de software werkt met een typische werklast gedurende een lange periode. Het doel van duurtesten is het zoeken naar systeemproblemen zoals geheugenlekken. (Een geheugenlek treedt op wanneer een systeem het verbruikte geheugen niet correct verwijdert. Geheugenlekken kunnen de systeemprestaties verminderen of ervoor zorgen dat het systeem niet meer goed werkt.)

#5. Schaalbaarheid testen

Schaalbaarheidstests worden uitgevoerd om te verifiëren of de software de toenemende werklast adequaat aankan. Dit kan worden bepaald door de gebruikersbelasting of het datavolume progressief te verhogen terwijl de systeemprestaties worden gecontroleerd. Bovendien kan de werklast constant blijven terwijl bronnen zoals CPU's en geheugen worden aangepast.

#6. Volume testen

Volumetesten bepalen hoe goed software functioneert met enorme hoeveelheden voorspelde gegevens. Omdat de test het systeem overspoelt met gegevens, wordt het ook wel overstromingstest genoemd.

Prestatietesten uitvoeren

De specifieke fasen van prestatietesten zullen verschillen, afhankelijk van het bedrijf en de toepassing. Het hangt ervan af welke prestatiestatistieken het belangrijkst zijn voor het bedrijf. Desalniettemin zijn de belangrijkste doelen van prestatietesten grotendeels hetzelfde over de hele linie, daarom zullen de meeste teststrategieën een vergelijkbare aanpak volgen.

#1. Bepaal de testomgeving en tools

Bepaal uw productieomgeving, testomgeving en testtools. Documenteer de hardware, software, infrastructuurspecificaties en instellingen in zowel test- als productieomgevingen om de samenhang te behouden. Sommige prestatietests kunnen plaatsvinden in de productieomgeving, maar er moeten strikte beveiligingen zijn om te voorkomen dat de tests de productieactiviteiten beïnvloeden.

#2. Stel acceptabele prestatiecriteria vast

Bepaal de limieten, doelstellingen en drempels die het succes van de test aangeven. Hoewel de kerncriteria rechtstreeks uit de projectspecificaties worden gehaald, moeten testers voldoende bevoegd zijn om een ​​bredere reeks tests en benchmarks te ontwerpen.

#3. Plan en maak tests

Overweeg hoe breed het gebruik waarschijnlijk zal variëren en stel vervolgens testscenario's op die alle mogelijke gebruikssituaties dekken. Maak de juiste tests en leg uit welke statistieken moeten worden verzameld.

#4. Stel de testomgeving en tools in

Stel de testomgeving in voordat u de prestatietests uitvoert. Zet uw testapparatuur klaar.

#5. Voer de prestatietesten uit

Voer de examens uit. Leg de resultaten vast en volg ze.

#6. Bepaal en test opnieuw

Testresultaten moeten worden geconsolideerd en geanalyseerd. Breng het projectteam op de hoogte van je resultaten. Verfijn de toepassing door de geïdentificeerde prestatieproblemen aan te pakken. Herhaal de test om ervoor te zorgen dat elk probleem definitief is uitgeroeid.

Testen van cloudprestaties

Ontwikkelaars kunnen ook prestatietests in de cloud uitvoeren. Met het testen van cloudprestaties kunt u apps op grotere schaal testen terwijl u nog steeds profiteert van de economische voordelen van het werken in de cloud.

Aanvankelijk geloofden bedrijven dat het proces eenvoudiger en schaalbaarder zou worden door prestatietests naar de cloud te verplaatsen. Ze redeneerden dat ze het proces konden uitbesteden aan de cloud, wat al hun problemen zou oplossen. Toen bedrijven hiermee begonnen, ontdekten ze echter dat er nog steeds uitdagingen waren bij het uitvoeren van prestatietests in de cloud, omdat het bedrijf geen diepgaande expertise had aan de kant van de cloudprovider.

Een van de moeilijkheden bij het migreren van een applicatie van on-premises naar de cloud is zelfgenoegzaamheid. Ontwikkelaars en IT-medewerkers mogen verwachten dat de applicatie in de cloud blijft functioneren. Ze kunnen besluiten af ​​te zien van testen en kwaliteitsborging ten gunste van een snelle lancering. Omdat de toepassing wordt getest op de hardware van een andere leverancier, is het testen mogelijk minder nauwkeurig dan testen op locatie.

Ontwikkelings- en operationele teams moeten op zoek gaan naar beveiligingsfouten, belastingstests uitvoeren, schaalbaarheid evalueren, gebruikerservaring overwegen en servers, poorten en paden in kaart brengen. Communicatie tussen applicaties kan een van de meest uitdagende aspecten zijn bij het migreren van een programma naar de cloud. Interne communicatie in cloudsystemen is vaak onderhevig aan strengere beveiligingsbeperkingen dan in lokale omgevingen. Voordat een bedrijf naar de cloud migreert, moet het een gedetailleerde kaart maken van de servers, poorten en communicatiepaden die de applicatie gebruikt. Het monitoren van de prestaties kan ook nuttig zijn.

Meest voorkomende problemen waargenomen bij prestatietesten

Tijdens het testen van softwareprestaties controleren ingenieurs op prestatiesymptomen en problemen. Problemen met snelheid, zoals trage antwoorden en langere laadtijden, worden regelmatig gemeld en verholpen. Andere prestatieproblemen kunnen worden gezien:

  • Knelpunten — Knelpunten treden op wanneer de gegevensstroom wordt onderbroken of stopgezet vanwege een gebrek aan capaciteit om de taak te beheren.
  • slechte schaalbaarheid – Wanneer de software niet in staat is om het benodigde aantal gelijktijdige processen te beheren, kunnen de resultaten worden vertraagd, kunnen er meer fouten optreden of kan er ander onverwacht gedrag optreden dat van invloed is op schijfverbruik, CPU-gebruik, geheugenlekken, limieten van het besturingssysteem en slechte netwerkconfiguratie.
  • Problemen met softwareconfiguratie – Vaak zijn de instellingen niet voldoende aangepast om aan de vraag te voldoen.
  • Onvoldoende hardwarebronnen - Prestatietests kunnen fysieke geheugenlimieten of CPU's die slecht presteren aan het licht brengen.

Tools voor het testen van prestaties

Afhankelijk van de doelstellingen en voorkeuren kan een IT-team een ​​reeks prestatietesttechnologieën gebruiken. Hieronder volgen enkele voorbeelden van hulpprogramma's voor het testen van prestaties:

#1. Akamai CloudTest

Dit wordt gebruikt voor de prestaties van mobiele en webapplicaties en functionele tests. Voor belastingstests kan het ook miljoenen gelijktijdige gebruikers simuleren. Aanpasbare dashboards; stresstesten op AWS, Microsoft Azure en andere clouds; een visuele afspeeleditor; en visuele testgeneratie behoren tot zijn mogelijkheden.

#2. BlazeMeter

Perforce Software heeft deze software aangeschaft, die diverse testsituaties simuleert en belasting- en prestatietesten uitvoert. Het ondersteunt realtime rapportage en kan worden geïntegreerd met open-sourcetools, interfaces voor applicatieprogrammering en andere technologieën. Continu testen voor mobiele en mainframe-apps, evenals realtime rapportage en analyse, zijn allemaal inbegrepen in deze testoplossing.

#3. JMeter

Load-tests op web- en applicatieservices kunnen worden gegenereerd door een Apache-tool voor het testen van prestaties. JMeter-plug-ins bieden load-testmogelijkheden door onderwerpen als grafieken, threadgroepen, timers, functies en logische controllers te behandelen. JMeter bevat een geïntegreerde ontwikkelomgeving voor het vastleggen van testresultaten voor browsers of webapplicaties, evenals een opdrachtregelmodus voor het testen van Java-gebaseerde besturingssystemen.

#4. LoadRunner

Micro Focus ontwikkelde een tool die de prestaties van apps onder belasting test en meet. LoadRunner is in staat duizenden eindgebruikers te simuleren en belastingtesten vast te leggen en te analyseren. De software genereert berichten tussen applicatiecomponenten en eindgebruikersactiviteiten als onderdeel van de simulatie, analoog aan toetsklikken of muisbewegingen. LoadRunner komt ook in voor de cloud geoptimaliseerde varianten.

#5. LaadStorm

CustomerCentrix creëerde een schaalbaar, cloudgebaseerd testplatform voor online en mobiele applicaties. Het is geschikt voor toepassingen met veel dagelijks verkeer en simuleert een groot aantal virtuele gebruikers om real-time belastingtests uit te voeren. Schaalbaarheidscontroles op web- en mobiele applicaties, evenals rapportage voor prestatiestatistieken onder belastingstests, zijn belangrijke aspecten.

#6. NeoLoad

De belasting- en stresstests van Neotys voor web- en mobiele applicaties zijn speciaal ontwikkeld om apps te testen voorafgaand aan de release voor DevOps en continuous delivery. De tool kan door een IT-team worden gebruikt om web-, database- en applicatieservers te bewaken. NeoLoad kan miljoenen gebruikers simuleren en tests uitvoeren op locatie of in de cloud.

Wat is het verschil tussen prestatietesten en prestatietechniek?

Prestatietesten en prestatie-engineering zijn twee verschillende maar verwante termen. Prestatietesten is een onderdeel van Performance Engineering dat zich voornamelijk bezighoudt met het bepalen van de huidige prestaties van een toepassing onder verschillende belastingen.

Om te voldoen aan de behoeften van snelle levering van applicaties, hebben moderne softwareteams een meer ontwikkelde strategie nodig die end-to-end, geïntegreerde prestatie-engineering omvat naast traditionele prestatietests. Het testen en afstemmen van software om een ​​bepaald prestatiedoel te bereiken, staat bekend als performance engineering. Performance engineering vindt veel eerder in het softwareontwikkelingsproces plaats en heeft tot doel prestatieproblemen vanaf het begin te voorkomen.

Wat zijn de verschillende soorten prestatietests?

Er zijn vijf hoofdvormen van prestatietesten:

  • Capaciteit testen.
  • Belasting testen.
  • Volume testen.
  • Stress testen.
  • Soak-testen.

Wat is prestatietestcyclus?

De Performance Testing Life Cycle is een methodische benadering van het niet-functioneel testen van een softwaresysteem of applicatie. De meeste softwarebedrijven gebruiken deze techniek om prestatietestactiviteiten te plannen en prestatieknelpunten in softwaresystemen te identificeren.

Welke factor is van invloed op prestatietesten?

De volgende elementen zijn van invloed op prestatietesten:

  • Doorvoer 
  • Reactietijd
  • Wachttijd
  • Stemming
  • Benchmarking
  • Capaciteitsplanning 

Hoe worden prestatietests uitgevoerd?

Prestatietesten kunnen kwantitatieve tests omvatten die worden uitgevoerd in een laboratorium of in een productieomgeving. Prestatietesten moeten vereisten identificeren en testen. Verwerkingssnelheid, gegevensoverdrachtsnelheden, netwerkbandbreedte en -doorvoer, werklastefficiëntie en betrouwbaarheid zijn voorbeelden van typische criteria.

Wat is het doel van prestatietesten?

De praktijk van het onderzoeken hoe een systeem presteert in termen van reactievermogen en stabiliteit onder een specifieke werklast, staat bekend als prestatietesten. Doorgaans worden prestatietests uitgevoerd om snelheid, veerkracht, betrouwbaarheid en toepassingsgrootte te evalueren. Het doel van prestatietesten is het opsporen en elimineren van prestatieknelpunten in softwaretoepassingen, en helpt zo bij het waarborgen van de softwarekwaliteit.

Hoe voer je een prestatietest uit?

Prestatietesten uitvoeren omvat de volgende stappen:

  • Identificeer de testomgeving en tools
  • Definieer acceptabele prestatiecriteria
  • Plan en ontwerp tests
  • Testomgeving en tools voorbereiden
  • Voer de prestatietests uit.
  • Oplossen en opnieuw testen.

Conclusie

Prestatietesten is een soort softwaretest die zich richt op hoe een systeem presteert onder een specifieke belasting. Ik ben ervan overtuigd dat deze les je een schat aan informatie heeft gegeven over prestatietesten en hoe je een succesvolle prestatietest kunt uitvoeren met behulp van onze beproefde strategie die hierboven is beschreven.

Referenties

Laat een reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd *

Dit vind je misschien ook leuk