Tijdschrift voor innovatief hoger onderwijs nummer 1 - jaargang 1 - 2018 | Page 52

Growing Towards a Unit Testing Strategy
opleidingsonderdeel ‘. NET Essentials ’, aangeboden in het eerste jaar ‘ Toegepaste Informatica ’. In dit opleidingsonderdeel leren studenten de programmeertaal C #. De oefeningen van enkele hoofdstukken uit de cursus werden voorzien van automatische testen . De studenten maken de oefeningen in hun eigen ontwikkelomgeving , terwijl ze in diezelfde omgeving de automatische testen uitvoeren om een oefening te valideren .
Wesley Hendrikx
PXL-IT
om vanuit andere ontwikkelomgevingen voor andere talen ( Java , Javascript , Python ,…) testresultaten door te sturen .
Een leeranalytische tool ontsluit de gegevens van deze database in de vorm van een webapplicatie . Via deze applicatie , het dashboard , kunnen studenten zich registreren en hun eigen voortgang bekijken . Ook kunnen ze hun eigen resultaten vergelijken met het gemiddelde van de andere studenten . Voor lectoren is dit dashboard een tool waarmee ze de voortgang van hun studenten kunnen opvolgen .
FIGUUR 1 : HET RESULTAAT VAN EEN TESTUITVOERING VOOR EEN OEFENING IN DE ONTWIKKELOMGEVING VAN DE STUDENT .
Bij de testen die falen , staat een rood kruis . Bij de testen die slagen , staat een groen vinkje . De naamgeving van de testen is zo opgebouwd dat ze een indicatie geven van wat de productiecode hoort te doen . De test ‘ ShouldGenerateDifferentNumbersInEachLabel ’ gaat bijvoorbeeld na of er in de oplossing twee verschillende getallen op het scherm worden geplaatst .
Testen schrijven is een monnikenwerk : niet alleen de meest voorkomende gevallen dien je te testen , maar ook en vooral de randgevallen en die gevallen die fouten veroorzaken . De gebruiker van een programma verwacht immers dat zijn programma ten alle tijden werkt en niet zomaar afbreekt . Ter ondersteuning van de lector , is er een pakket gebouwd dat hulpmiddelen bevat om het schrijven van automatische testen te vergemakkelijken . Momenteel ondersteunen we enkel de programmeertaal C #. De ( open source ) code en een handleiding vind je via https :// github . com / PXL-IT- NET / Guts / tree / master / DotNetClient . Het pakket bevat ook hulpmiddelen om de testresultaten door te sturen naar een centrale service . Dat brengt ons bij het tweede luik : het verzamelen en visualiseren van de testresultaten .
Verzamelen
en
visualiseren
van
testresultaten
De resultaten van alle testuitvoeringen van alle studenten worden verzameld in een centrale database . Na elke uitvoering van testen stuurt de ontwikkelomgeving de testresultaten door naar deze database . Dit doorsturen en bewaren van testresultaten is generiek opgebouwd . Zo zal het later mogelijk zal zijn
FIGUUR 2 : OVERZICHT VAN DE TESTRESULTATEN VAN DE STUDENT ( LINKS ) EN HET GEMIDDELDE ( RECHTS ) VOOR HOOFDSTUK 5 VAN DE CURSUS ‘. NET
ESSENTIALS ’
De ( open source ) code voor de REST Service en de dashboard webapplicatie staat online : https :// github . com / PXL-IT- NET / Guts / tree / master / BackEnd . Het dashboard van de POC is bereikbaar via https :// guts-web . appspot . com .
Meting
Voor het opleidingsonderdeel ‘. NET Essentials ’ is er een experiment uitgevoerd waarbij een groot aantal studenten ( n = 177 ) oefeningen van bepaalde hoofdstukken hebben gemaakt met de ondersteuning van automatische testen . Vervolgens peilde een online bevraging naar de impact op het welbevinden , de zelfinschatting en de motivatie van de student .
Op de vraag of ze technische moeilijkheden hebben ondervonden bij het uitvoeren van automatische testen , zegt bijna 80 % dat ze weinig of geen hinder hebben ondervonden . Dit duidt op een geslaagd experiment op technisch vlak .
Verder stelden we vast dat een meerderheid van de studenten meer gemotiveerd was om oefeningen te maken (
52