Camarillo weekupdate 2017-W07

De focus even op testing. Om te zorgen dat er tijdens de ontwikkeling van Camarillo niet onbedoeld is misgaat, wordt de software uitvoerig getest. Testen doen we met de hand, door overal op te klikken en te kijken of het (nog) werkt, maar ook door middel van een hele serie automatische tests. Een kijkje in de keuken van het ontwikkelproces.

De automatische tests hebben het voordeel dat ze elke keer precies hetzelfde doen en nooit iets vergeten. Het nadeel is dat ze natuurlijk wel gemaakt moeten worden, dus dat is meer programmeerwerk, maar dat levert ook weer tijd op, omdat fouten voorkomen worden. Deze week is een hoop aandacht besteed aan deze tests.

Er zijn eigenlijk twee soorten tests. Unit tests testen de code zelf. Als er bijvoorbeeld ergens code is om punten op te tellen, checkt de test of dat wel goed gebeurt. Hier hebben we er vrij veel van en dat gaat volledig automatisch:

Ook kunnen we kijken in hoeverre alle code met deze tests getest wordt, dat wordt de coverage genoemd. Zoals je kan zien wordt nog niet alle code op deze manier getest, maar we zijn een heel eind op weg (94%). Iedere keer als er nieuwe code wordt geschreven, worden er ook tests voor die code geschreven:

De andere vorm van tests zijn end tests. Deze tests testen de software vanuit gebruikersperspectief. Hierbij wordt Camarillo automatisch gestart en wordt er op knoppen geklikt en velden ingevuld. Vervolgens wordt gekeken of het programma reageert zoals het zou moeten. Dat is best leuk om te zien, alles gaat automatisch en behoorlijk snel. Dit is een stukje eruit:

Deze end tests kosten meer tijd om te bouwen, dus daar zijn er nu nog niet zo heel veel van. Maar ze zijn wel heel erg nuttig, want ze vertellen je precies wanneer iets niet (meer) werkt.