Test Driven Development: Waarom tijd besteden aan het schrijven van tests

Geschreven door: op donderdag 4 juni 2015

Leestijd:

Unit testing

Test Driven Development of TDD beschrijft een werkwijze van het maken van unit tests voordat er code wordt geschreven.

Voordat we dieper op dit onderwerp ingaan laten we eerst eens zien wat de definitie is van unit testen. Dit vertelt wikipedia ons:

“…, unit testing is a method by which individual units of source code, sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures, are tested to determine if they are fit for use.”- “Intuitively, one can view a unit as the smallest testable part of an application”

Simpel gezegd komt dat dus neer op:

“…, unit testing is testing the smallest testable part (of an application)”

Om het nog simpeler te zeggen: Unit testen gaat om het verifiëren van verwachtingen. En dat is alles. Met behulp van unit testen zorg je er dus voor dat je code doet wat je verwacht dat het moet doen.

Waarom unit tests schrijven

Zoals hierboven gezegd schrijven we tests zodat we kunnen controleren of de code doet wat het moet doen. Het voordeel van het schrijven van unit tests is dat het tijd scheelt tegenover het handmatig testen je code. Het kan uiteraard met de hand gedaan worden, maar bij uitgebreide applicaties is dit niet meer te doen.

Unit tests dienen niet als vervanging van het gewone testen, maar als een ondersteuning. Unit tests testen namelijk niet de werking van je applicatie, maar de werking van je code. Je applicatie kan nog steeds fouten bevatten terwijl alle unit tests in orde zijn.

Test Driven Development in de praktijk

Op internet zijn veel voorbeelden te vinden waarbij er telkens eerst alle tests worden geschreven om vervolgens pas de daarbij horende code te schrijven. Zo is TDD namelijk ook bedoelt. In de praktijk is het niet altijd wenselijk om voor elk gedeelte direct een unit test te hebben. Dit kan komen door meerdere redenen zoals tijd. Het is uiteindelijk wel wenselijk om een zo hoog mogelijke coverage te hebben van je unit tests. Hiermee zorg je er namelijk voor dat je code goed voorbereid is op uitbreidingen doordat deze maar één ding doet. Zie ons artikel over Object Oriëntated Design als je hier meer over wilt weten.

TDD Oefeningen

Op het internet zijn er veel oefeningen te vinden voor TDD. Dit zijn zogenaamde Coding Kata’s. Deze zijn er veel verschillende vormen en talen. Je kunt er een aantal vinden op de volgende websites:

  1. http://osherove.com/tdd-kata-1/
  2. http://www.codekatas.org/
  3. http://thecleancoder.blogspot.nl/2010/10/craftsman-62-dark-path.html

Andere blogartikelen

  • Het gebruik van await in C#

    Geschreven door: op zaterdag 28 maart 2020

    Binnen applicaties kunnen soms functies voorkomen die lang nodig hebben om te voltooien. Denk bijvoorbeeld aan een call naar een API van een derde partij die veel data teruggeeft die verwerkt moet wor ...

    Bekijk het artikel »
  • Het gebruik van de SemaphoreSlim class in C#

    Geschreven door: op zaterdag 28 maart 2020

    Webapplicaties kunnen meerdere calls vanuit meerdere plekken verwerken zonder dat deze requests op elkaar moeten wachten. Maar soms heb je te maken met een usecase waar je helemaal niet wilt dat funct ...

    Bekijk het artikel »
  • SQL en het gebruik van JOIN

    Geschreven door: op zaterdag 28 maart 2020

    Binnen SQL heb je verschillende manieren om tabellen met elkaar te koppelen om zo data uit beide tabellen terug te krijgen in de resultaten. Maar wat houdt elk van deze joins in?Verschillende typenE ...

    Bekijk het artikel »
Bel 072 5345 888
Meer dan 40 bedrijven vertrouwen op ons
Onze Middelen en Technologieën
microsoft silver partner
Adobe partner
fd-gazellen-2018.jpg
Google analytics
partners-logo.jpg
Op de hoogte blijven?

Meld u aan voor de gratis nieuwsbrief om op de hoogte te blijven van onze activiteiten