【2/17】今年は「濃厚」技術トーク!@ITメールセミナー スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷




CoolなEclipseプラグイン(2)

ソフトウェアの品質向上を支援するプラグイン


 2.djUnit

 ソフトウェア開発において、テストを行う際に、テストがきちんと行われているかどうか検証する必要があります。テストの検証を行わないと、テスト漏れによりバグが発見できず、システム運用時に思わぬ不具合を引き起こす可能性があります。

 そこで、テストの検証を行う手段として、カバレッジがあります。カバレッジはコード中のテストにより実行されたコード、もしくは、分岐の網羅性のことであり、カバレッジが100%であれば、すべてのコードがテストにより実行されたことになります。カバレッジを用いることにより、テストによりアプリケーションのコードが漏れなく実行されているかどうか確認することでテストの網羅性を検証することができます。また、テストによって実行されなかったコードを調査することにより、テスト漏れの原因を解析することもできます。djUnitを利用すると、JUnitで作成したテストのカバレッジを簡単に測定することができます。

■特長

 djUnitは次のような特長を持ちます。

・JCoverageによるレポート機能
 djUnitは内部でJCoverageを利用しており、グラフでパッケージ、クラスごとのカバレッジの測定結果を表示することができます。います。また、テスト漏れがあるコードをEclipseのJavaソースエディタ上で簡単に確認することができます。

・簡易レポート機能
 メソッドの実行時間、Exception発生時のスタックトレース情報などを、コードを変更することなく確認することができます。

・Virtual Mock Objectsを使ったテスト
 ユニットテストを行う際に、テストしたいクラスがほかのクラスに依存していると、単体テストが困難なことがあります。djUnitのVirtual Mock Objectsの機能を利用すると、クラスに改変を加えることなく、メソッドの返却値を設定することができます。詳細はTechnical Solution Group Wikiを参照ください。

■入手方法

 下記のURLからダウンロードできます。

 Eclipseのプラグインディレクトリに解凍します(執筆時の最新バージョンは、jp.co.dgic.eclipse.jdt.djunit_3.0_0.7.0-beta2)。

■使い方

 まず、JUnitのテストを用意します。Eclipseのメニューから[実行]->[djunit]を選択すると、JUnitのテストが実行され、カバレッジレポートが出力されます(図5)。

図5 djUnitのカバレッジレポート

 カバレッジレポートは、全体に対するレポート(Coverage Report)、パッケージごとのレポート(Packages)、ファイルごとのレポート(All Files)に分かれており、それぞれ、行の網羅率(%line)と、分岐の網羅率(%branch)が数字とグラフで表示されます。グラフの赤い場所が多いほど、メソッド、ファイル中にテストにより実行されなかったコードが多くなります。レポート画面上で、網羅率が100%でないクラスをクリックすると、そのクラスがJavaエディタ上で表示され、テストにより実行されていない部分がマーキングされます(図6)。開発者は、このマーキングされた部分が実行されるようなテストコードを書き、カバレッジが100%になるようにします。

図6 未実行部のマーキング

 

2/3

 INDEX

  1.FindBugs
2. djUnit
  3.Enerjy Thread Profiler

CoolなEclipseプラグイン バックナンバー


Java Solution全記事一覧

ホワイトペーパーTechTargetジャパン

Java Solution フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

スキルアップ/キャリアアップ(JOB@IT)

- PR -
- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  企業の仮想化に足りない“発想”とは?
仮想化運用管理のキモは意外なところに!

New!
  操作もマニュアルも分かりやすい!
ユーザー視点で開発されたPC管理ツール

New!
  仮想化すればコストは削減できるか?
仮想化に必要な「3つの視点」を解説する

  セキュリティを知り尽くす上野氏が登壇!
@ITメールソリューションLive! in Tokyo

  運用管理の課題を“2つの観点”から分析
ユーザー満足度の高い「仮想環境」とは?

  世界に通用するストレージの作り方とは?
製品に込めた思いを富士通の開発者に聞く

  OSSで手間も時間も、障害も減った――
「マピオンの事例」オープンソース活用法

  「ノートPCの持ち出し禁止」で大丈夫?
情報漏えいを防ぐ管理手法とインフラは?

  1日の処理を1秒に――MySQLの達人が語る
「コスト削減」できるチューニング

  ドキュメント作成を自動化して、SEの作業
効率を大幅アップ! Visio 2007の魅力

  急速に広がるHyper-Vでのサーバ仮想化
そのベストプラクティスをデルが解説

  @IT主催セミナーで語られた、「担当者に
求められるセキュリティ対策」をレポート

  @IT「Windows 7」 特設サイトオープン!
最新情報・移行ノウハウを公開しています