Razor Support voor Stryker.NET

Razor. Een ontwikkeltaal die naast C# draait en die door Stryker.NET nog niet wordt ondersteund. Daar ga jij verandering in brengen. Tijdens deze opdracht ga jij onderzoeken hoe je Razor support toe kan voegen aan Stryker.NET.

Benodigde interesse(s)

  • Git
  • C#
  • .NET Ecosysteem
  • Unit testen

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

Met de komst voor server- en clientside Blazor neemt het gebruik van Razor components toe. Door de specifieke syntax van Razor components is het op het moment niet mogelijk om mutation testing toe te passen via Stryker.NET op deze componenten. Dit zorgt er voor dat alle testen die geschreven zijn voor Razor components niet meegenomen kunnen worden in een mutation test. Je mutation score is dus niet in lijn met de werkelijkheid.

De opdracht

Onderzoek manieren om mutation testing toe te passen op Razor components in Stryker.NET om op deze manier de inzetbaarheid van Stryker.NET binnen het .NET ecosysteem te vergroten. Na het onderzoek ga je in Stryker.NET een Proof of Concept realiseren voor Razor support.

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 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.