【3/18〜】Amazon、VMwareが語る『クラウドの未来』 スラッシュドット    はてなブックマーク  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!
  おばかアプリ選手権、第4弾開催中!!
ムダにカッコよくてくだらない作品求ム!

  社内ファイルサーバを“クラウド”に統合
VPN直結「クラウド型ストレージ」を紹介

  Twitterのアカウントはなぜ突破された?
メールによる新手の攻撃手法とその対策

  もう仮想化のお試しフェイズは終わりだ!
Hyper-V 2.0が基幹システムも仮想化

  美人!? まあまあ? 気になる いやし系!!
PV急増で「美人時計」がとった手段とは?

  クライアント企業から求められる人材
⇒IT技術と経営戦略を併せ持つ「戦略家」

  .NET編集長が実践する「技術情報検索術」
サンプル・コードを簡単に探す“技”は?

  業務効率と情報セキュリティ対策を両立!
手間なく確実に機密情報を守る方法とは?

  直属上司が海外にいるのエンジニアに見る
【実例】場所に捉われないワークスタイル

  進化を続ける富士通ストレージETERNUS DX
製品開発者の自信を裏付けるものとは何か

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

  【CTC事例】約30の基幹システムを統合!
膨大なバッジジョブを制御した方法は?

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

  その数、なんと400台以上! グループ内
サーバの「統合管理」によるメリットは?