empros gmbh - process & information management services
1009-chatExperience is the hardest kind of teacher.
It gives you the test first and the lesson afterward.

-Susan Ruth

Das TDD-Mantra

Heuristik

Write a test. Make it run. Make it right.

Erklärung

Testgetriebene Anwendungsentwicklung (engl. Test Driven Development, kurz TDD) ist eine einfache aber mächtige Technik, um sauberen Code zu schreiben, der funktioniert. In den Worten von Kent Beck: "There are many forces that drive us away from clean code, and even from code that works.”

Das TDD Mantra "Write a test. Make it run. Make it right", soll uns daran erinnern, dass der Testcode das treibende Element bildet. Hierzu existieren zwei einfache Grundsätze:

  • Schreibe nur neuen Code, wenn ein automatisierter Test fehlgeschlagen ist.
  • Achte streng auf die Vermeidung von Duplikation im Code.

Daraus folgt:

  • Als erstes benötigen wir automatisierte Tests.
  • Um einen Entwurf mit Hilfe von automatisierten Tests testen zu können, muss dieser Entwurf aus untereinander lose gekoppelten Komponenten mit hoher Kohäsion bestehen.
  • Wir müssen daher einen evolutionären Entwurfsstil pflegen, der es uns erlaubt, Feedback bezüglich dessen, was wir tun, häufig und früh zu erhalten.

Erinnern wir uns: Das Ziel von TDD ist, sauberen Code zu schreiben, der funktioniert. Der herkömmliche Weg, um dies zu erreichen ist, von Anfang an sauberen Code zu schreiben und diesen dann Scrhitt um Schritt in lauffähigen Code zu verwandeln. Mit TDD geht es genau umgekehrt. Hierzu noch einmal Kent Beck (Test-Driven Development):

1009-chatFirst we solve the ‘that works’ part of the problem. Then we’ll solve the ‘clean code’ part. This is the opposite of architecture-driven development, where you solve ‘clean code’ first, then scramble around trying to integrate into the design the things you learn as you solve the ‘that works’ problem.


Lesen Sie hierzu auch: An Introduction to TDD Using xUnit4Delphi.