Prestatietesten besparen bedrijven miljoenen dollars. Volgens een rapport van Dun & Bradstreet heeft 59% van de Fortune 500-bedrijven elke week minimaal 1,6 uur uitvaltijd. Laten we snel even rekenen. Gemiddeld heeft een Fortune 500-bedrijf 52.810 werknemers in dienst. Als elke werknemer slechts $10 per uur zou verdienen, zou dit een bedrijf $528.100 per week aan verloren productiviteit kosten – oftewel $27.461.200 per jaar.
Dat is veel geld dat gewoon...verdwijnt.

Het is in ieders belang dat prestatietesten van software grondig worden uitgevoerd. Laten we het belang van prestatietesten, verschillende typen, veelvoorkomende problemen en waardevolle hulpmiddelen bekijken.
Wat zijn prestatietesten?
Met prestatietesten wordt gecontroleerd of software onder de verwachte werklast op een hoog niveau kan functioneren. Ontwikkelaars willen voorkomen dat ze software maken die responsief en snel is wanneer slechts één gebruiker verbonden is, maar traag wordt wanneer er meerdere gebruikers mee werken.
QA-testen richten zich niet alleen op bugs. Ook de snelheid, reactiesnelheid en het resourcegebruik van de software zijn belangrijke aandachtspunten. Prestatietesten zijn gericht op het identificeren en verhelpen van prestatieknelpunten. Knelpunten worden geïdentificeerd door gebruikersverkeer te simuleren. Idealiter willen QA-testers prestatietesten uitvoeren onder omstandigheden uit de echte wereld. Dit is een van de eerste reizen van de software uit de veilige haven van ideale omstandigheden naar de onzekere wereld van de eindgebruikerservaring.
Waarom zou ik prestaties testen?
Het biedt belanghebbenden concrete informatie over de snelheid, stabiliteit en schaalbaarheid van de software. Zonder prestatietesten loopt de software bij de release het risico problemen te ondervinden met snelheid en betrouwbaarheid.
We hebben al genoemd hoeveel productiviteit het kost wanneer een systeem crasht. In veel gevallen is dat op zichzelf al voldoende reden. Hoewel niet alle software intern wordt gebruikt, wordt deze geleverd en verkocht aan klanten. In dat scenario worden prestatietesten nog belangrijker, want het laatste wat je wilt is een grote groep klanten die ontevreden is over de kwaliteit van je product.
Tijdens de ontwikkelingsfase geven prestatietesten een duidelijker beeld van wat er moet worden verbeterd op het gebied van snelheid, stabiliteit en resourcegebruik. Zonder deze testen kan de software worden uitgebracht met verschillende ernstige fouten, zoals een trage uitvoering bij meerdere gebruikers, crashes door overbelasting door gebruikers en een inconsistente gebruikerservaring op verschillende besturingssystemen en browsers.
Testen op bugs geeft geen duidelijk beeld van hoe de software onder belasting zal presteren. Het is belangrijk dat prestatietesten onafhankelijk worden uitgevoerd, met als enige doel het vinden van knelpunten. Goede prestatietesters weten dat snelheid niet de enige maatstaf voor prestaties is. Een applicatie die snel laadt maar 100% van de CPU van de gebruiker gebruikt, levert bijvoorbeeld geen goede prestaties. Een dergelijk voorbeeld zou de eindgebruiker veel problemen bezorgen, zoals oververhitting, een kortere levensduur van de CPU, tragere prestaties in meerdere applicaties en incidentele crashes.
Hoe voer je prestatesten uit
Hoe je prestatesten uitvoert, verschilt per software. Een QA-tester kan verschillende benaderingen kiezen. Het is een vorm van niet-functioneel testen, wat betekent dat er grotendeels geen aandacht is voor de gebruikersinterface.
Prestatietesters willen ervoor zorgen dat de interne componenten zo goed mogelijk zijn afgesteld. Ze zijn de pitcrew tijdens een F1-race.

