DataBalk_Eat-Sleep-Repeat-01

GRIP en unit testing

Unit testing is bedoeld om software automatisch te kunnen testen. Automatisch betekent hierbij dat de tests worden uitgevoerd als één van de stappen tijdens het bouwen van een versie van het systeem.

De reikwijdte van een unit test is heel divers. Een unit test kan zich enerzijds richten op de juistheid van de validatie van bijvoorbeeld een buurt tot anderzijds op de juistheid van de berekening van het huurdervingsbedrag voor een huurprijscomponent over een bepaalde periode. Om een unit test te kunnen toepassen is het van belang dat het te testen onderdeel van de software ook testbaar is via een unit test. Dit is niet vanzelfsprekend.

De te testen programmacode moet zodanig worden georganiseerd en gestructureerd, dat unit tests kunnen worden ingezet. Omdat de unit tests tijdens het bouwen van het systeem worden uitgevoerd, wordt tijdens het bouwen een groot aantal onderdelen van het systeem steeds opnieuw getest. De unit tests beschermen hierbij het systeem tegen regressie.

Hoewel unit tests voor vele onderdelen kunnen worden ingezet, zijn ze bijvoorbeeld niet geschikt om visuele aspecten, zoals de UI (User Interface) van het systeem, te testen. Tijdens de ontwikkeling van GRIP worden unit tests ontwikkeld voor alle daarvoor in aanmerking komende onderdelen. Het ontwikkelen van de unit tests is standaard onderdeel van GRIP; het gebeurt tijdens en niet achteraf. Inmiddels zijn er 2.000+ unit tests ontwikkeld.

Voor GRIP wordt gebruik gemaakt van Visual Studio als ontwikkelomgeving. Visual Studio bevat uitstekende faciliteiten voor het ontwikkelen en uitvoeren van unit tests. Onder andere houdt Visual Studio bij welke programmacode door een unit test wordt geraakt. Dit wordt uitgedrukt in een zogenaamd ‘code coverage’ percentage.

Via Visual Studio kan ook inzage worden verkregen welke programmacode nog niet door een unit test wordt geraakt. Op basis daarvan kan worden besloten of er extra unit tests noodzakelijk zijn. Ten slotte kan worden gesteld, dat met een uitgebreide set unit tests (heel) veel handmatige testinspanning kan worden bespaard.

Met het toepassen van unit testing tijdens de ontwikkeling van GRIP, ontstaat een kwalitatief hoogwaardig eindproduct.

Comments are closed.