TDDに入門した。一番いいのを写す。

WEB+DB PRESS Vol.35』の写経をはじめました。今日は第3章まで。

機能を追加する前にテストを書くことに、まだ慣れません。

何となく、機能を先に書く方法は、処理そのものに集中している感じ。それに対して、テストを先に書く方法は、出力に集中している感じ。です。(あくまでも印象ですが。。)

そういった印象を受けるのは、テストを書くことで、完成形=その機能の出力を意識するからかもしれません。

これから作成する機能が完成したら「こうなってほしい」「こうしたい」をテストの形で表現します。

和田卓人:特集1 実演!テスト駆動開発,『WEB+DB PRESS vol.35』,p.24,2006.11.

あるいは、最初にグリーンにするための実装を書き、その後でリファクタリングするように、「出力を固定した状態で、処理の部分のみを入れ替える(成長させる)」という手順のためかもしれません。

そういえば、TDDの文脈でよく聞く"受け入れテスト"とは、機能単位のブラックボックステストのような意味で使われているのだと、この特集を読んでやっと分かりました。