Het type test dat wordt uitgevoerd, hangt af van de methodologie die de organisatie gebruikt. Als ze de traditionele watervalaanpak voor softwareontwikkeling volgen, krijgen de prestatietesters waarschijnlijk pas toegang tot het product nadat de ontwikkeling is afgerond. Als de organisatie echter de agile-methodologie gebruikt, zullen agile prestatietesten waarschijnlijk gedurende het hele ontwikkelingsproces plaatsvinden.
Typen prestatesten
Voor sommige zijn handmatige testen nodig en voor andere geautomatiseerde testen. Door de snelle toename van geautomatiseerde testen en de ontwikkeling van steeds effectievere en betrouwbaardere hulpmiddelen is er in deze situaties een duidelijke voorkeur voor geautomatiseerde testen, omdat hiervoor veel virtuele gebruikers nodig zijn om de software te laten draaien alsof ze echte eindgebruikers zijn. Dit is handmatig moeilijk te repliceren, omdat er veel meer testers voor nodig zouden zijn dan het team waarschijnlijk in dienst heeft.
Dat een groot deel van de prestatesten door machines wordt afgehandeld, betekent niet dat er geen belangrijke verschillen bestaan tussen de typen testen. Een QA-tester moet de verschillende typen prestatesten begrijpen, zodat die weet welk hulpmiddel het meest geschikt is voor de taak.
Laten we de verschillende typen prestatesten en het doel van elk type test nader bekijken.
Capaciteitstesten
Test hoeveel gebruikers het systeem aankan voordat de prestaties onder aanvaardbare niveaus dalen. Door de capaciteit van software te testen, kunnen ontwikkelaars problemen op het gebied van schaalbaarheid en toekomstige groei van het gebruikersbestand voorzien.
Belastingstesten
Bevestigt dat het systeem het vereiste aantal gebruikers aankan en toch op een hoog prestatieniveau blijft werken. Hulpmiddelen voor belastingstests zorgen ervoor dat er geen dagelijkse prestatieproblemen zijn.
Volumetests
Controleert of de software tegelijkertijd een grote hoeveelheid gegevens kan verwerken zonder vast te lopen, trager te worden of informatie te verliezen.
Stresstests
Probeert de software opzettelijk te laten vastlopen door een aantal gebruikers te simuleren dat de verwachtingen aanzienlijk overschrijdt. De lanceringsdag van een nieuwe iPhone en de plotselinge piek in gebruikersverkeer op de website van Apple zijn uitstekende voorbeelden van een stresstest in de praktijk.
Duurtests
Simuleert gedurende langere tijd veel verkeer. Controleert of de software langere perioden van veel verkeer kan verdragen.
4 veelvoorkomende prestatieproblemen
Prestatietesters komen tijdens het testen doorgaans ten minste een van deze vier problemen tegen.
- Lange laadtijd – Niemand kijkt graag 30-60 seconden naar zijn scherm terwijl een toepassing wordt geladen. Dat is saai, vooral als het een app is die je meerdere keren per dag opent. Afgezien van enkele zeer omvangrijke softwareprogramma's zouden de meeste toepassingen, webpagina's en software binnen enkele seconden moeten kunnen openen. Belastingstests brengen doorgaans software aan het licht die moeite heeft om binnen een acceptabel tijdsbestek te openen.
- Lange responstijd – Vergelijkbaar met het probleem van lange laadtijden. Het is net zo frustrerend wanneer het navigeren tussen menu's of het invoeren van gegevens, nadat de app eindelijk is geopend, ook 30-60 seconden duurt. Denk aan de apps die je dagelijks gebruikt – bij hoeveel daarvan moet je wachten tot een pagina is geladen? Waarschijnlijk niet bij veel. Door lange laadtijden verliezen mensen hun interesse.
- Slechte schaalbaarheid – Dit wordt informeel het ‘slashdot-effect’ of de ‘internetdoodskus’ genoemd. Heb je ooit gehoord van een interessante website die iemand met je deelde op Facebook, en laadde de pagina niet toen je op de link klikte? Dat komt doordat jij en een miljoen anderen de leuke kleine website wilden bekijken, terwijl de infrastructuur niet was berekend op een plotselinge toestroom van gebruikers. Een grafiek van het websiteverkeer zou er ongeveer zo uitzien:

