Afstudeeropdracht in Software Development: Unit tests genereren met AI aan de hand van mutatie tests

1 week geleden


Veenendaal, Utrecht, Nederland Info Support Voltijd

Maatwerksoftware bouwen waar miljoenen mensen dagelijks gebruik van maken. Dat is ons werk. Voor grote gerenommeerde klanten in Nederland en België. Betrouwbaar, schaalbaar en onderhoudbaar. Wij gaan voor software oplossingen van zeer hoge kwaliteit. Binnen de afgesproken tijd en het budget. Door samen continu te vernieuwen helpen we klanten en de wereld significant vooruit

Functiebeschrijving
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

Functie-eisen

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.



Arbeidsvoorwaarden
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:

  • Wat maakt een unit test een nuttige unit test?
  • Hoe kan mutatie testen helpen om de gegenereerde tests te valideren?
  • Welke AI is op dit moment het meest geschikt om unit tests mee te genereren (co-pilot, amazon codewhisperer, ChatGPT, Google Bard, Bing AI)
  • Hoe kan een mutatie test rapport worden omgezet naar commando's waar een AI iets mee kan?
  • Hoe kan dit programmeer taal onafhankelijk geïmplementeerd worden?

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:

  • Laptop, alle benodigde tools en ontwikkelomgevingen om je opdracht succesvol uit te kunnen voeren
  • Een afstudeervergoeding waarbij je de keus hebt uit:
    • € 1000,- bruto per maand
    • € 500,- bruto per maand + leaseauto met tankpas
    • € 600,- bruto per maand + woonruimte in Veenendaal
  • Tijdens je afstudeerstage word je opgenomen in een van onze business units. Zo krijg je direct een goed beeld van de ontwikkelingen binnen onze projecten.

