Test-driven development

Test-driven development (TDD) is een ontwikkelmethode voor software waarbij eerst tests worden geschreven en daarna pas de code. De naam test-driven development komt van Kent Beck, die deze techniek in 2002 op papier heeft gezet en daarmee de bekendheid ervan vergroot heeft. Het valt onder de agile-softwareontwikkeling.

Ontwikkelcyclus

De ontwikkelcyclus hieronder is gebaseerd op het boek Test-driven development by example van Kent Beck. Deze cyclus kan zo vaak herhaald worden als nodig is om de code volledig werkend te krijgen volgens de requirements.

  1. Test maken: In test-driven development maakt de programmeur eerst een test, gebaseerd op een requirement, en schrijft pas dan de code.
  2. Alle tests draaien en kijken of de nieuwe test faalt: Deze test moet initieel in principe falen, aangezien het stuk code waarop deze test van toepassing is nog niet bestaat. Het laten falen van de nieuwe test is belangrijk om na te gaan of de test effectief is (geen fouten bevat en daardoor bijvoorbeeld altijd slaagt).
  3. Code schrijven: In deze stap wordt de daadwerkelijke code geschreven om de zojuist gemaakte test te laten slagen. Deze code mag alleen functionaliteit bevatten die nodig is om de test te laten slagen. De code hoeft niet perfect geschreven te zijn, zolang deze maar werkt. In een latere stap zal de code nog herschreven worden volgens de standaard.
  4. Tests draaien en kijken of deze slagen: In deze stap draaien alle tests nogmaals en wordt gekeken of alle tests slagen. Is dit het geval dan is dit een goed uitgangspunt om aan de volgende stap te beginnen.
  5. Code herschrijven: In deze stap wordt de code opgeschoond en volgens de standaard herschreven. Ook zal eventuele dubbele code, nodig om de onderlinge afhankelijkheid van de componenten te minimaliseren, verwijderd worden.

Voordelen

Nadelen

Toepassing

Deze methode kan goed gecombineerd worden met extreme programming (XP), aangezien XP ook gebruikmaakt van korte ontwikkelcycli met continu testen van de software.