Info Support
Afstudeeropdracht in Software Development: Unit tests genereren met AI aan de hand van mutatie tests
AI-ondersteunde ontwikkeling is realiteit. Hiermee staat de effectiviteit van automatisch gegenereerde unit tests ter discussie. Jij onderzoekt wat een unit test waardevol maakt, hoe AI kan bijdragen, en bouwt een POC die dit proces demonstreert. Gaat AI de kwaliteit van unit testing veranderen? Duik in deze vraagstelling!
Benodigde interesse(s)
Wat krijg je
Wat je gaat doen
Het is veel werk om een grote applicatie goed te unit testen. Maar tegenwoordig is het mogelijk om unit tests te laten genereren door een AI zoals bijvoorbeeld co-pilot. Het risico dat hieraan vastzit is natuurlijk dat de unit tests niet correct zijn of onvoldoende diepgang hebben. Ook moeten er goede instructies aan de AI worden gegeven over wat er precies getest moet worden. Dit blijft echter handmatig werk, hoewel Stryker (1) eigenlijk al precies weet wat er getest moet worden, namelijk de mutaties die niet als “killed” worden gemarkeerd.
(1) Stryker.NET is het mutationtest framework voor .NET. Mutation testing wordt gebruikt om de effectiviteit van Unit Tests te meten. Bugs, of mutanten, worden automatisch gegenereerd in jouw source code. Vervolgens worden per mutatie alle unit tests uitgevoerd. Wanneer minimaal 1 test faalt, markeren we de mutatie als killed. Als de tests slagen, markeren we de mutatie als survived. Hoe meer killed mutaties, hoe effectiever jouw unit tests. Dit geeft een beter beeld dan code coverage omdat daadwerkelijk bewezen wordt dat de tests effectief zijn.
De opdracht
Aan jou is het de taak om te onderzoeken of het mogelijk is om aan de hand van de resultaten van een mutatie test run, nuttige unit tests te genereren met AI. Hierbij dient rekening gehouden te worden met:
Uiteraard ga je ook een POC bouwen om te bewijzen of het inderdaad mogelijk is. Denk hierbij aan een CLI tool die de resultaten van een mutatie test uitleest uit een json bestand, en vervolgens een AI aanroept met commando’s die worden gegenereerd aan de hand van de data in de json.
Wat biedt Info Support jou tijdens je afstudeerperiode?
Uiteraard bieden we je een uitstekend pakket aan afstudeervoorwaarden met verschillende keuzemogelijkheden. Denk hierbij aan:
Daarnaast biedt Info Support jou:
Over Info Support
Info Support is specialist in maatwerksoftware, data/AI solutions, beheer en trainingen en actief in de sectoren Finance, Industry, Agriculture, Food & Retail, Mobility & Public en Healthcare. Wij bieden solide en innovatieve oplossingen voor complexe en bedrijfkritische softwarevraagstukken. Onze hoofdkantoren zijn gevestigd in Veenendaal (NL) en Mechelen (BE). Op dit moment zijn er circa 500 medewerkers bij Info Support in dienst.
De werkwijze van Info Support kenmerkt zich door een aantal kernwaarden: soliditeit, integriteit, vakmanschap en passie. Deze kernwaarden zijn verweven in ons werk en de manier waarop we met elkaar omgaan. Ook dit jaar zijn we uitgeroepen tot Top Employer Nederland!
Om te zorgen dat alle medewerkers altijd op de hoogte kunnen zijn van de nieuwste ontwikkelingen beschikt Info Support over een inhouse kenniscentrum waar graag wordt voldaan aan de honger naar meer of andere kennis en vaardigheden.
B2-taalvaardigheid in het Nederlands is vereist.
Procedures
Kennismakingsgesprek
Na je sollicitatie plannen we iets in en bespreken je (studie) loopbaan, interesses en ambities. We vertellen je over Info Support en jij kan al je vragen stellen.
Assessment
Gaan we verder? Dan doe je een assessment van je professionele kennis en persoonlijkheid (capaciteit, competenties en motieven).
Selectie interview
Vervolgens plannen we een selectie interview waarin we dieper ingaan op je professionele kennis en je persoonlijkheid.
De ondertekening van een contract
Verloopt alles positief dan ontvang je een contractaanbieding. Zijn we het eens? Dan starten we de pre-employment screening en nodigen we je uit voor de tekenmomenten.
Ontmoet Info Supporters