Performance testen meten snelheid en robuustheid

Performance testen worden ingezet om te zien hoe een applicatie, website of systeem zich op bepaalde momenten gedraagt. Ivo vertelt: “Een goed voorbeeld is een website die concertkaartjes verkoopt. Op het moment van de verkoop is er een enorme toestroom aan websitebezoekers die een kaartje willen bemachtigen. Na een kwartier zijn alle bezoekers weer verdwenen. Je wil weten of de site blijft draaien als er veel publiek, oftewel load, op afkomt. En je wil weten hoe de code zich houdt op dat piekmoment. Met een performance test kun je de snelheid, betrouwbaarheid, stabiliteit en robuustheid meten. Zo kan het ook voorkomen dat een applicatie na een bepaalde tijd niet meer functioneert. Met een soak test van 24 of 48 uur ontdek je problemen die je na één uur testen niet kunt zien.”

Testen in de keten

Ivo vervolgt: “Het voordeel van een performance test is dat je rap doorhebt waar de kwetsbaarste punten zitten in een keten. Je ontdekt snel waar je rekening mee moet houden. Denk bijvoorbeeld aan de applicatieserver of de database. Een voorwaarde hierbij is wel dat je goede monitoring in de keten moet hebben. Dit is ook iets wat ik onder de aandacht breng bij developers. Net als bij functioneel testen is het handig als iedereen al vroeg een performance test doet op zijn of haar ‘stukje’ in de keten. Nu worden performance testen vaak aan het eind van een traject opgestart. Maar juist op het begin kan er al getest worden, wat veel tijd scheelt. Kun je iets aanpassen, zodat de performance beter wordt en je concretere vragen aan je klant kunt stellen? Bij veel teams ontbreekt dit.”

Het grote ‘waarom’

Een ander aandachtspunt is waarom er getest wordt. Ivo: “Het komt vaak voor dat opdrachtgevers wel weten dát er een performance test moet worden uitgevoerd, maar niet wát voor een test precies. Het kan een echte zoektocht zijn. Weet je wanneer het piekmoment is, of hoeveel bezoekers je verwacht? Moet ik zelf eerst nog even op zoek naar gebruikersaantallen in Google Analytics? Een groot deel is dus analyse. Misschien kun je een piekmoment voorkomen door bij een grote mailupdate de mail in batches te versturen, zodat de ontvangers niet massaal op hetzelfde tijdstip op een link klikken. Dan is mijn advies meer business-gerelateerd. Of ik ben met de afdeling beheer in gesprek om te bepalen hoeveel CPU of geheugen nodig is om alles draaiende te houden. En soms ben ik vooral bezig met programmering en het schrijven van testscripts. In de basis lijkt het simpel, maar er zit veel variatie in het werk. Ik word op veel verschillende vlakken uitgedaagd, wat maakt dat ik goed op mijn plek zit.”