Liegt Test-driven Development hinter uns?

Wider den TDD-Fanatismus
Kommentare

David Heinemeier Hansson, Kopf hinter dem Framework Ruby on Rails, bekennt sich offen dazu, Test-driven Development hinter sich gelassen zu haben. Der Test-First-Ansatz habe schreckliche Monstrositäten an Architektur hervorgebracht und einen undurchdringlichen Dschungel aus Service-Objekten, Command Patterns und Schlimmeren erschaffen. Es sei an der Zeit, sich vom Dogma des TDD zu verabschieden. Es sei Zeit für den nächsten Schritt in der Evolution.

Der passionierte Rennfahrer Heinemeier Hansson hat mit einem aktuellen Blogpost die Gemüter erhitzt: TDD is dead. Long live testing. lautet sein Credo. Und er wählt harte Worte, um seine Geschichte zu erzählen:

Test-first fundamentalism is like abstinence-only sex ed: An unrealistic, ineffective morality campaign for self-loathing and shaming.

Dabei handelt es sich jedoch keinesfalls um eine endgültige Abrechnung mit dem Thema Testing – es geht ihm viel mehr um das Thema Test-driven Development, das seiner Meinung nach zu schreckliche Architektur-Monstrositäten hervorgebracht und einen undurchdringlichen Dschungel aus Service-Objekten, Command Patterns und Schlimmeren erschaffen habe.

Versöhnliche Worte

Keinesfalls sei es aber so, dass er auf dem Grab des Test-driven Developments tanzen wolle. Der Ansatz sei richtig und wichtig gewesen, so Heinemeier Hansson – aber jetzt sei es an der Zeit. sich weiter zu entwickeln, in ein neues Zeitalter aufzubrechen. Doch dabei solle man mit Bedacht vorgehen:

The worst thing we can do is just rush into another testing religion. I can just imagine the golden calf of „system tests only!“ right now. Please don’t go there.

Natürlich könne Rails dabei helfen, auch wenn man aktuell noch keine Standardantwort  auf alle Fragen bieten könne. Man habe es verpasst, Entwickler zu vollständigen System-Test zu ermutigen – aber dieser Fehler solle schon bald korrigiert werden. Capybara lautet das Zauberwort, ein Acceptance-Test-Framework für Webapplikationen, das einen Ausblick auf das geben soll, was Rails in Zukunft biete.

TDD sei ein wunderbarer Einstieg gewesen. Der Ansatz habe ihm die Augen geöffnet, ihn dazu gebracht, sich tiefer mit dem Thema Testing zu beschäftigen. Doch schnell habe er das Mantra hinter sich gelassen. Und sich ein wenig dafür geschämt.

TDD-Fundamentalismus?

Das Problem dafür sei vor allem, dass die Verfechter des Test-driven Developments immer engstirniger wurden. Over the years, the test-first rhetoric got louder and angrier, though. More mean-spirited.“ Der TDD-Ansatz sei wichtig gewesen, aber schnell wurde wer – so Heinemeier Hansson – unterwandert und als Totschlagargument gegen alle Ungläubigen verwendet, „declare them unprofessional and unfit for writing software“.

Nun ist es schwer zu sagen, ob er sich einfach nur in den falschen Kreisen bewegt hat, oder ob er die – für sich wahrscheinlich – richtigen Schlüsse gezogen hat. Fakt ist, dass sein Hintergedanke so verkehrt nicht ist, einzig die Herangehensweise scheint mitunter ein wenig fragwürdig.

Testing ist wichtig, das steht nicht zur Debatte. Die Frage ist nun, ob Test-driven Development mit dem Mantra Test First der Weisheit letzter Schluss ist. Eine Frage, die jeder für sich selbst beantworten muss. Eine Frage aber auch, deren Antwort wahrscheinlich von Fall zu Fall wird entschieden werden müssen. Ein starres festhalten daran, TDD zu einem Dogma zu erheben, dürfte auf alle Fälle der falsche Weg sein.

Wir interessieren uns für eure Meinung zu dem Thema. Ist TDD der Weisheit letzter Schluss? Ist es nur ein Zwischenschritt, der uns einen Weg in eine bessere Testing-Zukunft geebnet hat? Oder war es schon immer der falsche Ansatz? Hinterlasst uns einen Kommentar mit euren Ansichten und nehmt an unserem Quickvote teil.

Aufmacherbild: Closeup of computer keyboard with button revolution von Shutterstock / Urheberrecht: Evlakhov Valeriy

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -