Nieuw lesmateriaal: Code testen in Python

Gepost door Wouter van den Brink op 22 februari 2024

De afgelopen periode hebben we hard gewerkt aan nieuw lesmateriaal over code testen in Python voor domein A. Eerder kondigden we dit ook aan in onze roadmap — waar je overigens ook onze andere plannen kunt vinden!

Als je een computerprogramma schrijft, is het natuurlijk belangrijk dat je er zeker van bent dat het doet wat het moet doen. Hier ben je direct vanaf je eerste regel code al mee bezig: je voert het programma uit, geeft het als dat nodig is wat input, en observeert of het resultaat is zoals je verwacht.

Dat proces is enorm foutgevoelig. Als je nooit input geeft waarvoor je programma niet werkt, zul je er ook nooit achter komen dat er een fout zit in je programma. En reken maar dat de uiteindelijke gebruikers van je programma daar vanzelf achter komen!

Een systeemtester komt bij een bar. Hij bestelt 1 cola. Hij bestelt 5 cola’s. Hij bestelt -1 cola. Hij bestelt kaas cola’s. Hij bestelt NULL cola’s. Hij bestelt een banaan. Hij bestelt niets. Hij bestelt alles.

 

Natuurlijk wil je graag dat je leerlingen goed leren programmeren, en dus ook dat ze hun code goed testen.

 

In deze module leer je de technieken die je hiervoor kunt toepassen. Eerst maken leerlingen kennis met de unit test, misschien wel de eenvoudigste manier om code te testen. Bij zo'n test neem je één unit, of onderdeel, van de code onder de loep. Dat kan een functie zijn, maar ook een class of (bij hele grote systemen) zelfs één programma. Door allerlei soorten inputs aan de unit te geven, onderzoek je of de output eruit ziet zoals je verwacht.

Vervolgens kan de leerling aan de slag met allerlei andere technieken om software te testen:

Voorts geven we instructies over het gebruik van een functioneel ontwerp voor het schrijven van tests en het op een goede manier ontwikkelen van software. In een functioneel ontwerp beschrijf je wat een systeem moet doen, en hoe het eruit moet zien. Het is een waardevolle vaardigheid om op basis van een functioneel ontwerp te kunnen bepalen hoe je het te maken systeem goed kunt testen, zodat het voldoet aan het ontwerp.

In een grote eindopdracht brengen je leerlingen de opgedane kennis in de praktijk door een project naar (jouw) keuze te maken en voorzien van tests. Je hebt hierin veel ruimte en vrijheid voor differentiatie. Zo kun je de module heel klein houden, en alleen unit tests behandelen, of juist heel groot. Je behandelt dan alle verschillende testtechnieken en laat de leerlingen onder andere een functioneel ontwerp en testplan opleveren.

 

Het lesmateriaal is vanaf nu beschikbaar voor alle Fundament-gebruikers met een licentie voor het kernprogramma. Heb je vragen over de methode, of ben je geïnteresseerd in een proeflicentie? Neem dan contact op met onze adviseurs via [email protected].

 

-- Share It --