4. Knelpunten – Knelpunten ontstaan wanneer een systeem zijn verwerkingscapaciteit slecht toewijst. Als je software vereist dat de CPU van gebruikers voor 100% wordt belast, blijft er geen geheugen over voor het uitvoeren van aanvullende taken. Dat is slecht en leidt vaak tot oververhitting en een aanzienlijke prestatiedaling. Knelpunten kunnen op verschillende plaatsen ontstaan. Enkele van de meest voorkomende zijn:
- CPU
- Geheugen
- GPU
- Schijfgebruik
Beste hulpmiddelen voor prestatietests
Welk hulpmiddel voor prestatietests geschikt is voor jou, hangt af van je project en doelstellingen. Sommige, zoals Jmeter, zijn zeer geschikt voor het uitvoeren van belasting- en stresstests. Het hangt ook af van je budget. Kleinere bedrijven kunnen kiezen voor een van de vele hoogwaardige, gratis en opensourcehulpmiddelen voor prestatietests om kosten te besparen.
Opensourcehulpmiddelen voor prestatietests
Een van de best beoordeelde opensourcetools voor tests is Jmeter. Het is een vertrouwde optie voor kleine bedrijven die effectieve tests willen uitvoeren. Met prestatietests in Jmeter wordt de serverprestatie onder belasting zorgvuldig geanalyseerd. Je kunt er belastings- en stresstests mee uitvoeren om te controleren of je software het normale en maximale verwachte aantal gebruikers aankan.
Wanneer de prestatietests zijn voltooid, kun je met Jmeter de testresultaten op verschillende eenvoudig te begrijpen manieren bekijken. Een optie is om je resultaten in grafiekvorm weer te geven. Zo zien Jmeter-grafieken eruit:

Bij het lezen van de grafiek is de belangrijkste parameter de doorvoer (groene lijn), die het aantal verzoeken toont dat tijdens de test is verzonden. Hoe hoger het aantal, hoe beter. De grafiek laat zien hoeveel verzoeken je software per minuut aankan. In dit voorbeeld zijn dat 8,003 verzoeken per minuut.
Andere tophulpmiddelen:
Er kleven enkele nadelen aan opensource-prestatietests. Een daarvan is dat alle gesimuleerde gebruikers op bedrijfsservers draaien. Dit betekent dat de tests worden uitgevoerd onder ideale prestatieomstandigheden in plaats van onder omstandigheden uit de praktijk. Voor kleine bedrijven die geen aanzienlijke belasting verwachten, kan dit prima aan hun behoeften voldoen. Naarmate het bedrijf groeit, kan het echter gaan overwegen een premiumtool voor prestatietests aan te schaffen.
Hier volgt een korte lijst met enkele premiumtools voor prestatietests:
Prestatietests zijn over het algemeen vergelijkbaar op verschillende besturingssystemen. Veel van de prestatietesttools voor Mac werken ook op Windows.
Tot slot
Prestatietests zijn een onmisbaar onderdeel om de betrouwbaarheid en efficiëntie van software te waarborgen, vooral voor SaaS-bedrijven die een snelle groei doormaken. Door gebruik te maken van toptools krijgen QA-leads waardevolle inzichten in de schaalbaarheid, belastbaarheid en het vermogen van hun systemen om veel verkeer te verwerken. Schrijf je in voor onze nieuwsbrief voor meer inzichten van professionals op het gebied van kwaliteitsborging!
