Je programma testen
Een test vergelijkt wat er moet gebeuren met wat er echt gebeurt. Je bepaalt eerst het verwachte resultaat. Daarna voer je het programma uit met een bepaald voorbeeld en vergelijk je beide resultaten.
Testen betekent niet zomaar wat klikken totdat alles goed lijkt. Een nuttige test stelt een duidelijke vraag, bijvoorbeeld: ‘Geven nul sterren ook nul punten?’
Maak een testtabel
Stel dat elke ster twee punten waard is. Schrijf vóór het programmeren drie voorbeelden op:
| Sterren | Verwachte punten | Waarom proberen? |
|---|---|---|
| 0 | 0 | Niets verzameld |
| 1 | 2 | Eén vondst |
| 5 | 10 | Verschillende vondsten |
Een invoer samen met het verwachte resultaat heet een testgeval. Bewaar die gevallen, zodat je ze opnieuw kunt gebruiken nadat je code verandert.
Laat Pliro resultaten vergelijken
Dit voorbeeld gebruikt een functie: een stukje code met een naam dat een resultaat teruggeeft. Lees eerst over functies als dat nieuw voor je is.
# taal: nl
functie punten(sterren):
geef sterren * 2
zeg punten(0) == 0
zeg punten(1) == 2
zeg punten(5) == 10
== vraagt of twee waarden gelijk zijn. Elke regel meldt of het berekende resultaat gelijk is aan het verwachte resultaat.
Voorspel en probeer
Hoeveel controles moeten slagen?
true
true
true
Pliro toont booleaanse waarden als true en false, ook bij Nederlandse code. true betekent dat de vergelijking klopt. false zou betekenen dat de test een verschil vond. Dit zijn eenvoudige controles, geen apart Pliro-testraamwerk. Ze stoppen het programma niet automatisch.
Jouw uitdaging
Vervang sterren * 2 tijdelijk door sterren + 2. Voorspel welke controles misgaan en probeer het. Zet daarna de goede berekening terug. Zo controleer je of je tests echt een fout kunnen ontdekken.
Een veelgemaakte fout
Als je de berekening uit het programma kopieert naar het verwachte antwoord, kun je dezelfde fout kopiëren. Bereken kleine verwachte antwoorden zelf met vingers, fiches of papier.
Drie geslaagde controles bewijzen niet dat elke mogelijke invoer werkt. Voeg voorbeelden toe wanneer je een nieuwe regel bedenkt of een bug oplost. Oude tests herhalen na een wijziging heet regressietesten.
