Ken je dat…?
Je hebt hard toegewerkt naar een release: een nieuwe versie van je software-applicatie wordt live gezet. Eentje met allemaal mooie nieuwe features. Maar al snel blijkt dat een bestaand onderdeel niet meer werkt.
In plaats van het vieren van een nieuwe update ben je opeens bezig met het oplossen van een probleem. En dat terwijl je een gedegen testplan had gemaakt, waarin meerdere flows zijn doorlopen.
Hmmm… hoe had je de kans op het onverwacht stukgaan kunnen verkleinen?
Onderbelicht, maar o zo effectief: unittesten
Ja, het is waarschijnlijk geen verrassing meer, maar wij zijn fan van unittesten. Dit is voor ons naast acceptatie-, systeem- en integratietesten een op zichzelf staand onderdeel van de testworkflow.
Wat is een unittest?
Een unittest is niets meer dan een (automatische) test die een specifiek deel van de code controleert. Vaak gebeurt dat op een geïsoleerde manier, zodat je het resultaat direct kan vergelijken met de verwachte uitkomst. Ook kan je de unittest zo inrichten dat die automatisch plaatsvindt bij elke (code)wijziging.
Waar je bij een integratietest een volledige flow van A tot Z checkt (dus met alle onderliggende functies en functionaliteiten), kader je met een unittest dus ‘maar’ één klein onderdeel binnen die hele flow af.
Wat win je met unittesten?
Je krijgt met unittesten meer grip op de software-ontwikkeling. Met als belangrijkste resultaat: een stabielere applicatie en minder onzekerheid bij elke nieuwe versie.
Voorbeeld van unittesten
Stel, een deel van je applicatie is speciaal ontwikkeld om iets op te slaan. Met een unittest check je dan bijvoorbeeld of alle ingevoerde gegevens op de juiste manier worden opgeslagen.
Kost een unittest extra tijd?
Jazeker, maar die betaalt zich vanzelf terug. ‘Helaas’ heb je dit pas door als je het níet hebt gedaan. Dit klinkt misschien wat Cruijffiaans…
Anders gezegd: in de ideale wereld neem je het unittesten vanaf het begin van je ontwikkeltraject mee. Maar vanwege budgetkeuzes is de unittest nog wel eens kind van de rekening. Tijd kost immers geld.
Maar om dan maar een echte quote van Johan Cruijff te gebruiken: ‘Elk nadeel heb z’n voordeel’. Een unittest verkleint het risico op onverwachte errors, op probleemoplossingen achteraf. Die kosten ook tijd en dus geld. Soms nog wel meer dan het inrichten van de unittest zelf.
Voor unittesten is het nooit te laat
Ook als iets al ontwikkeld is, kan je nog (automatische) unittesten toevoegen. Kies er dan wel voor om de belangrijkste onderdelen eerst aan te pakken.
Hoe gebeurt het unittesten bij jullie?
Zorg ervoor dat je op de juiste manier een unittest inricht. Anders mis je alsnog mogelijke fouten. Wij helpen hier graag bij. Neem gerust contact met ons op om vrijblijvend te sparren.
Auteur: Sander van den Broek