Microsoft lanceert open-source AI-agent voor unit-tests
Ontwikkelaars vragen een AI-coderingsassistent regelmatig om unit-tests te schrijven via een korte opdracht, maar dat leidt in de praktijk vaak tot onvolledige code of tests die nooit worden uitgevoerd. Om dit probleem op te lossen brengt Microsoft 'code-testing-generator' uit. Deze open-source en taaloverstijgende AI-agent is speciaal ontworpen om zelfstandig de structuur van een softwareproject te analyseren, gerichte unit-tests te schrijven en te verifiëren of deze daadwerkelijk waarde toevoegen.
De nieuwe agent maakt deel uit van de dotnet-test plugin in het GitHub-pakket dotnet/skills. De tool richt zich op het isoleren van de te testen code en het nabootsen (mocken) van externe afhankelijkheden. Het genereren van integratie-, browser- en performancetests valt voorlopig buiten de reikwijdte.
Analyse en verificatie voor het schrijven
In plaats van direct code te genereren, doorloopt de agent eerst een gestructureerde werkwijze. De AI analyseert de opslaglocatie (repository) van het project, herkent de programmeertaal en het gebruikte testframework en zoekt naar bestaande testpatronen. Bovendien achterhaalt de agent de juiste commando's voor het bouwen en uitvoeren van de tests. Hiermee wordt voorkomen dat nieuwe tests weliswaar lokaal slagen, maar niet worden meegenomen in de automatische build- en integratieprocessen (CI) van het ontwikkelteam.
Na het analyseren van de code kiest de agent uit drie aanpakken: een directe uitwerking voor kleine codeblokken, een stappenplan voor middelgrote taken of een iteratieve cyclus om een hoge dekking bij grote projecten te bereiken. Voordat de agent het werk afrondt, controleert deze via een lichte vorm van mutation testing of de geschreven tests ook daadwerkelijk falen wanneer er bewust fouten in de broncode worden aangebracht.
Duidelijke prestatiewinst bij vage opdrachten
Uit interne benchmarks van Microsoft onder 152 praktijkscenario's blijkt dat de gespecialiseerde agent aanzienlijk beter presteert dan standaard AI-assistenten. De agent voltooide 92,1 procent van de taken succesvol (140 van de 152), tegenover 78,9 procent (120 taken) bij de standaardversie van GitHub Copilot met hetzelfde AI-model.
De grootste winst werd geboekt bij korte en minder gedetailleerde opdrachten, zogeheten vage prompts. Daarbij behaalde de agent een score van 88,8 procent geslaagde taken, vergeleken met 66,3 procent bij de standaard Copilot. Het aantal mislukte pogingen daalde bij deze categorie met 67 procent. Volgens de ontwikkelaars laat dit zien dat de agent effectief de analyse uitvoert die de programmeur niet expliciet in de opdracht heeft meegegeven.
Ondersteuning voor meerdere talen en modellen
Hoewel de agent wordt ontwikkeld binnen het .NET-ecosysteem, bevat de tool richtlijnen voor een breed scala aan programmeertalen, waaronder C#, Python, TypeScript, Java, Go, C++, Rust en Kotlin. Bij testen in een Go-omgeving behaalde de agent zelfs een score van 100 procent. De werkwijze bleek bovendien effectief over verschillende AI-modellen, waaronder Claude Opus, GPT-5.5 en Claude Haiku.
De agent is als open-source software beschikbaar gesteld via de dotnet/skills repository op GitHub. Ontwikkelaars kunnen de plugin direct integreren via de GitHub Copilot CLI en de previewversies van Visual Studio Code. Support voor Visual Studio is momenteel in ontwikkeling.