xUnitはDbCの実践方法
JUnitによるテストプログラムは、DbCを実際に実現しているものではなかろうか?
「@IT:実行可能な知識とソフトウェア(2)」と「知識とソフトウェアのギャップ、それをどう埋めるのか?」の記事を読むと、「検証による正しさ」と「仕様の妥当性の正しさ」は異なる、という事実が書かれている。
#数学基礎論にある「証明可能性」と「論理的正しさ」の違いを連想させる。
契約(DbC)は、仕様そのものの妥当性を保証する。しかし、抽象的すぎて、包括過ぎて、実際には使い物にならない。
JUnitは、テストプログラムから書き始めることによって、仕様を満たす条件を実際に実装できる。モジュールの構造と粒度を適度に設計すれば、大きなシステム仕様の妥当性をチェックすることもできる。
xUnitが流行しているのは、契約という概念の具体例として扱えるからではなかろうか?
| 固定リンク
「日記・コラム・つぶやき」カテゴリの記事
- TwitterやFacebookは人力キュレーションツールとして使う(2022.10.02)
- 「現代病「集中できない」を知力に変える 読む力 最新スキル大全」の感想(2022.08.28)
- 人類は海辺から生まれた~水生類人猿説が面白い(2022.08.09)
- 戦前の日本人の気質はまだ成熟していない青年期と同じだった(2022.06.14)
- 物理学を攻略するためのマップ(2022.04.18)
「プログラミング」カテゴリの記事
- Javaのモジュールシステムの考え方をまとめてみた(2022.10.21)
- Javaのモジュールシステムは複雑性をより増している(2022.09.10)
- Javaはなぜ関数型言語になろうとしているのか(2022.09.02)
- Javaのラムダ式の考え方(2022.08.10)
- Javaはオブジェクト指向言語ではなく関数型言語だった~「[増補改訂]関数プログラミング実践入門」はお勧めの本だ(2022.08.06)
コメント