De grootste kennisbank van het HBO

Inspiratie op jouw vakgebied

Vrij toegankelijk

Terug naar zoekresultatenDeel deze publicatie

Project Roslyn inzetten om unit tests te genereren

Rechten: Alle rechten voorbehouden

Project Roslyn inzetten om unit tests te genereren

Rechten: Alle rechten voorbehouden

Samenvatting

Unit tests zijn hulpmiddelen om snel te controleren dat een bepaald en klein deel code naar verwachting werkt en in de toekomst blijft werken. Code coverage is een manier om te meten hoeveel code getest wordt met unit tests. Code coverage is goed om de totale dekking van tests te bepalen, maar het kan niet de kwaliteit van unit tests aantonen. Code branching wordt veroorzaakt door bepaalde code. Branching houdt in dat er meerdere mogelijke richtingen zijn om verder te gaan in de code, afhankelijk van een conditie. Om hoge code coverage te krijgen, moeten zo veel mogelijk branches uitgevoerd worden.

Project Roslyn is een project van Microsoft dat in de toekomst de C# en VB.NET compiler moet vervangen. Op dit moment is het nog een incomplete preview, waarbij het mogelijk is om syntax trees te maken van broncode. Daarnaast is het mogelijk om hier analyses en aanpassingen op uit te voeren. Verder kunnen semantische analyses uitgevoerd worden. C# is bovendien in te zetten als scripttaal. Met Roslyn kunnen er extensies voor Visual Studio gemaakt worden, maar deze werken alleen als Visual Studio opgestart wordt met de Roslyn language features.

Urist is een extensie voor Visual Studio, dat als prototype ontwikkeld is voor dit onderzoek. Het doel van Urist is om unit tests te genereren met een zo hoog mogelijke code coverage. Urist kan branches in een methode vinden. Voor elke branch wordt een unit test aangemaakt met daarin aangegeven welke branch getest moet worden. Ontwikkelaars moeten de gegenereerde test verder zelf uitwerken. Urist is vergelijkbaar met Microsoft Pex, een tool dat geparameteriseerde unit tests kan genereren en daar inputwaardes voor kan vinden zodat er een nieuwe branch wordt uitgevoerd. De code coverage van Urist en Pex zijn vergelijkbaar, indien de tests van Urist verder uitgewerkt worden.

Met Project Roslyn is het goed mogelijk om een tool te ondersteunen dat unit tests genereert met hoge code coverage. Hoewel Roslyn nog een incomplete preview is, is het al mogelijk om de branches te vinden. Als de semantische analyse volledig geïmplementeerd is, dan zou het mogelijk moeten zijn om unit tests te maken waarbij alleen nog assertions toegevoegd moeten worden. Het wordt aangeraden om met verdere ontwikkeling te wachten totdat Project Roslyn verder ontwikkeld is. Dan is het mogelijk om een complete unit test genereer tool te ontwikkelen.

Toon meer
OrganisatieHZ University of Applied Sciences
OpleidingInformatica
InstituutAcademie voor Technologie & Innovatie
PartnersAvanade
Gepubliceerd in
Datum2012-07-04
TypeBachelorscriptie
TaalNederlands

Op de HBO Kennisbank vind je publicaties van 25 hogescholen

De grootste kennisbank van het HBO

Inspiratie op jouw vakgebied

Vrij toegankelijk