Afstudeeropdracht: Testduur verminderen voor Stryker.NET

Testen kost tijd. Dat moet sneller kunnen. Onderzoek welke technieken er al zijn of wat ontwikkeld kan worden om dit proces sneller te laten lopen. Werkt je oplossing goed? Dan wordt het onderdeel van het open source mutation testing framework Stryker.net.

Solliciteer direct

Benodigde interesse(s)

  • DevOps
  • .NET
  • Open Source
  • Testing

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

Bij ‘mutation testing’ worden de unit tests op elke toegevoegde code wijziging (mutant) telkens opnieuw uitgevoerd. Dit kost veel tijd. Stel bijvoorbeeld dat aan een klein project gemiddeld 400 code wijzigingen (Stryker mutanten) worden toegevoegd en het project bevat 100 unit tests die gemiddeld 2 seconden nodig hebben om te draaien. Dan duurt de volledige Stryker-run ten minste 400 * 2 seconden = bijna 15 minuten!

Hier bovenop komt nog de opstarttijd bij van ongeveer een minuut en per mutant kost het laten we zeggen 2 seconden om de unit tests überhaupt te starten. Dit veroorzaakt heel veel extra doorlooptijd. Dat moet anders kunnen.

De opdracht

Onderzoek welke technieken gebruikt kunnen worden om de impact van Stryker op de testduur te verminderen. Dit onderzoek voer je uit op het vlak van proces ‘forken’, subprocessing, caching en hergebruik van data in memory zodat het opstarten van het testproces maar éénmalig uitgevoerd wordt in plaats van per mutant opnieuw.

Als bewijs van het onderzoek maak je een Proof of Concept wat open source gepubliceerd zal worden en ook daadwerkelijk onderdeel van Stryker.net kan worden.

Over Stryker

Stryker is een mutation testing framework dat is ontstaan vanuit een afstudeeropdracht. Nog altijd wordt door enthousiaste collega’s ontwikkeld aan (inmiddels) Stryker voor Javascript (en friends), Stryker voor Scala en Stryker voor .Net (C#, F#). Info Support ondersteunt daarin nog altijd in middelen.

Procedures

  1. 1
  2. Kennismakingsgesprek

    Na je sollicitatie plannen we iets in en bespreken je (studie) loopbaan, interesses en ambities. We vertellen je over Info Support en jij kan al je vragen stellen.

  1. 2
  2. Beoordelingen

    Gaan we verder? Dan doe je een assessment van je professionele kennis en persoonlijkheid (capaciteit, competenties en motieven).

  1. 3
  2. Selectie interview

    Vervolgens plannen we een selectie interview waarin we je professionele kennis en persoonlijkheid verdiepen.

  1. 4
  2. De ondertekening van een contract

    Loopt alles positief dan ontvang je een contractaanbieding en een uitnodiging voor de tekenmomenten.