End-to-end acceptatietesten
End-to-end testing zorgt ervoor dat je software betrouwbaar blijft in elke stap van het proces.
Een essentieel onderdeel van het waarborgen van kwaliteit is grondig testen. Testen helpt om fouten vroegtijdig op te sporen en te voorkomen dat deze in een productieomgeving terechtkomen, wat de betrouwbaarheid en veiligheid van de software verhoogt. Een manier om deze kwaliteitseisen te waarborgen is door middel van geautomatiseerde testen, waaronder end-to-end testen. Door dit uit te voeren vóór elke release, kan een release worden geblokkeerd als een van de testen faalt. Zo wordt de kwaliteit bewaakt en worden potentiële problemen vroegtijdig aangepakt.
End-to-end testen
Deze testen simuleren het gedrag van de eindgebruiker en verifiëren dat de applicatie als geheel correct functioneert. Dit omvat ook de front-end UI, back-end services, databases en zelfs externe integraties.
De tests worden uitgevoerd door een browser te starten en verschillende scenario's door te lopen, zoals een eindgebruiker dat zou doen. Dit kunnen scenario's zijn zoals inloggen, formulieren invullen, op knoppen klikken, mails controleren, tekst controleren en andere interacties die een gebruiker zou doen.
Wanneer voer je deze testen uit?
In onze workflow (OTAP-model) worden de tests automatisch gestart, zodra er wijzigingen klaar worden gezet voor de acceptatie-omgeving. Het is verplicht dat alle uitgevoerde tests succesvol worden doorlopen. Als dat niet het geval is, kan de release niet worden doorgezet.
Scope van de testen
Hoe uitgebreider deze tests zijn, des te beter de kwaliteit kan worden gegarandeerd. Het is minimaal aan te raden om de belangrijkste functionaliteiten te testen, wat natuurlijk per platform kan verschillen. Voor een vacaturesite kan dit bijvoorbeeld het solliciteren of het zoeken naar vacatures zijn, terwijl het voor een applicatie eerder draait om het invullen van een contactformulier.
De voordelen
Identificatie van samenwerkingsproblemen
Ze helpen bij het opsporen van problemen die kunnen optreden wanneer verschillende onderdelen van het systeem samenwerken. Deze problemen blijven vaak onopgemerkt bij andere vormen van automatisch testen (unit testen), waar de gehele nadruk ligt op het individueel nalopen van losse componenten.Waardevolle feedback voor ontwikkelaars
Ze bieden ontwikkelteams essentiële feedback over hoe het systeem functioneert in een realistische omgeving, waardoor teams sneller verbeteringen kunnen doorvoeren en met meer zekerheid de algehele kwaliteit van de software kunnen verhogen.Ondersteuning bij grote en complexe updates
Bij omvangrijke updates, zoals een framework-upgrade in Symfony, bieden deze testen houvast. Ze helpen bij het controleren van integraties die opnieuw moeten worden opgebouwd en geconfigureerd en bij het herschrijven van code. Hoewel handmatig testen nog steeds nodig kan zijn, dekken geautomatiseerde testen al een aanzienlijk deel van de mogelijke problemen af.Vermindering van risico's en verbeterde stabiliteit
Door potentiële problemen vroegtijdig te detecteren en op te lossen, verkleinen acceptatie- en E2E-testen de kans op fouten of downtime na een release. Dit resulteert in stabielere releases en verhoogde klanttevredenheid.Documentatie van domeinkennis
Deze tests documenteren ook domeinkennis, door vast te leggen wat er van het systeem wordt verwacht, hoe het zou moeten werken, en hoe dit wordt gecontroleerd.Efficiëntie en kostenbesparing
Ze kunnen automatisch worden uitgevoerd vóór een release, waardoor er geen handwerk bij komt kijken.
Aandachtspunten
Investering
Hoewel de investering in End-to-End testen zich uiteindelijk altijd terugbetaalt, is het belangrijk om in het begin een solide basis neer te zetten. Dit omvat het koppelen en configureren van de onderliggende technieken en het integreren van de testen in het release protocol. De eerste tests zijn doorgaans duurder om op te zetten dan de daaropvolgende, omdat deze gebruik kunnen maken van de logica en infrastructuur die bij eerdere tests is opgebouwd.Afwijking van de werkelijke situatie
De tests worden meestal uitgevoerd in een browser (dus ook met ondersteuning van JavaScript) om de workflows te doorlopen. Echter, de applicatie moet soms anders worden geconfigureerd voor testdoeleinden. Bijvoorbeeld, het is vaak nodig om functies zoals Google reCAPTCHA uit te schakelen tijdens het uitvoeren van de tests, omdat deze anders het testproces zouden onderbreken.- Doorlooptijd voor ontwikkelaars
Hoewel acceptatietesten automatisch draaien, moeten ontwikkelaars toch wachten tot de tests succesvol zijn voltooid. Als er bijvoorbeeld 50 tests zijn die samen 15 minuten duren, betekent dit wellicht een extra doorlooptijd voordat de release kan worden doorgezet.
Voorbeeldscenario
Download hieronder een voorbeeldscenario. Deze test beschrijft een situatie waarin een gebruiker een geneesmiddelenonderzoek zoekt met behulp van filters en zich uiteindelijk inschrijft voor deelname aan dit onderzoek.
Onze digital experts staan klaar voor je!
End-to-end testing zorgt ervoor dat je software betrouwbaar blijft in elke stap van het proces. Wil je meer weten of kunnen wij je helpen met het uitvoeren van een end-to-end acceptatietest? Neem contact op met Sam!