Loadtesten en prestatiebenchmarking (JMeter en k6) · Les

Basisscripts schrijven met k6

Maak uw eerste k6-script om HTTP-aanvragen te verzenden en virtuele gebruikers te simuleren.

Les 2 van 411 stappen

Basisscripts schrijven met k6 is een gratis Loadtesten en prestatiebenchmarking (JMeter en k6)-les op CoddyKit. Dit is les 2 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Loadtesten en prestatiebenchmarking (JMeter en k6). Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Loadtesten en prestatiebenchmarking (JMeter en k6) bevat in totaal 4 lessen.

Begin je reis met k6-scripts

Welkom bij het schrijven van k6-scripts! k6 gebruikt JavaScript om je belastingtests te definiëren, waardoor het voor veel ontwikkelaars vertrouwd aanvoelt.

Een k6-script beschrijft wat je virtuele gebruikers doen en hoe de belasting moet worden gesimuleerd.

  • Definieer gebruikersacties, zoals pagina's bezoeken of inloggen.
  • Geef het aantal virtuele gebruikers (VU's) en de testduur op.
  • Valideer serverreacties om de juistheid te controleren.

Anatomie van een k6-script

Elk k6-script bestaat doorgaans uit twee hoofdonderdelen:

  • Het object options: hier configureer je testbrede instellingen, zoals virtuele gebruikers (VU's) en de testduur.
  • De functie default: hier definieer je de acties van je virtuele gebruikers. Elke VU voert deze functie herhaaldelijk uit.

Beschouw de functie default als de "hoofdlus" voor elke virtuele gebruiker.

HTTP GET-aanvragen versturen

De meest voorkomende actie in een prestatietest is het versturen van een HTTP-aanvraag. k6 biedt hiervoor de module k6/http.

Voor een eenvoudige GET-aanvraag gebruik je http.get('URL'). Hiermee simuleer je dat een browser een webpagina of API-eindpunt ophaalt.

Vergeet niet om de module http bovenaan je script te importeren.

Code: eenvoudige GET-aanvraag

Laten we ons eerste k6-script schrijven om een GET-aanvraag naar example.com te versturen. Kopieer dit script en voer het uit met de k6 CLI.

k6 run your_script.js

import http from 'k6/http';
import { sleep } from 'k6/execution';

export default function () {
  http.get('https://test.k6.io');
  sleep(1); // Wait for 1 second between requests
}

Wat zijn virtuele gebruikers (VU's)?

In k6 simuleert een virtuele gebruiker (VU) een echte gebruiker die met je systeem communiceert. Elke VU voert de functie default onafhankelijk uit.

Als je 10 VU's hebt, is dat alsof 10 mensen je applicatie tegelijkertijd gebruiken. k6 beheert deze VU's efficiënt.

Door het aantal VU's te regelen, kun je verschillende belastingsniveaus voor je applicatie simuleren.

Testbelasting configureren met opties

Het object options is essentieel voor het definiëren van je testscenario. Het staat op het hoogste niveau van je script.

Twee belangrijke opties zijn:

  • vus: Het totale aantal virtuele gebruikers dat gelijktijdig moet worden uitgevoerd.
  • duration: Hoelang de test moet worden uitgevoerd (bijvoorbeeld '30s', '5m' of '2h').

Met deze instellingen geef je k6 aan hoe de functie default moet worden verdeeld en uitgevoerd.

Code: VU's en testduur

Dit script wordt gedurende 10 seconden uitgevoerd met 5 virtuele gebruikers en benadert daarbij herhaaldelijk de testwebsite.

Let op hoe k6 de VU's en de duur rapporteert wanneer je dit script uitvoert.

import http from 'k6/http';
import { sleep } from 'k6/execution';

export const options = {
  vus: 5,
  duration: '10s',
};

export default function () {
  http.get('https://test.k6.io');
  sleep(1);
}

Gegevens versturen met POST-aanvragen

Naast GET moet je vaak gegevens naar de server versturen, bijvoorbeeld om een formulier te verzenden of een resource aan te maken. Hiervoor gebruik je http.post().

De functie http.post() heeft drie argumenten:

  • De URL.
  • De aanvraagbody (meestal een JSON-tekenreeks of formuliergegevens).
  • Optionele parameters, zoals headers.

Code: eenvoudige POST-aanvraag

Hier zie je een voorbeeld van een POST-aanvraag die JSON-gegevens verstuurt. Let op hoe we de header Content-Type instellen om de server te laten weten dat we JSON versturen.

import http from 'k6/http';
import { sleep } from 'k6/execution';

export const options = {
  vus: 1,
  duration: '5s',
};

export default function () {
  const url = 'https://httpbin.org/post';
  const payload = JSON.stringify({
    name: 'Coddy',
    job: 'Learner',
  });

  const params = {
    headers: {
      'Content-Type': 'application/json',
    },
  };

  http.post(url, payload, params);
  sleep(1);
}

Test je scripvaardigheden

Welke van de volgende uitspraken over eenvoudige k6-scripts zijn JUIST?

Samenvatting: je eerste k6-scripts

Goed gedaan! Je hebt de basisbeginselen van het schrijven van k6-scripts geleerd:

  • De basisstructuur met options en de functie default.
  • Hoe je eenvoudige HTTP GET- en POST-aanvragen verstuurt met k6/http.
  • Hoe je de testbelasting configureert met vus en duration.

In de volgende les gaan we dieper in op het valideren van reacties met Checks en het instellen van prestatiedoelen met Thresholds!

Gratis beginnen

Leer Loadtesten en prestatiebenchmarking (JMeter en k6) met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
12
Lessen
48

Veelgestelde vragen

Is de les “Basisscripts schrijven met k6” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad Loadtesten en prestatiebenchmarking (JMeter en k6), waaronder “Basisscripts schrijven met k6”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Loadtesten en prestatiebenchmarking (JMeter en k6) bevat in totaal 4 lessen.

Wat leer ik in “Basisscripts schrijven met k6”?

Maak uw eerste k6-script om HTTP-aanvragen te verzenden en virtuele gebruikers te simuleren. Je oefent met Loadtesten en prestatiebenchmarking (JMeter en k6) door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Loadtesten en prestatiebenchmarking (JMeter en k6) te beginnen?

Ervaring vooraf is niet nodig. Loadtesten en prestatiebenchmarking (JMeter en k6) op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.

Hoe lang duurt de les “Basisscripts schrijven met k6”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Loadtesten en prestatiebenchmarking (JMeter en k6)?

Ja. Elke les over Loadtesten en prestatiebenchmarking (JMeter en k6) bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Installatie en CLI van k6
  2. Basisscripts schrijven met k6
  3. Checks, drempelwaarden en metrieken
  4. Groepen en tags om tests te organiseren
← Terug naar Loadtesten en prestatiebenchmarking (JMeter en k6)