Benodigde interesse(s)

  • HBO
  • Java/Scala
  • C#/.NET
  • Javascript/Typscript

Wat krijg je

  • Trainingen gericht op jouw afstudeertraject
  • Een uitdagende afstudeeropdracht
  • € 1000 vergoeding of € 500 en lease auto
  • Professionele begeleiding
  • Sparren met andere afstudeerders en collega’s
  • Twee vakantiedagen per maand

Wat je gaat doen

Niet alleen afstuderen, maar direct een wezenlijke bijdrage leveren aan het IT-vakgebied? Dat kan met deze afstudeeropdracht, waarin je aan de slag gaat met Stryker Mutator; het open Source mutation testing framework waar Info Support de maintainer van is. Uiteraard word je vanaf dag 1 opgenomen in de Open Source Community van Info Support en krijg je passende Stryker T-shirt en sokken!

Omschrijving

Mutation testing

Vakmanschap is één van de kernwaarden van Info Support. We vinden goede kwaliteit van code belangrijk, dus zorgen we dat deze goed getest is. Dit doen we onder meer door het schrijven en uitvoeren van unit tests. Maar hoe weet je nu of de unit tests goed zijn? Eén mogelijkheid is om de code coverage te meten. Met code coverage meet je welke code precies geraakt wordt door je tests. Helaas zegt code coverage niks over de effectiviteit van je unit tests. Het is perfect mogelijk om een test te schrijven die 100% van je code raakt, maar toch 0% van je code test. Dit is waarom wij liever ‘mutation testing’ toepassen.

Een mutation testing framework maakt kleine wijzigingen in je productiecode. Er ontstaat dan een ‘mutant’. Hierna worden je tests uitgevoerd. Als je tests falen dan is de mutant ‘killed’. Slagen de tests dan is de mutant ‘survived’. Het percentage van killed mutants wordt de ‘mutation score’ genoemd. De mutation score zegt veel meer over de kwaliteit van je tests dan code coverage. Het is de enige manier om aan te tonen dat je tests effectief zijn.

Stryker Mutator

Stryker Mutator, of simpelweg ‘Stryker’, is een open source mutation testing framework waar Info Support de maintainer van. Veel collega’s dragen hieraan bij, in eigentijd en Info Support tijd. Stryker bestaat uit 3 implementaties:

  • Stryker: Het mutation testing framework voor JavaScript en TypeScript
  • Stryker.NET: Het mutation testing framework voor C#
  • Stryker4s: Het mutation testing framework voor Scala

Naast deze frameworks is er ook een dashboard beschikbaar waar de actuele mutation score is terug te vinden van sommige projecten: https://dashboard.stryker-mutator.io.

Momenteel is het niet duidelijk hoe Stryker precies wordt gebruikt bij verschillende klanten/organisaties. We weten op dit moment het antwoord niet op redelijk basale vragen, zoals:

  • Hoe lang duurt het gemiddeld om Stryker uit te voeren?
  • Hoe lang duurt het voor nieuwkomers om Stryker aan de praat te krijgen?
  • Hoe groot zijn de projecten waar Stryker wordt ingezet?
  • Welke configuraties zijn populair?

Door het verzamelen van gebruikersstatistieken kunnen we het antwoord vinden op deze vragen. Daarnaast zijn er misschien nog meer vragen waar we antwoord op kunnen krijgen zonder dat we dit weten. Wel moet de oplossing schaalbaar zijn, omdat Stryker over de hele wereld gebruikt wordt.

Het is super prettig om met superslimme collega’s te werken
Thomas – BPM Consultant en oud-afstudeerder

Opdracht

Je onderzoekt welke gebruikersstatistieken belangrijk zijn en hoe deze verzameld kunnen worden. Hierbij is het privacy aspect van groot belang. We moeten zeker zijn dat we de wereldwijde gegevens die we nodig hebben ook mogen verzamelen. Gelukkig hebben we collega’s die expert zijn op dit gebied en je hierbij kunnen helpen.

Het verzamelen van statistieken mag geen meetbare impact hebben voor de eindgebruikers. De gebouwde oplossing moet daarom schaalbaar worden opgezet, zodat het wereldwijd de gewenste performance en uptime behaald wordt. Een WebScale (microservices/event driven) architectuur ligt dus voor de hand.

We willen natuurlijk ook je oplossing echt werkt. Om dit te valideren moet het verzamelen van de statistieken in ten minste één van de 3 Stryker frameworks worden geïmplementeerd.

Afstuderen bij Info Support

Sollicitatieprocedure

1

Kennismakingsgesprek

Je voert een kennismakingsgesprek met een van onze adviseurs Werving & Selectie. Het geeft jou een beeld van Info Support en we kijken samen naar je achtergrond, werkervaring, vaardigheden, ambities en drijfveren.

2

E-assessment

Is er een wederzijdse klik, dan plannen we een selectiegesprek in. Ook ontvang je een uitnodiging voor een online assessment en onze Devskiller. Het e-assessment bestaat uit een cognitieve capaciteitentest, een persoonlijkheidsvragenlijst en een drijfveren test. De resultaten van het e-assessment en de Devskiller maken onderdeel uit van het selectiegesprek.

3

Selectiegesprek

Je voert het selectiegesprek met een van onze Business Unit Managers, een Technisch Screener en de Adviseur Werving & Selectie. Tijdens dit gesprek staan we stil bij je consultancy skills, persoonlijkheid en vakinhoudelijke kennis.

4

Contractondertekening

Na het selectiegesprek vindt een evaluatie van het gesprek plaats en koppelen we de uitkomst hiervan zo snel mogelijk aan je terug. Bij een positieve uitkomst, ontvang je van ons een contractaanbieding. Als je besluit in te gaan op de aanbieding, teken je jouw contract met een van onze directeuren. Als er geen aanbieding komt, lichten we je persoonlijk toe op welke gronden we tot die beslissing zijn gekomen.

Meld je aan voor deze opdracht

  • Dit veld is bedoeld voor validatiedoeleinden en moet niet worden gewijzigd.