Het zijn testen, dus pak jij het op?

In de eerste jaren van mijn IT-carrière was alles binnen de IT nieuw voor mij. Ik heb verschillende rollen mogen ervaren en voelde mij uiteindelijk het meeste thuis in de testrol. Ik vond software ontwikkelen interessant, maar ik voelde mij niet geschikt als fulltime ontwikkelaar. Met technische affiniteit kwam ik al snel terecht in het wereldje van testautomatisering. Een interessant onderwerp waar al veel over gezegd is, maar zeker nog niet alles. Ik had veel over performance testen gehoord, maar ik had daar zelf nog nooit iets mee gedaan.  Want opdrachten waar ik actief was hadden er of geen aandacht voor of er werden specialisten voor ingehuurd. Begin dit jaar heb ik eindelijk mijn kans gekregen om erin te duiken.

 

Wat zijn performance testen?

Performance valt onder de non-functionele requirements en krijgt niet de aandacht dat het verdient, totdat er iets misgaat. Met performance testen wordt er inzicht gegeven in de stabiliteit en prestaties van een systeem. Performance testen is eigenlijk een verzamelbak van verschillende testen, waaronder:

  • Load: checken of het systeem een reëel te verwachten gebruikersbelasting aan kan. Op basis van gebruikersacties, zoals inloggen, buttons klikken, schermen openen.
  • Volume: checken of het systeem een reëel te verwachten volumebelasting aan kan. De hoeveelheid op te vragen en weg te schrijven data.
  • Stress: zoeken naar het breekpunt van het systeem (met een tijdelijke piek).Wanneer is de belasting op het systeem te veel?
  • Soak: zoeken naar het breekpunt bij een langdurige belasting op het systeem.
  • Concurrency: checken hoeveel processen het systeem tegelijkertijd aan kan.

 

Nu ik in aanraking ben gekomen met de verschillende soorten performance testen moest ik bepalen welke testen de wensen zouden dekken van de klant. De klant gaat van databasebeheerder veranderen en de snelheid van de nieuwe systemen moeten minstens net zo snel zijn als de huidige systemen. Daarnaast bestaat er de wens om bottlenecks op te sporen en te monitoren wanneer deze worden opgelost. Met deze informatie heb ik een tool gekozen en begon ik aan een Proof Of Concept (POC). Op het moment dat ik er mee aan de slag ging, merkte ik al snel waarom bedrijven specialisten inhuren. Dit is niet iets wat je er even naast doet en het is beter om ervaring op te doen met hulp van een ervaren professioneel.

Is dit mijn taak?

Wat jouw huidige rol ook zal zijn, er is altijd een vraag dat opkomt bij bepaalde taken. Het is een mooie vraag om zowel te vragen als te beantwoorden: “is dit mijn taak?”. Zeker wanneer je een Agile professioneel bent. Het antwoord is ja, maar niet alleen voor mij. Het opleveren van een goed werkend systeem, inclusief een acceptabele performance is een taak voor het team. Op mijn opdracht is dat nu anders, omdat ik speciaal ben binnengehaald om inzicht te geven in de performance als performance specialist. Zoals eerder aangegeven is dit mijn eerste duik in performance testen en de klant weet dat, waardoor ik ook de tijd krijg om het onder de knie te krijgen.

Gezien het performance testen zijn, wordt het al snel onder de taken van de testers geschoven. Maar het testen is niet alleen een taak van de tester. Als gebruiker merk ik wel wanneer een systeem traag is, maar hoe traag het is en of dat een structureel probleem is, is niet met handmatige acties en het blote oog te bepalen. Een reactie kan snel of traag zijn, maar hoe snel is het dan en hoeveel verschilt het per actie?  Om een betrouwbaar beeld te krijgen van de performance van een systeem zal er een gespecialiseerde performance automatiseringstool nodig zijn. Er zijn tools op de markt die gebruikersvriendelijk zijn, maar missen mogelijkheden om complexe scenario’s te maken. Zo had ik te maken met het ophalen van data om deze binnen een sessie te kunnen gebruiken. Niet alle tools kunnen dat. De taken worden vervolgens heel technisch. Zonder hulp van andere collega’s die mij goed ondersteunden met het uitleggen van de techniek en het schrijven van stukken code, had ik het niet gered.

Team of tester?

Ik maakte vervolgens een grote fout. Terwijl ik mijn situatie uitlegde aan een collega zei ik: “Ik vind niet dat performance testen een taak is voor een tester.” Een klassieke fout en ik werd er terecht op gewezen dat het wel degelijk een taak kan zijn voor de tester. Uiteindelijk is het de verantwoordelijkheid van het team en als de situatie erom vraagt kan de tester aangewezen worden om het uit te voeren. Zeker wanneer de tester hier ervaring mee heeft. Uiteindelijk is het beter om de mensen met de juiste kennis en kunde in te zetten op de vraagstukken. Wanneer het heel technisch wordt, dan heeft het geen zin om er een tester op te zetten die niet kan coderen. Maar de tester kan wel helpen met het bepalen wat belangrijk is om af te dekken.

Waar ik na dit verhaal benieuwd naar ben, is de ervaringen van jou met betrekking tot performance testen. Ik heb de volgende vragen:

  • Wordt er voldoende aandacht aan performance testen gegeven bij jouw team?
  • Is het belangrijk voor jouw bedrijf/klant?
  • Zijn er specialisten betrokken, intern of ingehuurd? Of pakken teams performance testen zelf op?

Ik, Tim van der Weyden, hoor graag jullie ervaringen en/of visie ten opzichte van performance testen.

Tot de volgende.

Naar het overzicht

Alain Bultink | Managing Director
alain@deagiletesters.nl
06-15361077

Benno Kuipers | Directeur
benno@deagiletesters.nl
06-52600438