DDVDDあるいはVDDってどう? | さすらいびとの徒然漂流記

さすらいびとの徒然漂流記

ふらふら漂流するさすらいびとのように,色々な話題についてお気楽極楽,徒然なるままに…

TDD,つまり「テスト駆動開発」って名称はちょっと個人的には微妙.

先行して仕様の「検証コード」を書くって言うのと実装の「テストコード」を書くって言うのは違うと思うんだけど.


「検証駆動(Verification-Driven,VD)」,あるいはより正確には

「詳細設計検証駆動(Detailed Design Verification-Driven,DDVD)」って言うのが良い.


あくまでも詳細設計の「仕様」を検証するコードを先行して書くのであって,

テストコードって言うのはそれで全てじゃない.

そして,テストコードを全て先に書くって言うのは非現実的だって思う.


つまり,「検証コード」は先行して作るけど,実装をしてから更に「テストコード」を作るって言う感じ.

そもそも「検証」と「テスト」は目的が異なっているんだけどね.

そして,「検証コード」は「テストコード」の一部でしかない.


「検証コード」を先行して書いて,実際に実装をしてからmockオブジェクトとかを使ってテストコードを作るっていうのが,TDDといわれていることの現実じゃないかな.

となるとVDDあるいはDDVDDって言うのが良いと思うんだけどね.


これだと,モデル駆動で仕様記述をすると「検証コード」の自動生成とかって言うのも出来そうだし.

もちろん,その場合でも「テストコード」は別途作成が必要ってことで.