Was ist die Test-First-Entwicklung und wie verhält sie sich zu TDD? Ist Test-First-Entwicklung ein allgemeiner Name für Dinge wie TDD? Wenn ja, welche anderen Test-First-Praktiken gibt es?
Test-First-Entwicklung == Test-Driven Entwicklung.
Zwei verschiedene Wörter für die gleiche Sache.
Andere Alternativen zu TDD sind die zunehmend beliebte BDD (Verhaltensgesteuerte Entwicklung).
Welche Methode Sie wählen, hängt sowohl von Ihrer Anwendung (Web, Konsole, Windows usw.) als auch von Ihrer Projektmethodik (Agile, Waterfall usw.) ab.
Test First Development ist etwas breiter, etwas weniger spezifisch als TDD. Sie können einen Abnahmetest vor dem Codieren schreiben, dann Code, um es passieren zu lassen; das ist TFD, aber nicht TDD. TDD ist spezifischer über Komponententests - es gibt also eine engere implizite Granularität - und beinhaltet den Rot-Grün-Refactor-Zyklus: Schreiben Sie Ihren fehlgeschlagenen (Einheits-) Test; zeigen, dass es fehlschlägt; lass es passieren; zeigen Sie, dass es besteht; Suchen Sie nach Möglichkeiten zum Refactoring. TFD schließt keines dieser Dinge aus, aber es erfordert sie auch nicht.
TFD ist eine Unterklasse von TDD.
TDD: Sie schreiben ein Stück Code und Sie schreiben Test dafür.
TFD: Sie schreiben einen Test, der zuerst minimalen Code schreibt, um ihn zu bestehen. Dann denke an die Logik und baue den Code. Auf diese Weise kann Ihr Code gut geformt und minimal sein.
TFD kann manchmal sehr hilfreich sein. Anstatt in die Implementierung zu springen und sie zu testen, möchten Sie möglicherweise kleine Teile davon testen, bevor Sie das Ganze schreiben.
Aber der Zweck von TFD und TDD ist der gleiche.
Tags und Links unit-testing tdd