Home

testgetriebene

Testgetriebene Entwicklung, oft abgekürzt als TDD, ist eine Softwareentwicklungsmethode, bei der Tests die Spezifikation des Codes vor dessen Implementierung bestimmen. Typischerweise folgt der Prozess dem Red-Green-Refactor-Zyklus: Zuerst wird ein fehlschlagender Test geschrieben (Red); dann wird minimaler Code implementiert, um den Test zu bestehen (Green); anschließend erfolgt eine Refaktorierung, bei der Struktur und Qualität verbessert werden, ohne die Funktionalität zu ändern.

In der Praxis schreiben Entwickler möglichst kleine, isolierte Tests, die sich auf eine einzige Einheit konzentrieren

Vorteile von TDD umfassen eine frühzeitige Fehlererkennung, eine verlässliche Regression bei Änderungen, eine Verbesserung des API-Designs

Historisch entstand TDD in der Softwareentwicklung der 1990er Jahre, maßgeblich durch Kent Beck im Kontext von

(häufig
Unit-Tests).
Tests
sollen
deterministisch,
schnell
und
reproduzierbar
sein.
Man
arbeitet
oft
mit
Testdoubles,
Mocks
oder
Stubs,
um
äußere
Abhängigkeiten
zu
kontrollieren.
Der
resultierende
Code
wird
so
gestaltet,
dass
er
testbar
ist,
was
oft
zu
klareren
Schnittstellen
und
besseren
Modularitätsprinzipien
führt.
und
eine
zielgerichtete
Sauberkeit
des
Codes
durch
kontinuierliche
Refaktorierung.
Es
kann
die
Wartbarkeit
erhöhen
und
Entwicklerfeedback
beschleunigen.
Nachteile
sind
der
anfängliche
Lernaufwand,
erhöhter
Entwicklungsaufwand
in
der
Anfangsphase
und
die
Gefahr
von
fragilen
oder
schlecht
gewählten
Tests,
wenn
Testdesign
und
Implementation
nicht
sorgfältig
ausbalanciert
werden.
UI-
oder
integrationslastige
Aufgaben
erfordern
oft
ergänzende
Ansätze
wie
ATDD
oder
BDD,
um
Akzeptanzkriterien
systematisch
abzubilden.
Extreme
Programming.
Seitdem
hat
es
sich
als
weit
verbreitete
Praxis
in
vielen
Entwicklungsprozessen
etabliert.