Wat is Testgedreven ontwikkeling (TDD)?

Manier van softwareontwikkeling in een korte, herhaalde cyclus: schrijf eerst een test voor de te bouwen functie, schrijf dan de minimale code om de test te laten slagen, en refactor daarna terwijl de tests blijven slagen. De methode werd verspreid als praktijk van Extreme Programming (XP).

Japanse benaming: テスト駆動開発(TDD)

“Testgedreven ontwikkeling (TDD)” komt voor in 1 oefenvragen uit 1 onderwerpen, bijv. Softwareontwikkeling en projectmanagement.

Vakgebied: Softwareontwikkeling en projectmanagement

Nu oefenen: vragen over Testgedreven ontwikkeling (TDD)

Welke beschrijving van de werkwijze bij testgedreven ontwikkeling (TDD) is juist?

  1. ASchrijf een test die nog niet slaagt, schrijf de minimale code om hem te laten slagen en refactor daarna terwijl de tests blijven slagen
  2. BSchrijf eerst alle code voor een functie en maak daarna testgevallen door de vertakkingen in die code te volgen
  3. CToegewijde testers schrijven de tests, en ontwikkelaars voeren geen tests uit tot de fase van de integratietest
Antwoord en toelichting tonen

Antwoord: A. Schrijf een test die nog niet slaagt, schrijf de minimale code om hem te laten slagen en refactor daarna terwijl de tests blijven slagen

Bij testgedreven ontwikkeling wordt eerst een klein stukje van de specificatie van de te bouwen functie als test geschreven, die wordt uitgevoerd om te bevestigen dat hij faalt (rood). Daarna wordt de minimale code geschreven om die test te laten slagen (groen), en vervolgens worden duplicatie en andere problemen opgeruimd terwijl de tests blijven slagen (refactor). Met deze korte cyclus worden functies stap voor stap toegevoegd, terwijl er steeds een volledige set tests is. Ook bij embedded firmware worden de hardwareafhankelijke delen vervangbaar gemaakt, zodat unittests herhaaldelijk op een ontwikkel-pc kunnen worden uitgevoerd.

“Testgedreven ontwikkeling (TDD)” in de toelichting

Vragen met “Testgedreven ontwikkeling (TDD)” (1)

  1. Welke beschrijving van de werkwijze bij testgedreven ontwikkeling (TDD) is juist?

Verwante termen

Agile ontwikkeling (agile development) Blackboxtesten (black-box testing) CI/CD (continuous integration en continuous delivery) Earned value management (EVM) Equivalentiepartitionering (equivalence partitioning) Grenswaardenanalyse (boundary value analysis) Kritiekepadmethode (CPM) Scrum SLA (service level agreement) Takdekking (branch coverage)

Naar de woordenlijst