Stryker playground

Een interactieve live demo omgeving om het concept Mutation testing uit te leggen en live te testen. Een die vanuit je eigen browser uit te voeren is. Dat zou een enorme winst zijn voor Stryker. Om deze omgeving draait het in deze afstudeeropdracht.

Benodigde interesse(s)

  • NodeJS
  • NPM
  • Mutation testing
  • Java
  • .NET

Wat krijg je

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

Wat je gaat doen

  • 35% Afstudeeronderzoek
  • 40% Analyseren, ontwerpen, realiseren
  • 25% Documentatie

Voor nieuwkomers is Mutation testing moeilijk te begrijpen. Ook de introductie op onze website is vaak onvoldoende om het concept duidelijk te maken. Het voorbeeld-project waar we naartoe verwijzen is niet toegankelijk genoeg, omdat je daarvoor NodeJS & NPM kennis nodig hebt. Ook is dit voorbeeld enkel in JavaScript.

Een live demo die je vanuit je browser kunt uitvoeren zou hierbij een enorme winst kunnen zijn.

De opdracht

Onderzoek wat de mogelijkheden zijn om een interactieve demo op de Stryker website te plaatsen, de “Stryker playground”. Het moet mogelijk zijn om deze demo interactief aan te passen, door bijvoorbeeld testen toe te voegen of de subject under test aan te passen. Onderdeel van dit onderzoek is ook: waar wil je Stryker daadwerkelijk uitvoeren? Want op dit moment kan Stryker niet in de browser draaien.

Ontwikkel een eerste versie van de Stryker playground voor ten minste één van de Stryker frameworks en integreer deze op onze Stryker website. Houd hierbij rekening met de toekomstige uitbreiding naar meer Stryker implementaties.

Ter inspiratie: een voorbeeld van zo’n playground is https://infection-php.dev/ voor PHP.

Over Stryker

Vakmanschap is één van de kernwaarden van Info Support. We vinden goede codekwaliteit belangrijk. Daarom zorgen we ervoor dat onze code goed getest is. Dit doen we o.a. door het schrijven en uitvoeren van unit tests. Maar hoe weet je nu of je unit tests effectief zijn? Hier passen we graag mutation testing toe.

Een mutation testing framework maakt kleine wijzigingen in je productiecode. Een `>` teken verandert bijvoorbeeld in een `>=` teken. Er ontstaat dan een mutant. Hierna voert het framework je tests uit. Als ten minste 1 test faalt, dan is de mutant killed. Slagen al je tests, dan is de mutant survived. Het percentage van killed mutants wordt de mutation score genoemd. Hoe hoger de mutation score, hoe effectiever je unit tests zijn. De mutation score zegt dus 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, of simpelweg ‘Stryker’, is een open source mutation testing framework waar Info Support de maintainer van is. Veel collega’s dragen hieraan bij, in vrije tijd en in Info Support tijd. Stryker bestaat uit 3 implementaties:

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

Op onze website https://stryker-mutator.io vind je een introductie tot mutation testing, als ook een voorbeeld-project in JavaScript.

Meld je aan voor deze opdracht

  • Geaccepteerde bestandstypen: docx, doc, txt, pdf.
  • Geaccepteerde bestandstypen: docx, doc, txt, pdf.

Sollicitatieprocedure

  1. 1
  2. Kennismakingsgesprek

    Bespreek (studie) loopbaan, interesses en ambities en introductie Info Support.

  1. 2
  2. Beoordelingen

    Assessment van professionele kennis en persoonlijkheid (capaciteit, competenties en motieven).

  1. 3
  2. Selectie interview

    Professionele kennis en persoonlijkheid verdiepen.

  1. 4
  2. De ondertekening van een contract

    Contractaanbieding en uitnodiging voor tekenmomenten.