Daarnaast biedt Info Support jou:

  • Een uitdagende afstudeeropdracht bij een solide, groeiend en financieel gezond bedrijf
  • Professionele en ervaren begeleiding, hybride werken
  • Een afstudeerprogramma met onder meer trainingen, kennisavonden, projectbezoek, activiteiten en team-, unit- en bedrijfsuitjes
  • Experimenteren met nieuwe producten en releases die in de pre-releasefase zitten
  • Sparren met andere afstudeerders en collegiale en gepassioneerde IT-collega's
  • Uitzicht op het IT Top Traineeship mét een vast dienstverband

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.



  • Veenendaal, Utrecht, Nederland Info Support Voltijd

    Maatwerksoftware bouwen waar miljoenen mensen dagelijks gebruik van maken. Dat is ons werk. Voor grote gerenommeerde klanten in Nederland en België. Betrouwbaar, schaalbaar en onderhoudbaar. Wij gaan voor software oplossingen van zeer hoge kwaliteit. Binnen de afgesproken tijd en het budget. Door samen continu te vernieuwen helpen we klanten en de wereld...


  • Veenendaal, Utrecht, Nederland Info Support Voltijd € 600

    ```html Afstudeeropdracht in Data Engineering: Testdata genereren met behulp van AI Een goede set testdata. Een heel belangrijk onderdeel als je als data engineer werkt. Zodat je wat je hebt gebouwd, buiten productie, goed kan testen. Productie data gebruiken is uiteraard niet mogelijk. Maar zou je AI kunnen inzetten voor het selecteren/genereren van edge...


  • Veenendaal, Utrecht, Nederland Info Support Voltijd

    Afstudeeropdracht in Software Development: Test framework voor een modern Azure data platform Een zo volledig mogelijk testframework uitwerken voor een modern Azure data platform. Dat is je opdracht. Om te kunnen controleren of unit tests, integratietests en data quality tests echt werken. Benodigde interesse(s) Data & AI Azure Modern Data...


  • Veenendaal, Utrecht, Nederland Info Support Voltijd

    Afstudeeropdracht in Software Development: Test framework voor modern Azure integration platform Ontdek de kunst van het efficiënt testen van cloud-integraties binnen Azure. Analyseer de uitdagingen en exploreer automatische testmethoden om de ontwikkeling van betrouwbare integraties te verbeteren. Jouw inzichten en een proof of concept kunnen bijdragen...


  • Veenendaal, Utrecht, Nederland Info Support Voltijd

    Afstudeeropdracht in Software Development: EcoRoute: jouw rit, onze planeet (Project SPITS)Veel mensen reizen niet op een duurzame manier en misschien weten ze niet eens hoe dat te verbeteren. Dus, wat dacht je van het ontwikkelen van een toffe mobiele app die hen helpt betere keuzes te maken? Met deze app kunnen gebruikers een duurzaamheidsscore krijgen...


  • Veenendaal, Utrecht, Nederland Info Support Voltijd

    Maatwerksoftware bouwen waar miljoenen mensen dagelijks gebruik van maken. Dat is ons werk. Voor grote gerenommeerde klanten in Nederland en België. Betrouwbaar, schaalbaar en onderhoudbaar. Wij gaan voor software oplossingen van zeer hoge kwaliteit. Binnen de afgesproken tijd en het budget. Door samen continu te vernieuwen helpen we klanten en de wereld...


  • Veenendaal, Utrecht, Nederland Info Support Voltijd

    Afstudeeropdracht in Software Development: Stryker Cloud Orchestrator Stryker is een top mutation test framework voor .NET, JS/TS en de JVM. Bugs, of mutanten, worden automatisch gegenereerd in jouw source code. Vervolgens worden per mutatie alle unit tests uitgevoerd om de effectiviteit te beoordelen. In deze opdracht ga jij werken aan een oplossing om het...


  • Veenendaal, Utrecht, Nederland Info Support Voltijd

    Maatwerksoftware bouwen waar miljoenen mensen dagelijks gebruik van maken. Dat is ons werk. Voor grote gerenommeerde klanten in Nederland en België. Betrouwbaar, schaalbaar en onderhoudbaar. Wij gaan voor software oplossingen van zeer hoge kwaliteit. Binnen de afgesproken tijd en het budget. Door samen continu te vernieuwen helpen we klanten en de wereld...


  • Veenendaal, Utrecht, Nederland Info Support Voltijd

    Afstudeeropdracht in Software Development: Building a Java accelerator to accelerate your project Snel en gemakkelijk een nieuw Javaproject genereren. Tijdens deze opdracht ga jij het mogelijk maken om projecten te genereren volgens standaardtemplates. Zodat nieuwe services voor iedereen makkelijk inzichtelijk zijn. Benodigde interesse(s) Java...

  • Afstudeeropdracht in Data

    1 week geleden


    Veenendaal, Utrecht, Nederland Info Support Voltijd

    Afstudeeropdracht in Data & AI: Machine-learning gebruiken om synthetische feature data te genereren Synthetische data wordt gemaakt omdat klanten al wel aan de slag wil met machine learning modellen, maar nog niet voldoende data hebben. Ook voor unit-testen en integratietesten creëren we synthetische data. Door de vele handmatige stappen kost dit veel...


  • Veenendaal, Utrecht, Nederland Info Support Voltijd

    Maatwerksoftware bouwen waar miljoenen mensen dagelijks gebruik van maken. Dat is ons werk. Voor grote gerenommeerde klanten in Nederland en België. Betrouwbaar, schaalbaar en onderhoudbaar. Wij gaan voor software oplossingen van zeer hoge kwaliteit. Binnen de afgesproken tijd en het budget. Door samen continu te vernieuwen helpen we klanten en de wereld...

  • Afstudeeropdracht in Data

    1 week geleden


    Veenendaal, Utrecht, Nederland Info Support Voltijd

    Maatwerksoftware bouwen waar miljoenen mensen dagelijks gebruik van maken. Dat is ons werk. Voor grote gerenommeerde klanten in Nederland en België. Betrouwbaar, schaalbaar en onderhoudbaar. Wij gaan voor software oplossingen van zeer hoge kwaliteit. Binnen de afgesproken tijd en het budget. Door samen continu te vernieuwen helpen we klanten en de wereld...


  • Veenendaal, Utrecht, Nederland Info Support Voltijd

    Maatwerksoftware bouwen waar miljoenen mensen dagelijks gebruik van maken. Dat is ons werk. Voor grote gerenommeerde klanten in Nederland en België. Betrouwbaar, schaalbaar en onderhoudbaar. Wij gaan voor software oplossingen van zeer hoge kwaliteit. Binnen de afgesproken tijd en het budget. Door samen continu te vernieuwen helpen we klanten en de wereld...


  • Veenendaal, Utrecht, Nederland Info Support Voltijd

    Afstudeeropdracht in DevOps Methods & Tools: One Test Runner plugin 'to rule them all' In veel projecten ontwikkelen we in JavaScript (TypeScript). Testen worden geschreven in Karma, Jest, Mocha, Jasmine, CucumberJS, Vitest, etc. omdat test runners niet generiek kunnen worden aangeroepen door IDE's. In deze opdracht ga jij daar een oplossing voor bouwen....


  • Veenendaal, Utrecht, Nederland Info Support Voltijd

    Afstudeeropdracht in Software Development: De EnergieGraaf: Meetdata routeplannen (Project SEMS) Duik in de wereld van data-integratie en automatisering met 'De EnergieGraaf'. Onderzoek hoe complexe berekeningen voor elektriciteitsverbruik efficiënter kunnen via software en ontwikkel een proof of concept dat tijdsintensief handwerk vervangt door...


  • Veenendaal, Utrecht, Nederland Info Support Voltijd

    Afstudeeropdracht in Software Development: Azure DevOps Insights report generator Een applicatie die een team inzicht geeft over hoe het team werkt op basis van de gebruikte DevOps tooling (Azure DevOps). Dat is de uitdaging binnen deze opdracht. Om het team deze informatie te laten gebruiken om zich verder te verbeteren. Benodigde interesse(s) ...


  • Veenendaal, Utrecht, Nederland Info Support Voltijd

    Maatwerksoftware bouwen waar miljoenen mensen dagelijks gebruik van maken. Dat is ons werk. Voor grote gerenommeerde klanten in Nederland en België. Betrouwbaar, schaalbaar en onderhoudbaar. Wij gaan voor software oplossingen van zeer hoge kwaliteit. Binnen de afgesproken tijd en het budget. Door samen continu te vernieuwen helpen we klanten en de wereld...


  • Veenendaal, Utrecht, Nederland Info Support Voltijd

    Maatwerksoftware bouwen waar miljoenen mensen dagelijks gebruik van maken. Dat is ons werk. Voor grote gerenommeerde klanten in Nederland en België. Betrouwbaar, schaalbaar en onderhoudbaar. Wij gaan voor software oplossingen van zeer hoge kwaliteit. Binnen de afgesproken tijd en het budget. Door samen continu te vernieuwen helpen we klanten en de wereld...


  • Veenendaal, Utrecht, Nederland Info Support Voltijd

    Afstudeeropdracht in Software Development: Security by design validator Klanten willen kunnen zien dat alle securitymaatregelen zijn geimplementeerd bij het bouwen van software. Veel is echter geautomatiseerd en daardoor lastig inzichtelijk te maken. Hier ga jij een oplossing voor vinden. Je kijkt naar wat de huidige generatie tools nog niet kunnen en...

  • Afstudeeropdracht in Data

    1 week geleden


    Veenendaal, Utrecht, Nederland Info Support Voltijd

    Maatwerksoftware bouwen waar miljoenen mensen dagelijks gebruik van maken. Dat is ons werk. Voor grote gerenommeerde klanten in Nederland en België. Betrouwbaar, schaalbaar en onderhoudbaar. Wij gaan voor software oplossingen van zeer hoge kwaliteit. Binnen de afgesproken tijd en het budget. Door samen continu te vernieuwen helpen we klanten en de wereld...