3 - 5 leestijd

De eindeloze belastingstest

MeasureWorks Sfeer

Of, waarom je loadtests in je CI/CD-pijplijn moet opnemen

De eindeloze belastingstest, het klinkt als de titel van een horrorfilm waar niemand ooit om gevraagd heeft. Waarschijnlijk is een betere manier om naar dit onderwerp te kijken: Belasting testen terwijl je slaapt. Het is algemeen bekend dat hoe eerder je een defect ontdekt dat de prestaties, doorvoer en/of stabiliteit schaadt, hoe gemakkelijker het te verhelpen is. Mijn ervaring is dat 70% tot 80% van de problemen die ik aan het licht heb gebracht tijdens loadtests reproduceerbaar zijn op veel lagere schalen. Het is veel minder pijnlijk (en minder duur) om met zulke bugs om te gaan tijdens het testen met 20-500 virtuele gebruikers dan tijdens uw seizoensgebonden belastingstests waarbij mogelijk tienduizenden tot honderdduizenden virtuele gebruikers worden gebruikt.

Je voert al functionele tests uit als onderdeel van uw releasecycli (toch?), dus die een stap verder brengen naar belastingtests is eenvoudiger dan je denkt. Er zijn maar een paar dingen waar je rekening mee moet houden:

Houd het op schaal

Of je nu traditionele systeemspecificaties gebruikt zoals CPU cores en gigabytes RAM, of cloud-native services zoals Lambda, Aurora, containers as a service enzovoort, zorg ervoor dat je testomgeving geschaald blijft. Draai je 16 applicatieservers met een 32 core database? Dan zou je bijvoorbeeld kunnen streven naar 2 applicatieservers met een 4 core database. Gebruik je cloud-native diensten? Zorg er dan voor dat je capaciteit, doorvoerreservering enzovoort proportioneel schaalt in je ontwikkelomgeving.

Hergebruik testscripts

Weet je nog die geautomatiseerde functionele tests die je al uitvoert? Ga op zoek naar loadtesttools of -services die op dezelfde technologie zijn gebaseerd. Functioneel testen met JMeter? Gebruik JMeter dan ook voor jouw belastingtests. Echte browsers gebruiken vanuit Selenium-scripts? Daar zijn loadtestservices en opensourcetools voor. Een voorbehoud om te onthouden is dat de meeste grootschalige loadtests protocolemulatie gebruiken in plaats van echte browsers om redenen van middelen/kosten. Het is weliswaar vervelend om 2 smaken scripts te onderhouden, maar de kostenbesparingen kunnen dit rechtvaardigen.

Definieer je KPI’s en gebruik ze dan ook echt

KPI’s voor belastingtests kunnen genuanceerder zijn dan voor een functionele test, waarbij de resultaten zijn: of het werkte, of het werkte niet. Hoe weet je of je loadtests “werkten”? Probeer te beginnen met je productieomgeving als basislijn, denk na over KPI’s op basis van:

Aanvragen per minuut

Laadtijden voor pagina’s, klikacties en zelfs achtergrondacties die op het kritieke pad liggen (dit is een gebied waar echte browsertests een voordeel hebben met echte javascript engines etc. omdat alles automatisch wordt meegenomen in de test)

Vergeet niet om rekening te houden met verzoeken aan externe services en derde partijen of deze eruit te filteren, indien nodig.

Tot slot, maar zeker niet onbelangrijk, controleer je resultaten! Als de resultaten van je belastingtests in je releases naar het zuiden gaan, wil je de waarschuwingssignalen niet missen. Dit kan geautomatiseerde waarschuwingen vereisen op basis van de KPI’s die je hebt gedefinieerd. Het laatste wat je wilt is dat deze resultaten verdwijnen in het zwarte gat van de Inbox waar zoveel SLA-rapporten zijn gebleven.

Dit artikel is eerder gepubliceerd op LinkedIn.

LinkedIn

 

Deze website gebruikt cookies

Met deze cookies kunnen wij en derden informatie over je en jouw online gedrag verzamelen, zowel binnen als buiten onze website. Op basis hiervan kunnen wij en derden de website, onze communicatie en advertenties afstemmen op uw interesses en profiel. Meer informatie vind je in onze cookieverklaring.

Accepteren Afwijzen Meer opties

Deze website gebruikt cookies

Met deze cookies kunnen wij en derden informatie over je en jouw online gedrag verzamelen, zowel binnen als buiten onze website. Op basis hiervan kunnen wij en derden de website, onze communicatie en advertenties afstemmen op uw interesses en profiel. Meer informatie vind je in onze cookieverklaring.

Functionele cookies
Arrow down

Functionele cookies zijn onmisbaar voor het goed functioneren van onze website. Ze stellen ons in staat om basisfuncties zoals paginanavigatie en toegang tot beveiligde gedeelten mogelijk te maken. Deze cookies verzamelen geen persoonlijke informatie en kunnen niet worden uitgeschakeld.

Analytische cookies
Arrow down

Analytische cookies helpen ons inzicht te krijgen in hoe bezoekers onze website gebruiken. We verzamelen geanonimiseerde gegevens over pagina-interacties en navigatie, zodat we onze site voortdurend kunnen verbeteren.

Marketing cookies
Arrow down

Marketingcookies worden gebruikt om bezoekers te volgen wanneer ze verschillende websites bezoeken. Het doel is om relevante advertenties te tonen aan de individuele gebruiker. Door deze cookies toe te staan, help je ons om jou relevante inhoud en aanbiedingen te tonen.

Alles accepteren Save

Meld je aan voor onze nieuwsbrief!

  • Dit veld is bedoeld voor validatiedoeleinden en moet niet worden gewijzigd.

Meld je aan voor onze nieuwsbrief!

  • Dit veld is bedoeld voor validatiedoeleinden en moet niet worden gewijzigd.