Was ist Testgetriebene Entwicklung (TDD)?

Vorgehensweise der Softwareentwicklung in einem kurzen, wiederholten Zyklus: zuerst einen Test für die zu bauende Funktion schreiben, dann den minimalen Code, mit dem der Test besteht, und schließlich refaktorisieren, wobei die Tests weiter bestehen. Sie verbreitete sich als Praktik des Extreme Programming (XP).

Japanische Bezeichnung: テスト駆動開発(TDD)

„Testgetriebene Entwicklung (TDD)“ kommt in 1 Übungsfragen aus 1 Themen vor, z. B. Softwareentwicklung und Projektmanagement.

Fachgebiet: Softwareentwicklung und Projektmanagement

Jetzt üben: Fragen zu Testgetriebene Entwicklung (TDD)

Welche Beschreibung gibt das Vorgehen bei der testgetriebenen Entwicklung (TDD) richtig wieder?

  1. AEinen Test schreiben, der noch fehlschlägt, den minimalen Code schreiben, mit dem er besteht, und dann refaktorisieren, wobei die Tests weiterhin bestehen
  2. BDen gesamten Code einer Funktion fertigstellen und dann Testfälle erstellen, indem man den Verzweigungen in diesem Code folgt
  3. CEigene Tester schreiben die Tests, und die Entwickler führen bis zur Phase des Integrationstests keine Tests aus
Antwort und Erläuterung anzeigen

Antwort: A. Einen Test schreiben, der noch fehlschlägt, den minimalen Code schreiben, mit dem er besteht, und dann refaktorisieren, wobei die Tests weiterhin bestehen

Bei der testgetriebenen Entwicklung wird zuerst ein kleiner Teil der Spezifikation der zu bauenden Funktion als Test geschrieben und ausgeführt, um zu bestätigen, dass er fehlschlägt (Rot). Danach wird der minimale Code geschrieben, mit dem dieser Test besteht (Grün), und anschließend werden Duplikate und andere Mängel bereinigt, während die Tests weiter bestehen (Refactoring). In diesem kurzen Zyklus wachsen die Funktionen Stück für Stück, während stets ein vollständiger Satz von Tests vorhanden ist. Auch bei eingebetteter Firmware werden die hardwareabhängigen Teile austauschbar gemacht, sodass Modultests wiederholt auf einem Entwicklungs-PC ausgeführt werden können.

Fragen mit „Testgetriebene Entwicklung (TDD)“ (1)

  1. Welche Beschreibung gibt das Vorgehen bei der testgetriebenen Entwicklung (TDD) richtig wieder?

Verwandte Begriffe

Agile Softwareentwicklung Äquivalenzklassenbildung (Equivalence Partitioning) Black-Box-Test CI/CD (Continuous Integration und Continuous Delivery) Earned-Value-Management (EVM) Grenzwertanalyse (Boundary Value Analysis) Methode des kritischen Pfads (CPM) Scrum SLA (Service Level Agreement) V-Modell

Zur Glossarübersicht