Integration testing
In software werkt bijna nooit iets helemaal alleen. Een inlogmodule moet gegevens ophalen uit een database, een bestelling moet via een betaalsysteem uitgevoerd worden en een bevestiging moet verzonden worden naar een mailprovider. Integration testing kijkt of al die losse eilandjes als één team samenwerken. Zo voorkom je bijvoorbeeld dat een bestelling halverwege vastloopt.
Inhoudsopgave
Meer dan ‘werkt het knopje?’
Unit testing is een mooie basis: je checkt of een knop technisch doet wat hij moet doen. Maar werkt die knop nog steeds als hij data moet doorsturen naar een andere module en geeft de database ook de juiste informatie terug? Integration testing pakt de volledige route: het test de verbindingen tussen functies, API’s en externe systemen. Zo haal je bugs eruit die pas zichtbaar worden als je alles samenbrengt.
Klein beginnen, groot vertrouwen
Integration testing kun je klein of groot aanpakken. Soms test je twee modules die direct met elkaar praten, zoals een login die een gebruikersprofiel aanroept. Bij complexere projecten test je hoe complete ketens functioneren, bijvoorbeeld hoe een webshop bestellingen verwerkt (van winkelmandje tot betaling en bevestigingsmail). Door stap voor stap te testen bouw je vertrouwen op dat alles in de praktijk klopt.
Realistisch testen is realistisch bouwen
Wat integration testing zo krachtig maakt, is dat je situaties nabootst die ook echt kunnen gebeuren. Wat als de koppeling met een externe API langzaam reageert? Of de betaalprovider een storing heeft? Integration tests vangen dat soort scenario’s af. Zo kun je code aanpassen of foutafhandeling slim regelen voordat je gebruikers iets merken.
Slim stapelen: Unit, integration én end-to-end
Integration testing is geen los eilandje. Het zit slim ingebed tussen unit tests (de details) en end-to-end tests (de hele gebruikersreis). Eerst check je losse bouwstenen, dan test je hoe blokken samenwerken en daarna test je het hele plaatje. Zo weet je zeker dat wat je bouwt, ook echt klopt.
Veelgestelde vragen
Je test hoe meerdere onderdelen samen data verwerken en doorgeven. Bijvoorbeeld: logt een gebruiker in en krijgt hij de juiste data uit de database terug?
Unit tests testen alleen de logica binnen één blok code. Integration tests kijken juist hoe meerdere blokken samen presteren.
Nee, ook bij een ‘simpele’ website met een betaalsysteem, API’s of formulieren is het slim om samenwerking te testen.
Na je unit tests, maar voordat je het hele systeem end-to-end doorloopt. Zo vang je fouten vroeg op.