API testen is de leerlijn voor teams bij wie de interface liegt of gewoon te laat komt. Lars de Wit behandelt in Eindhoven hoe u een HTTP-contract controleert: statuscodes, schema, foutpaden, idempotentie en de volgorde waarin twee aanroepen elkaar niet mogen inhalen. De module duurt drie tot vijf dagdelen. U werkt met een OpenAPI-beschrijving wanneer die er is, en met de werkelijke responses wanneer de beschrijving achterloopt. Dat verschil is zelf een bevinding.

Wij automatiseren de controles in de taal die uw pipeline al spreekt, vaak naast de UI-suite uit QA Automation. Een API-test die een gedeeld testaccount muteert zonder op te ruimen, is geen versnelling. Hij is de reden dat de volgende job rood wordt om een oorzaak die niets met de wijziging te maken heeft. Testdata blijven synthetisch. Productiejwt’s en klantdumps horen niet in de repository en niet in de cursus.
Wat u in het contract zoekt
Een groen statuscode 200 is het begin, niet het einde. U controleert of verplichte velden er zijn, of een fout 400 een bruikbare code teruggeeft in plaats van een stacktrace, of een tweede gelijke aanroep geen tweede betaling doet, en of een ontbrekende rechtenrol 403 geeft en niet 200 met een lege lijst die op succes lijkt.
| Controle | Verwacht signaal | Zwakke variant |
|---|---|---|
| Schema | Verplicht veld ontbreekt: test faalt | Alleen de statuscode |
| Foutpad | 400 of 422 met stabiele foutcode | Elke fout wordt 500 |
| Rechten | 403 voor de verkeerde rol | Lege 200 die succes veinzt |
| Idempotentie | Tweede aanroep wijzigt niets extra | Dubbele order in de database |
Performance van dezelfde endpoints behandelen wij niet in deze module. Daarvoor is Performance Testen. Hier gaat het om juistheid en om een suite die in seconden draait, niet in een loadprofiel.
Lab contract
U legt de OpenAPI-beschrijving naast drie echte responses en noteert elk veld dat de beschrijving niet kent of juist wel eist en mist.
Lab foutpad
U stuurt een ongeldig bedrag, een lege identifier en een verlopen token. Drie verschillende fouten mogen niet dezelfde tekst teruggeven.
Lab opruimen
Elke test maakt zijn resource en ruimt hem op, of draait tegen een database die per run leeg starts. Gedeelde staat is geen omgeving, het is een race.
Veelgestelde vragen
Heb ik een OpenAPI-bestand nodig?
Het helpt, maar het is geen voorwaarde. Ontbreekt de beschrijving, dan wordt het eerste product van de module een minimale beschrijving van de drie endpoints die u echt moet vertrouwen.
Testen wij GraphQL of alleen REST?
De principes zijn dezelfde. De oefeningen gaan uit van HTTP en JSON. Een GraphQL-schema behandelen wij wanneer dat het contract van uw team is, niet als losse theorie.
Mag ik Postman blijven gebruiken?
Voor verkennen wel. Voor de pipeline willen wij een test die in versiebeheer staat en zonder handmatige collectie draait. Een collectie die alleen op één laptop leeft, telt niet als suite.
Hoeveel endpoints behandelen wij?
Drie tot vijf die ertoe doen, diep, in plaats van dertig oppervlakkig. Diepte betekent foutpad, rechten en herhaalbaarheid.
Werkgebied Eindhoven
API-labs starten op Strijp-S. Incompany is mogelijk waar uw testomgeving vanaf het trainingsnetwerk bereikbaar is, zonder productiecredentials.
- Strijp-S
- Centrum
- Stratum
- Woensel-Noord
- Gestel
- Tongelre
- Meerhoven
- De Bergen
ITCursusNL Software Testing B.V.
Uw aanspreekpunt: Lars de Wit
Torenallee 20
5617 BC Eindhoven
Telefoon: +31 40 240 3186
E-mail: [email protected]