TestAutomatisering & PerformanceTesten

Frontend performance meting – als aanvulling op de traditionele manier van performancetesten

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 presentatie op Testnet https://www.testnet.org/testnet/download/najaarsevenement-2014/frontendperformancemeting.pdf of neem contact met op met PerformanceArchitecten. We spreken graag de voor- en nadelen van beide oplossingen met u door.

Dit bericht is geplaatst in Performancetesten en getagd in Front-end Performance RUM Synthetic Monitoring testen

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Nieuws

Blijf op de hoogte

Performance en de cloud

27/05/2020

Eén van de meest genoemde voordelen van de cloud is de in theorie oneindige schaalbaarheid. Zo zou het niet meer nodig zijn om als organisatie veel reservecapaciteit in te richten om pieken op te vangen en de performancerisico’s zouden helemaal verdwijnen. Maar is dat wel altijd zo? Wanneer wel, wanneer niet? Duidelijk is, dat wanneer […]

Ervaringen Performance.Now() 2019

13/12/2019

Ervaringen conferentie PerfNow

Performance test in de pipeline

25/10/2019

In deze blog geef ik kort en bondig neer in welke opzet en met welke tooling ik performancetesten heb geïntegreerd in de pijplijn bij mijn huidige opdracht.

Circle-CI, van code naar webserver met één klik.

13/09/2019

Wanneer je ‘vroeger’ een website had, waren er altijd flink wat handelingen nodig om files via een FTP client op een webserver te krijgen. Vandaag de dag, met behulp van een verscheidenheid aan tooltjes, is dat een fluitje van een cent. Daarnaast krijg je een arsenaal aan mogelijkheden mee als builden, testen, etc.. In deze […]

Een korte intro in data-analyse met R

10/07/2019

Een blog over hoe je met behulp van R grote hoeveelheden data kan analyseren. Een tool dat je helpt bij de analyse van bijvoorbeeld load- en stresstestresultaten.

Installatie Oracle ATS op Windows

28/03/2019

Handleiding over hoe je Oracle ATS installeert op Windows (Versie 13.x of hoger)

Postman API testen in CI

01/02/2019

beschrijving van hoe je jouw Postman collectie laat draaien vanuit Jenkins en hoe je hierbij een praktisch JUnit test report krijgt.

Workshop ‘Stop de Magie!’ bij Qquest

04/12/2018

In het kader van de 4e techday van Qquest heeft Chris met ondersteuning van HenkJaap een workshop gegeven. Basis was de presentatie en demo ‘No more magic’ van Bas en Chris, welke al een groot succes was op de TestAutomationDay en TestNet. Centraal bij het onderwerp ‘No more Magic’ staat het idee dat er bij […]

Visual Regression Testing – Wat is het en wat heb je eraan?

07/11/2018

Visual Regression Testing, of visuele regressie testen, is een categorie van testen die zich focust op het identificeren van visuele wijzigingen tussen iteraties of versies van een website. Dit kan handmatig door schermen of schermafdrukken te vergelijken, maar het is beter herhaalbaar en sneller te testen door dit automatisch te doen. Het mooiste is om deze testen als een […]

Meer efficiency en flexibiliteit in API’s

04/10/2018

Er wordt steeds meer gebruik gemaakt van GraphQL API. Tijdens mijn laatste opdracht heb ik hier dan ook mee gewerkt.. Graag deel ik mijn ervaringen hierover in een aantal blogs. In deze eerste blog wil ik het graag hebben over de uitdagingen met REST API en hoe GraphQL deze oplost. Maar eerst even een korte […]

Impact tooling op performance: Dynatrace

21/09/2018

In deze blog geef ik kort de resultaten weer van een onderzoekje dat ik bij één van mijn laatste opdrachten heb gedaan naar de impact van het gebruik van de tool Dynatrace op de infrastructuur waar het op draait. Mocht je gebruik maken van tooling als Dynatrace of op een andere manier geïnteresseerd zijn in […]

Tips en tricks voor Protractor

06/09/2018

Vanuit PerformanceArchitecten doen we graag aan kennisdeling. Van tool reviews tot aan complete best practices maar ook van een aantal simpele tips en tricks die je kan gebruiken in je dagelijkse werk. Vandaag in die laatste categorie voor gebruikers van Protractor: (Javascript) timing issues en het managen van de volgorde van uitvoeren van actions. Inleiding […]