Van 5% naar 96% testdekking op één dag — Dankzij AI CoPilot...
Toen ik dit project startte en het nog steeds een kleine codebase was, wist ik dat unit testing belangrijk zou zijn, maar zoals veel ontwikkelaars schoof ik het opzij na het bouwen van de eerste testsuite ten gunste van het uitbouwen van de kernfunctionaliteit. Mijn hoofddoel vroeg was om de middleware-logica te laten werken — het middelpunt van de app — en het Minimum Viable Product (MVP) tot leven te brengen. Dat betekende een groot deel van testdekking overslaan in naam van vooruitgang.
Zodra het MVP werkte, richtte ik mijn aandacht weer op testen. Kijkend naar het project schatte ik minstens een week of twee van het schrijven van tests, afhankelijk van de complexiteit van elke component. Sommige zouden eenvoudig zijn. Andere — vooral waar edge cases of ingewikkelde vertakkingslogica betrokken waren — zouden veel tijdrovender zijn.
Op dat punt wendde ik me tot AI. Ik had een "CoPilot" gebruikt om te helpen bij het schrijven van code, en ik dacht dat het ook zou kunnen helpen bij tests.
In het begin vroeg ik de AI om "unit tests te schrijven" zonder echte context of beperkingen. Het resultaat? Een puinhoop. De tests werkten niet, ze maakten verkeerde aannames over de code, en de hele inspanning veranderde in een lus van kapotte testcode en frustrerende herschrijvingen. De AI genereerde veel code — maar niet het soort dat ik kon gebruiken zonder serieuze refactoring.
De doorbraak kwam toen ik mijn aanpak veranderde. In plaats van de AI te behandelen als een tovenaar, begon ik het meer te gebruiken als een junior ontwikkelaar. Ik gaf het één bestand tegelijk, legde de bedoeling van de code uit, en zei dat het zich moest concentreren op het schrijven van nauwkeurige, functionele tests alleen voor dat bestand.
Dat veranderde alles.
Plotseling waren de tests makkelijker voor de AI om te implementeren. Ze waren correct afgebakend, uitgelijnd met de werkelijke logica, en vereisten geen uren van debuggen. Mijn AI werkte zich bestand voor bestand door, schreef en voerde tests uit.
In minder dan een dag sprong testdekking van 5% naar meer dan 96%.
Tests die dagen zouden hebben gekost om te schrijven werden voltooid in uren, en de gemoedsrust die komt met bijna volledige testdekking? Onbetaalbaar.
Ik ging van één Testsuite en 5 tests naar:
Of je nu een nieuw project start of probeert tests in te vullen op een oudere, AI kan een enorme tijdsbesparer zijn — als je het goed gebruikt.
Gebruik je AI voor het schrijven van tests in je projecten? Wat is je ervaring geweest?