JUnitは品質にどれだけ寄与するか?

http://d.hatena.ne.jp/szk-takanori/20071128/1196260066

ブログや技術雑誌で、「JUnitでテストケースを作成していれば、単体試験仕様書は要りません」なんて記事をよく目にしますが、

これまちがってんだよね。
JUnitで“動作する単体試験仕様書としてのテストケース”を作成していれば、“動作しないExcel(等)の単体試験仕様書”は要りません」
なのよ。
作るものの最終目的は同じ。ただ、実際に動作して確認できるか、そうではないかの差。そこを勘違いすると品質には一切寄与しない。(そして勘違いしている人が多い。というのが元記事の主張だと思う)

id:szk-takanoriさんがデメリットに挙げている「コードの動作は確認できても、それが「仕様を満たしている」保証はない」ってのは上記前提に立つならば、(JUnitコードが仕様を表すので)JUnitがすべてグリーンなら仕様を満たしていることを証明してくれる。(いや、単体試験レベルでの仕様の「正しさ」でしかないのだけれども)
そうなるとメンテナンスされない仕様書なんかよりよっぽど信頼のおけるパートナーになる。
#だって仕様変更するためにはJUnitコードから書き直さないといけない*1んだもの。

*1:レッドバーになるから