TDDにまつわる誤解について t-wada さんが解説している。

【翻訳】テスト駆動開発の定義 - t-wadaのブログより引用する。

テストコードを実装よりも前に書くことは「テストファーストプログラミング(Test-First Programming)」あるいは短く「テストファースト」と呼ばれます。テストコードの書き手は開発者自身であることがほとんどです(が、開発する本人以外の人が先にテストコードを書くこともあります。他の人が書く場合はテスト駆動開発の構成要素にはなりません)

TDDのステップは、より正確に表現するなら「リスト、レッド、グリーン、リファクタ」である

テスト駆動開発はテストコードを先にたくさん書くことではありませんし、設計せずいきなりテストコードを書き始めることでもありません。テスト駆動開発は設計のやりすぎも設計のやらなさすぎも起こりにくくなるように設計されたワークフローになっています。

設計せずにとにかくテストを書き始めることがTDDではないよ、という話でした。

あわせて読みたい

関連記事