Het probleem
Dit experiment richt zich niet primair op de gewoonte om korte testcases te schrijven. Het echte probleem ligt ergens anders: Testcases in ITMS worden geschreven in natuurlijke taal, terwijl Cypress (de tool die de tests daadwerkelijk uitvoert ) ze nodig heeft in een programmeertaal. Daardoor ontstaat een structurele kloof tussen testontwerp en testautomatisering.
Het doel van dit experiment was om die kloof te overbruggen. Door AI in te zetten om natuurlijke taal uit ITMS-testcases te vertalen naar uitvoerbare Cypress-code, willen we de stap van functionele beschrijving naar technische implementatie automatiseren, zonder dat duidelijkheid, consistentie of de oorspronkelijke bedoeling verloren gaat.
Onderzoeksvraag
We onderzochten een eenvoudige maar impactvolle vraag:
Kan AI Cypress-automatiseringscode genereren op basis van ITMS-testcases, en daarmee testautomatisering sneller en consistenter maken?
Ons AI-experiment richtte zich op de vraag of AI ITMS-testcases kan vertalen naar werkende Cypress-automatiseringscode. Tegelijkertijd onderzochten we of deze aanpak het automatiseringsproces kan versnellen en meer consistentie tussen tests kan brengen.
Het experiment
Om te onderzoeken hoe AI testautomatiseringsworkflows kan verbeteren, bouwden we een integratie tussen Infodations eigen testtool ITMS en het testframework Cypress. Het doel was om automatisch Cypress-codetemplates te genereren op basis van de testcases die in een ITMS-ticket staan.
Met behulp van AI analyseert het systeem de gestructureerde testcases en zet deze om naar automatiseringsklare code die aansluit bij de bestaande coding style en conventies van de repository. Deze aanpak zorgt voor consistentie en vermindert de handmatige inspanning die normaal nodig is om functionele testcases om te zetten in automatiseringsscripts.
Door AI in de workflow te integreren, wilden we de kloof tussen testontwerp en automatiseringsuitvoering verkleinen. Hierdoor kunnen teams sneller van gedocumenteerde scenario’s naar uitvoerbare tests gaan, terwijl de kwaliteit en aansluiting bij ontwikkelstandaarden behouden blijft.
Resultaten
Twee inzichten sprongen er duidelijk uit:
- AI kan Cypress-automatiseringscode genereren uit ITMS-testcases.
- Een belangrijke voorwaarde is dat de kwaliteit van de testcases in ITMS hoog is. Wanneer stappen, voorwaarden en verwachte resultaten duidelijk en volledig beschreven zijn, is de gegenereerde code bruikbaar en structureel correct.
- Quality in equals quality out.
- De helderheid en volledigheid van testcases bepalen direct de kwaliteit van de automatiseringscode. Vage of minimale testcases leiden tot incomplete of onbetrouwbare scripts, terwijl gedetailleerde testcases sterkere automatisering opleveren.
Wat betekent dit voor ons werk?
Voor ITMS laat dit experiment zien hoe AI de automatiseringsworkflow kan stroomlijnen en de handmatige werklast rond testimplementatie kan verminderen.
In plaats van tijd te besteden aan het vertalen van functionele scenario’s naar technische scripts, kunnen engineers en QA-teams zich richten op:
- het verbeteren van testdekking
- het identificeren van edge cases
- het verhogen van de algehele betrouwbaarheid van systemen
De waarde zit dus niet alleen in het genereren van code, maar vooral in het versnellen van de stap van gevalideerde requirements naar onderhoudbare geautomatiseerde tests.
Vooruitblikken
Dit experiment opent de deur naar een nieuwe workflow. Testcases kunnen eerst in ITMS worden geschreven, waarna de automatiseringscode er direct uit wordt gegenereerd. In de toekomst zouden wijzigingen in testcases automatisch updates in Cypress-tests kunnen triggeren, zodat handmatige en geautomatiseerde tests continu op elkaar blijven aansluiten.
Van testcase naar automatisering
Dit experiment laat zien dat wanneer testcases duidelijk en gedetailleerd worden geschreven, AI succesvol Cypress-automatiseringscode kan genereren vanuit ITMS-testcases.
Door te verbeteren hoe we testscenario’s documenteren, kunnen we:
- automatisering versnellen
- consistentie verhogen
- AI inzetten om engineers te ondersteunen bij het bouwen en onderhouden van betrouwbare testsets