Vaak ligt de eerste prioriteit binnen het performancetesten op het IT-perspectief. Dit is ergens wel terecht te noemen. Voordat (eind)gebruikers een systeem kunnen gebruiken, is het natuurlijk als eerste van belang dat het systeem het doet en niet omvalt wanneer er meerdere gebruikers tegelijk bezig zijn. Maar hoe ervaart de eindgebruiker het systeem? In deze blog sta ik graag even stil bij hoe hier het antwoord op te vinden.
Performancetesten worden uitgevoerd om applicaties en systemen te testen op verschillende performance aspecten. Vanuit IT-perspectief gaat het dan om bijvoorbeeld throughput en resource gebruik (CPU, memory e.d.). Vanuit gebruikersperspectief gaat het om responstijden, hoeveel mensen er gelijktijdig kunnen werken en de perceptie van snelheid. De traditionele performancetest tools zijn uitstekend in staat om het eerste aspect te testen, maar zijn minder sterk in het meten van de werkelijke responstijd zoals de eindgebruiker die ervaart.
Dat komt omdat deze performancetest tools vooral meten binnen de (systeem)grenzen van de organisatie zelf. Hierbij wordt echter de vertraging die wordt veroorzaakt door internet en de software en hardware van de eindgebruiker (klant), buiten beschouwing gelaten. En juist door de groeiende rol van Ajax/dynamische websites/HTML 5 wordt alles wat er in de browser gebeurt van steeds grotere invloed op de eindgebruiker responstijd. Hoe kunnen we dan toch goed meten wat de eindgebruiker voor responstijd ervaart? De oplossing hiervoor staat schematisch weergegeven in onderstaand plaatje: Synthetic monitoring of RUM.
Synthetic monitoring betreft het uitvoeren van gescripte transacties door externe agents op een web applicatie in een gecontroleerde omgeving. Synthetic monitoring:
Is een simulatie van het gedrag van eindgebruikers
Maakt gebruik van externe agents
Meet op vaste intervallen
Vanaf één of meerdere vaste locaties
Toepasbaar in test- en productieomgeving
Real User Monitoring (RUM) meet de daadwerkelijke performance van de internet applicatie zoals die door de eindgebruiker in productie wordt ervaren. Real User Monitoring:
Meet het daadwerkelijke gedrag van eindgebruikers
Op het device, met de browser en de internet snelheid van de eindgebruiker
gebruikt dus geen gescripte transacties
Maakt gebruik van Javascript en/of agents
Is alleen toepasbaar in productieomgeving
Als je beide oplossingen naast elkaar zet, worden de verschillen misschien wat duidelijker.
RUM
Performance gemeten zoals de eindgebruiker die ervaart in productie
Geeft informatie over elke gedeelte van de internet applicatie die door klanten bezocht wordt
Alleen informatie als er bezoekers op de site komen
Monitoring van een release die reeds in productie genomen is
Synthetic monitoring
Performance gemeten door simulatie van eindgebruikers in test- of productieomgeving
Geeft informatie over een vaste set van stappen in een vast interval vanaf een vaste locatie
Elke x minuten komt er informatie over response tijden binnen
Monitoring in zowel test- als productieomgeving
De keuze voor RUM of synthetic monitoring hangt vooral af van de behoefte van de klant. Is inzicht in de daadwerkelijke responstijd van eindgebruikers in productie nodig? Of is monitoring in test en productieomgeving nodig om voor oplevering al inzicht in responstijden te krijgen? Indien beide vragen met ja beantwoord worden, dan is ook een combinatie van beide oplossingen mogelijk.
Wil je meer informatie over dit onderwerp? Bekijk dan mijn TestNet-presentatie:
Of neem contact met op met PerformanceArchitecten. We spreken graag de voor- en nadelen van beide oplossingen met u door.
Comments