JB:この件について一般化するのは嫌なので、私がTDD/BDD使うときとその理由を説明させてください。 私が初めてTDDに出会ったのはミス(欠陥といってもバグといってもいいでしょう)を防ぐ方法を求めていたからです。プログラム上の多くのミスのおかげで私は完璧さの感覚を失ってしまいました。どんなことを成し遂げても仕事が完璧に近づいたと感じたことはありませんでした。そして、書いたコードをテストすれば、ばかげた小さなミスを見つけ修正できるのではないかと考えました。テストをしてミスを見つけたかったのは、愚かにみられるのを防ぐためというより、仕事に対する完璧さの感覚を失わないようにするためです。実際テストは役に立ちました。数年経って、TDDはコーディングのミスを防ぐのに役に立つだけでなく、デザインの失敗を防ぐのにも役に立つことに気づきました。そしてBDDを学び、どのような機能を実装するかについての失敗
![バーチャルパネル: コードとテストの比率、TDD、BDD](https://cdn-ak-scissors.b.st-hatena.com/image/square/4a725234f3a8e2d32686dedb23731f87226e8ac5/height=288;version=1;width=512/https%3A%2F%2Fres.infoq.com%2Farticles%2Fvirtual-panel-tdd-bdd%2Fja%2Fsmallimage%2Farticle%2Blogo.jpg)