>>

12-augustus-2014, min leestijd

Laat je gebruikers in productie performancetesten

De titel klinkt wat overdreven, maar dat is precies wat de grote jongens Facebook en Google doen. Ze laten echte gebruikers op productie performance testen uitvoeren. Dat doen ze natuurlijk niet zomaar. Ze richten daarvoor specifieke beta-omgevingen in. Een heel klein deel, vaak minder dan 0,1%, van de gebruikers komt op deze beta-omgeving terecht, zonder dat ze zich daarvoor opgeven. De meesten zullen het wel eens gezien hebben. Je pagina’s op Google of Facebook zien er ineens anders uit, maar andere gebruikers zien gewoon nog de oude, vertrouwde omgeving. Je bent blijkbaar geselecteerd (willekeurig of niet) om op deze beta-omgeving terecht te komen.

Op deze speciale beta-omgeving word je helemaal gevolgd. Ze analyseren je gedrag: hoelang ben je op een pagina, hoe snel kom je op je doel en hoeveel fouten maak je bij het invullen van gegevens. Dit is het usability en functionele aspect wat ze op die manier door echte gebruikers laten testen. Maar performance wordt op die manier ook gemeten! Ze kunnen precies zien wat de laadtijden van de pagina’s zijn en kunnen dit vergelijken met de baseline van productie. Door maar een heel klein deel van de gebruikers op deze nieuwe omgeving en/of versie te laten uitkomen is het risico heel beperkt. Mochten ze al binnen enkele minuten zien dat de responstijden te hoog zijn of dat er fouten optreden, dan zetten ze de omgeving weer uit en is er voldoende feedback om te verbeteren. Zijn de responstijden goed, dan wordt het percentage gebruikers dat op deze beta-omgeving komt langzaam opgevoerd, zodat je ook echt de systemen meer gaat belasten. Performancetesten wordt dan capacity management. Het vergelijken van CPU, Memory, Disk/Netwerk IO en door allerlei andere counters te meten en te vergelijken met hetzelfde aantal gebruikers, kan de systeembelasting worden ‘getest’.

De voorwaarde om volgens dit principe je echte gebruikers ongevraagd te laten performancetesten is dat je een enorm groot aantal gelijktijdige gebruikers moet hebben. Je wilt maar een heel klein deel op deze beta-omgeving terecht laten komen om ze daar volledig te kunnen volgen. Daarnaast moet je je omgeving zodanig inrichten, dat je ook volgens een bepaalde selectie een klein deel van de gebruikers op een aparte omgeving terecht kan laten komen. Tevens moet je de omgeving ook zodanig hebben ingericht dat je alle metrieken meet, zoals responstijden en systeemcounters.

Voor een Facebook of Google is het met zo’n grote userbase praktisch onmogelijk om een vergelijkbare acceptatieomgeving ernaast te bouwen en je productiesituatie precies na te spelen. Te kostbaar en onhaalbaar. Dan is deze methode niet alleen een noodzakelijk kwaad, maar ook een mooie manier om realistisch te testen!