dJUnitでカバレッジテスト
自分が書いたプログラムをdJUnitでカバレッジのテストをするのが楽しい。
カバレッジを目で見ることができることそのものが楽しい。
情報処理試験で、分岐網羅やテストについて概念や用語を習うけれど、実際に理解して使いこなせている人はどれだけいるのだろうか?
カバレッジのテストが重要なのは、プログラムの品質そのものに直結するから。
JUnitのテストプログラムを書くのは簡単で、むしろテストケースを洗い出す方が難しい。
テスト仕様書にあるテストケースで全てのステップを通過しているか、更には全ての分岐を通過しているか、を頭の中だけでイメージするのは、ステップ数が多くなるほど漏れが起きやすい。
dJUnitを使うと、JUnitのテストメソッドを実行後、テストで通過していない行にマーカーが付く。
少なくとも、マーカーを全て消すようにテストメソッドを実装していく。その作業は結構楽しい。
テストプログラムが先にありきの本来のテスト駆動のやり方ではないけれど、今のやり方は、既に作られたプログラムが存在し、そのプログラムの分岐を全て網羅するようにテストメソッドを実装していく。
設計力がしっかりしている人は、最小個数のテストケースで全ての分岐を網羅できるが、漏れがないことを証明するのは結構難しい。
少なくとも、dJUnitのように網羅した箇所をレポートで自動生成できるなら、かなり手間は省ける。
Eclipseが出現して4年以上経つけれど、色んなツールが出ていて、開発環境が以前と比較にならないほど整ってきている。
特にテスト系ツールは、プログラムの品質に直結するから、最重要だ。
しかし、Java+Eclipseに比べると、他の言語の開発環境は使いづらい。。
Rubyも何とかしてくれないかな。
| 固定リンク
「日記・コラム・つぶやき」カテゴリの記事
- 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)
コメント
スミマセン。トラックバックを2回送信してしまいました。m(_ _)m
投稿: fnya | 2006/02/27 09:54