Laadtesten: applicaties en instellingsproces

Testen van applicaties en websites is hét ding voor iedere developer om ervoor te zorgen dat aan verwachtingen kan worden voldaan. Belastingtests zorgen ervoor dat applicaties vrij zijn van fouten of bugs. Het testen van een product is een leerproces. In dit artikel lees je meer over de basisprincipes van load testing. 

Development
24 juni 2020
Martijn van der Put

Herziening van load testing

Load testing is een manier om prestaties van systemen en applicaties te testen met een vooraf ingestelde belasting. Het wordt meestal gedaan om de snelheid en praktische functionaliteit van de applicatie te bepalen. Het wordt uitgevoerd om ervoor te zorgen dat de theoretische berekeningen van je systeem overeenkomen met de praktische toepassingen. 


Praktische toepassing van load testing

Laten we een voorbeeld nemen. Human Digital ontwikkelt een applicatie die lijkt op een online chatappicatie (denk aan WhatsApp, WeChat, etc.). Bezoekers kunnen deze applicatie gebruiken om gemeenschappelijke groepen aan ta maken en met familie en vrienden te chatten. Stel de applicatie kan een groep van 50 personen beheren en heeft een responstijd van 1 seconde. Dit noemen we een theoretische aannemen. Deze theorie kan op twee manieren getest worden:

  1. Stuur het naar een groep mensen en vraag hen de applicatie te gebruiken.
  2. Voer een machinaal uitgevoerde load test uit.

Optie 1 is moeilijker uit te voeren en om resultaten te berekenen. Bij optie 2 gebruiken we een load testing applicatie om de acties van 50 gelijktijdige gebruikers in de applicatie te stimuleren. Op dit moment kan er gekeken worden of de responsetijd 3 seconden oplevert of minder of gelijk aan 1 seconde. In het eerste geval moet de applicatie geüpgraded worden. In het tweede geval is de applicatie goed. 

Voorwaarden loadtesten 

Voordat je begint met het loadtesten van je applicatie, zijn er een aantal dingen die je nodig zou kunnen hebben. 

  1. Een loadtest applicatie
  2. Realistische doelen
  3. Real-life benchmarks
  4. Toegewijde testomgeving


1. Loadtest applicatie

Deze applicatie stelt je in staat om loadtests uit te voeren op je applicatie. Je kunt je applicatie ‘erin pluggen’ en de juiste knoppen gebruiken om resultaten te verkrijgen. Soms vereist een loadtest het toevoegen van code of het isoleren van een bepaald onderdeel van een applicatie. 

2. Realistische doelen

Nadat je een loadtest applicatie hebt gekozen, moeten er realistische doelen gesteld worden voor jouw test. Het is tijd om na te denken over de functies waar je gebruikers het meest van zouden profiteren. Je begint daarnaast met het testen van functies die veel door consumenten gebruikt worden. Vragen waar je graag antwoord op wilt: Welke functie doet er echt toe? Worden verschillende apparaten gebruikt om in te loggen? Etc.


3. Real-life benchmarks

In een realistisch scenario beginnen je loadtests niet altijd vanaf nul. Je gaat altijd een aantal mensen hebben die je applicatie gebruiken voordat er meer mensen bijkomen. Je stelt een benchmark in die het realistische gebruik van je applicatie nabootst. Voer je applicatie uit met een minimale belasting voordat je deze gaat testen met meer belasting. Zorg er altijd voor dat je benchmarks een gemiddelde zijn van het werkelijke gebruik van je applicatie.

4. Toegewijde testomgeving

Wanneer je bijvoorbeeld 2 servers voor je applicatie hebt in een commerciële omgeving, moet je test ook 2 servers hebben. Het idee is eenvoudig: je testomgeving moet altijd vergelijkbaar zijn met de productieomgeving. Alleen dan kunnen testresultaten als geldig worden beschouwd. 

Stappen om een loadtest uit te voeren

Hier zijn 6 stappen om een loadtest uit te voeren voor je applicatie/software. Deze stappen dienen als de chronologische lagen om een goede loadtest op te bouwen. Het kan iets verschillen, afhankelijk van je applicatie en de eisen van de consument. 

  • Minimale loadtest acceptatiecriteria: Je vermeldt altijd de minimale criteria die zou accepteren als resultaat voor je loadtest. Dit kan een theoretische voorspelling zijn of een waarde die voortkomt uit een eerdere loadtest. 
  • Commerciële scenario’s die getest moeten worden: Je moet er zien achter te komen waar de applicatie het meest gebruikt wordt. Is dit bijvoorbeeld binnen een team in een organisatie (Slack) of voor communicatie tussen vrienden (WhatsApp).
  • Een vooraf bepaald werkloadmodel: Zodra je een commercieel scenario hebt, kun je een vooraf bepaald werkloadmodel maken voor je applicatie. Voorbeeld: Een gebruiker stuurt een willekeurige tekst naar een groep of hij gaat naar een groep en stelt een vraag. Nadat hij iets gevraagd heeft, melden andere gebruikers zich bij de applicatie om de vragen te beantwoorden. 
  • Ontwerp en voer loadtests uit: Je moet de gebieden en functies identificeren die moeten worden getest voor dat je de test start. Zodra je dit weet, kun je een testomgeving selecteren en je test uitvoeren.
  • Analyseer de resultaten en creëer gedocumenteerde rapporteren: Wanneer de tests zijn voltooid, kun je de resultaten bekijken en gedetailleerde rapporten opstellen. Deze gaan je helpen bij het optimaliseren van je applicatie.
  • Identificeer gebieden voor verbetering: De laatste stap van je loadtest. Identificeer de gebieden waar verbetering nodig is. 


Conclusie

Loadtests is iets wat je op elk moment van het ontwikkelingsproces moet implementeren. Dit bespaart je op lange termijn tijd en middelen.

Wil je meer informatie? Vul dan onderstaand formulier in.

Cookies
Deze site gebruikt geanonimiseerde cookies. Klik op "Akkoord" als je akkoord gaat met het gebruik van cookies, of klik op "Aanpassen" om je voorkeuren te bepalen.
Deze site gebruikt geanonimiseerde cookies.