Some Days You Get the Bear

IT系エンジニアの、日々の気づきや考えたこと。

TDDはOCD(強迫性障害)の一種か?、だとぉ?

なんだこの記事は!?
www.infoq.com

多くの組織がテストパラダイムとしてのTDDに見切りを付けて、振る舞い指向開発(BDD)へと移行しているのは明白です。AtlassianのHeather Krebsbach氏は2016年に、はっきりと書いています。

このテストファーストのアプローチはますます普及して、テスト駆動開発(TDD)を作り上げました。しかし企業はすぐに、システムで最も重要なビジネスケースにおいて必要とされる、可視性やカバレッジが得られないことに気付いたのです。そこから振る舞い駆動開発(BDD)と呼ばれるTDDの亜種が生まれて、技術仕様よりもシステムの振る舞いを重視するようになりました。

コードのすべての行を個別にテストしなければならないという、ある意味で強迫的な理由からではなく、アジャイルチームが担当するすべてのビジネス機能ないし“ストーリ”を確実にテストする、という方向に進むべきなのです。

包括的なカバレッジを計測し、その達成に向けて協力することが、開発者の不安を軽減する真の方法になります。それがコードの不備に向きあう上で、理性的に捉え、防止し、あるいは正当化しようとするよりも有効なのです。

 
不安に焦点が当てられているが、そもそもその不安を取り除くためのTDDであり、
またカバレッジにふれられているが、TDDはテストではない。
テストコードという成果物をテストに利用しているだけだ、というのが私の解釈。
テストファーストとTDDが同じもの、ではないのだ。

ただ単に、動かしながら確かめながらつくりたいだけなんだよー。ドグマとかそんなのないんだよー。でしょ?