Afstudeeropdracht in DevOps Methods

4 weken geleden


Veenendaal, 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
Onderzoek de implementatie van Mutant Schemata in Java, een alternatief voor de huidige standaard, PITest. Ondanks de kracht van bytecode mutatie, kent het nadelen zoals onnauwkeurigheid, onbereikbare mutanten en performance overhead. Jouw taak is het analyseren van deze techniek, de voor- en nadelen ten opzichte van PITest te evalueren en een prototype te ontwikkelen. Dit werk kan bijdragen aan verbeteringen in mutation testing en de basis vormen voor toekomstige open-source ontwikkelingen.

Functie-eisen

Vakmanschap is één van de kernwaarden van Info Support. We vinden goede codekwaliteit belangrijk. Om te zorgen dat onze code grondig getest is, schrijven en voeren we onder andere unit tests uit. Maar hoe bepaal je de effectiviteit van je unit tests? Hier komt mutation testing om de hoek kijken.

Bij mutation testing voert een framework kleine wijzigingen door in je productiecode. Zo kan bijvoorbeeld een > teken veranderen in een >= teken, wat resulteert in een mutant. Vervolgens draait het framework je tests. Faalt er ten minste één test, dan is de mutant ‘killed'. Slagen alle tests, dan heeft de mutant ‘survived'. Het percentage ‘killed' mutants wordt de mutation score genoemd. Hoe hoger deze score, hoe effectiever je unit tests zijn.

Pitest is het mutation testing framework voor Java, dat werkt op basis van bytecode mutatie. De code wordt eerst naar bytecode gecompileerd, waarna mutanten één voor één worden ingevoerd in de bytecode en getest.

Stryker is een mutation test framework voor .NET, JavaScript, Scala en in de toekomst ook Kotlin. Het wordt ontwikkeld door Info Support als open source tool (met inmiddels meer dan 10 milioen downloads). Stryker werkt altijd met mutant schemata. Bij mutant schemata worden de mutanten allemaal tegelijk in de broncode gezet, maar er kan er maar één tegelijk actief zijn.

Dit is een voorbeeld van mutant schemata bij JavaScript:

Wanneer je mutation testing wilt toepassen in Java-projecten, is PITest momenteel de go-to keuze. Dit betekent dat er gebruik wordt gemaakt van bytecode mutatie, wat enkele nadelen met zich meebrengt:

  1. Accuratie: Het is niet mogelijk om de exacte locatie van een mutant in de broncode aan te duiden
  2. False positives: Er worden mutanten gegenereerd die in Java niet gecreëerd kunnen worden
  3. Performance: Voor het testen van een mutant moet deze eerst aan de bytecode worden toegevoegd, wat aanzienlijke overhead veroorzaakt


Arbeidsvoorwaarden
De opdracht

Onderzoek hoe Mutant Schemata in Java geïmplementeerd kan worden en welke voordelen en nadelen dit heeft t.o.v. PITest. Ontwikkel vervolgens een prototype om je bevindingen te bewijzen.

Wanneer het prototype succesvol is kunnen we deze in open source verder ontwikkelen onder de noemer Stryker mutator.

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

    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 DevOps Methods & Tools: Deno support for StrykerJS Ontdek de mogelijkheden van Deno, een opkomende JavaScript runtime. Integreer Deno binnen het StrykerJS-framework en verdiep je in open-source software door een brug te slaan tussen Deno en StrykerJS. Jouw taak is het implementeren van compatibiliteit, het verbeteren van de toolset...


  • 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

    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

    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, Nederland Info Support Voltijd

    Afstudeeropdracht in DevOps Methods & Tools: Knowledge management in the forever changing world of IT Een kennisgedreven organisatie. Dat is Info Support. Maar kennis is dynamisch. Kennis die je niet hoeft in te zetten neemt af. Hoe kan je het kennisniveau concreet en meetbaar maken zodat je de juiste Info Supporters met de beste skills aan het juiste...


  • Veenendaal, Nederland Info Support Voltijd

    Afstudeeropdracht in DevOps Methods & Tools: Knowledge management in the forever changing world of IT Een kennisgedreven organisatie. Dat is Info Support. Maar kennis is dynamisch. Kennis die je niet hoeft in te zetten neemt af. Hoe kan je het kennisniveau concreet en meetbaar maken zodat je de juiste Info Supporters met de beste skills aan het juiste...


  • Veenendaal, Nederland Info Support Voltijd

    Afstudeeropdracht in DevOps Methods & Tools: Better mutation testing for Java Onderzoek de implementatie van Mutant Schemata in Java, een alternatief voor de huidige standaard, PITest. Ondanks de kracht van bytecode mutatie, kent het nadelen zoals onnauwkeurigheid, onbereikbare mutanten en performance overhead. Jouw taak is het analyseren van deze...


  • Veenendaal, Nederland Info Support Voltijd

    Afstudeeropdracht in DevOps Methods & Tools: Better mutation testing for Java Onderzoek de implementatie van Mutant Schemata in Java, een alternatief voor de huidige standaard, PITest. Ondanks de kracht van bytecode mutatie, kent het nadelen zoals onnauwkeurigheid, onbereikbare mutanten en performance overhead. Jouw taak is het analyseren van deze...


  • 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, 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, 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) ...

  • DevOps Methods

    2 maanden geleden


    Veenendaal, Nederland Info Support Nederland Voltijd

    Voor DevOps is het niet bij alle software even makkelijk om het end of life-moment goed bij te houden. Bij deze opdracht onderzoek je manieren om de GitOps-repository te scannen op gebruikte softwareversies of te controleren op beschikbare software updates en eventueel benodigde acties op te volgen of in te plannen. Benodigde interesse(s) DevOps GitOps ...

  • DevOps Methods

    4 weken geleden


    Veenendaal, Nederland Info Support Nederland Voltijd

    Voor DevOps is het niet bij alle software even makkelijk om het end of life-moment goed bij te houden. Bij deze opdracht onderzoek je manieren om de GitOps-repository te scannen op gebruikte softwareversies of te controleren op beschikbare software updates en eventueel benodigde acties op te volgen of in te plannen. Benodigde interesse(s) DevOps GitOps ...


  • Veenendaal, 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...


  • Veenendaal, 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...


  • Veenendaal, Nederland Info Support Voltijd

    Afstudeeropdracht in Software Development: DevOps workflows voor servicegerichte teams Geautomatiseerd overzicht bewaren over incident-tickets en incident-statussen. Dat is de uitdaging binnen deze opdracht. Om ervoor te zorgen dat onze DevOps-teams binnen Managed Services, die ook aan andere projecten werken, niets uit het oog verliezen. ...


  • Veenendaal, Nederland Info Support Voltijd

    Afstudeeropdracht in Software Development: DevOps workflows voor servicegerichte teams Geautomatiseerd overzicht bewaren over incident-tickets en incident-statussen. Dat is de uitdaging binnen deze opdracht. Om ervoor te zorgen dat onze DevOps-teams binnen Managed Services, die ook aan andere projecten werken, niets uit het oog verliezen. ...