Jobid=630535770092339280 (0.0242)
ppbEffectieve unit tests zijn cruciaal voor goede softwarekwaliteit. Met mutation testing meet je hoe sterk die tests echt zijn. In deze opdracht onderzoek je hoe het type-checkproces in TypeScript versneld kan worden met een nieuwe compiler van Microsoft. Je werkt je oplossing uit in een Proof of Concept binnen de codebase van StrykerJS. /b /p pVakmanschap 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 onder andere door het schrijven en uitvoeren van unit tests. Maar hoe weet je nu of je unit tests effectief zijn? Daar zetten we mutation testing voor in. /p pEen mutation testing framework maakt kleine wijzigingen in je productie code. Een “ teken verandert bijvoorbeeld in een `=` teken. Er ontstaat dan een mutant. Vervolgens voert het framework je tests uit, in de hoop dat er testen falen. Als dat gebeurt, dan is de mutant killed. Slagen al je tests, dan is de mutant survived. Het percentage killed mutants wordt de mutation score genoemd. Hoe hoger de mutation score, hoe effectiever je unit tests zijn. /p pStryker is het mutation test framework voor .NET, JS/TS en de JVM. Het wordt ontwikkeld door Info Support als open source tool. Inmiddels heeft Stryker meer dan 15 miljoen downloads! Voor meer info over Stryker zie: /p pStrykerJS ondersteunt ook TypeScript-projecten. Bij TypeScript kan het zijn dat een mutant een type-check error oplevert. Bijvoorbeeld: StrykerJS zal foo + bar muteren naar foo – bar. Deze mutant is invalid wanneer foo of bar van het type string zijn. De manier waarop StrykerJS dat bepaalt, is door alle mutanten te laten type-checken door de TypeScript compiler. Dit is een tijdrovend proces, omdat de TypeScript compiler traag is. De meeste gebruikers zetten deze type-check dan ook uit. Door de type-check op mutanten uit te zetten, is het resultaat minder waardevol, omdat je rapport veel false positives bevat. /p h3De opdracht /h3 pInmiddels is het TypeScript team bij Microsoft bezig met een rewrite van de broncode van TypeScript naar Go . De belofte is dat dit de TypeScript compiler tien keer sneller maakt. Er is inmiddels een alpha‑versie beschikbaar. Door de Go-versie van de TypeScript compiler te gebruiken in plaats van de huidige versie, zouden we potentieel de type-checking van mutanten tien keer kunnen versnellen. Onderzoek hoe we deze nieuwe compiler kunnen toepassen en implementeer een Proof of Concept (PoC) via een Pull Request op de StrykerJS-codebase. /p h3Over Info Support /h3 pInfo 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. /p pDe 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. /p pOm te zorgen dat alle medewerkers altijd op de hoogte kunnen zijn van de nieuwste ontwikkelingen beschikt Info Support over een inhouse IT Academy waar graag wordt voldaan aan de honger naar meer of andere kennis en vaardigheden. /p pbOm deze opdracht te kunnen doen is B2-taalvaardigheid in het Nederlands vereist. /b /p /p #J-18808-Ljbffr
Deel deze vacature:
