テスト駆動開発とビヘイビア駆動開発

Rubyでのテスト用フレームワークを調べてた時にRSpec(http://rspec.rubyforge.org/)でBDDって言葉が出てきてなんじゃらほいと思ったのでそれについてのメモ。

xUnitのようなテスティングフレームワークを使うと、テストの用語から離れるのは難しい。テスト中心の言語で構成されているのだから当然だ。ビヘイビアを仕様化するための新しいフレームワークで始める必要がある。ThoughtWorks社のDan Northは、このためにjBehaveプロジェクトを開始した。 [6] 筆者と数名はRuby上のビヘイビア仕様フレームワークであるrSpec [7] を立ち上げた。rSpecについては、以降で詳細に見ていくことにする。
7 ビヘイビア仕様フレームワーク

では、ビヘイビアの仕様とはどのようなものだろう? パッと見はこれまでのxUnitと変わらないようにみえるだろうし、実際のところ、語彙の違いを除けば今までと同じように使える。TestCaseをサブクラス化する代わりに、Contextをサブクラス化する。メソッドの先頭を「test」で始める代わりに「should」とする。命名規約に煩わされすに適切な名前を選ぶことができる、こちらのほうが好ましいだろう。

http://giantech.jp/wiki/BDDIntro

どうやらやってる事はテスト駆動開発と同じだけど、テストという語彙に引きずられて開発手法であるというのがぼやけるから、名前を変えようという運動のようだ。
地球の引力に引きずられるオールド・タイプの為に楔から解き放ってやろうという事だろうか。
認識をテストからスペックに置き換えた時に明白な実装はともかく、レッド/グリーン/リファクタリングというサイクル、仮実装や三角測量といった概念とうまくすり合わせられるのかがちょっとだけ疑問。もちろん、すんなり合う考え方があるのかもしれないし、また別のいい開発サイクルがあるのかもしれない。その辺はこれからもうちょっと勉強してみよう。