Keuzes maken over de scope van je test
Of je nu aan een load test of stress test denkt, of simpelweg wilt weten hoe je systeem zich gedraagt onder productie-achtige omstandigheden, het is erg belangrijk om te begrijpen dat dit niet zo'n triviale taak is. Gaat het bijvoorbeeld om een moderne webapplicatie, dan moet je een keuze maken over de scope van de test. Test je de browser mee, of juist alleen de HTTP APIs van de server?Kies je voor het laatste, dan zul je merken dat de individuele HTTP requests niet de handigste manier is om je resultaten te werken. Wij adviseren om die requests te groeperen in, wat wij nu zo noemen, functionele transacties. Dit zorgt voor meer stabiliteit als je applicatie technisch verandert, maar de functionaliteit amper wijzigt. Maar pak je dan de gemiddelden van alle requests in zo'n functionele transactie of is er iets slimmers beschikbaar? Wij geven er de voorkeur aan om naar 90ste percentiel te kijken. Dat voorkomt dat heel slechte resultaten worden gemaskeerd door heel goede resultaten.
Op implementatievlak zijn er ook nog een hoop uitdagingen. Browser caching, server caching, browser Local Storage en moderne 'statefull' JavaScript applications maken het opnemen van testscenario’s erg lastig. Maar ook de parallelle overlappende requests die een browser tegenwoordig uitvoert kunnen roet in je resultaten gooien. En hoe simuleer je het aantal parallelle gebruikers? Weet je überhaupt hoeveel gebruikers jouw applicatie gebruiken per moment van de dag? En wellicht heeft jouw applicatie ook nog slimmigheden om zich te beschermen tegen hackers. Dit maakt het simuleren van de HTTP requests vaak vele malen lastiger. Maar ook de omgeving waar je test draait, vooral als het in cloud draait, heeft eigenaardigheden waarvan je je bewust moet zijn.
Is het dan allemaal kommer en kwel? Nee zeker niet, maar je moet echt in de details duiken en begrijpen waar zo'n test concessies doet aan de werkelijkheid. Alleen dan kun je optimaal gebruik maken van de resultaten. Lees daarom het volledige artikel van collega Dennis Doomen om al die ins en outs beter te begrijpen.