JUnit/FindBugs/PMDなどを総観できるQALab/Limyユカイ、ツーカイ、カイハツ環境!(8)(2/3 ページ)

» 2009年09月29日 00時00分 公開
[岡本隆史,@IT]

JUnit

 ユニットテストの実行と実行結果をレポートとして出力できる定番テストツールです。JUnitの詳細については下記記事をご参照ください。


PMD

 バグを検出するツールです。前述のFindBugsほど検出できるパターンは多くありませんが、ソースコードに対して検証を行うため、デッドコードやコーディング規約違反なども検出できます。


PMD-CPD

 カット&ペーストでコピーしたと思われる重複したコードを検出します。

 カット&ペーストしたコードでは、コピー元にバグがあるとそのバグをコピー先に広げてしまう可能性があり、1カ所のバグを修正する際にコピー先のコードも修正する必要があります。PMD-CPDは、コピーされたコードをユーティリティメソッドなどにまとめるので、ソースコードをメンテナンスしやすくするのに役に立ちます。

Limyを使って品質レポートを作成してみよう

 では、Limy Eclipseプラグインを利用して品質レポートを作成してみましょう。本稿では、Eclipse 3.5をWindows環境で利用する際の利用方法を紹介します。

Limy Eclipse 1.5.8のインストール

 Eclipseのメニューの[ヘルプ]→[新規ソフトウェア]から[インストール]ウィザードを起動し、Limyのアップデートサイトの以下のURLを追加して、Limy Eclipseプラグイン(2009年9月の原稿執筆時の最新版は、1.5.8)をインストールします(図2)。

  • http://www.limy.org/eclipse_plugin/latest/
図2 Limy Eclipseプラグインの選択画面 図2 Limy Eclipseプラグインの選択画面

Limy Eclipseプラグインのセットアップ

 Windows環境で利用する場合、Eclipseのデフォルトの設定では、PMD-CPDの実行でエラーになり正しく実行できません。Eclipseの起動オプションJVMの引数で、デフォルトのファイルエンコーディングにWindows-31Jを指定することにより、問題を回避できます。

 エンコーディングの指定を行うには、Eclipseのインストールディレクトリにあるeclipse.iniの-vmargsの下方に太字の1行を追加します。

-vmargs
…
【中略】
…
-Dfile.encoding=Windows-31J

使ってみよう

 Limy EclipseプラグインのQALab実行機能は、ビルドエラーがあると利用できません。まずは、ソースコードのビルドエラーを直し、クラスファイルが生成された状態にしておきます。後は、Eclipseプロジェクト上でプロジェクトを選択した状態でQALab集計のアイコンを押下すれば(図3)、QALabが実行され、レポートが表示されます(冒頭の図1)。

図3 QALab集計アイコン 図3 QALab集計アイコン
図1 Limy Eclipseプラグインを利用したQALabのレポート画面 図1 Limy Eclipseプラグインを利用したQALabのレポート画面(再掲)

 QALabの実行とレポートの実行には時間がかかります。QALabの実行状況については、[進行状況]ビューとEclipse右下のアイコンにより確認できます(図4)。

図4 QALabの実行状況 図4 QALabの実行状況

QALabのレポート画面を見てみよう

 実際に、QALabのレポート画面を見ていきましょう。

QALab

 CheckStyleやPMD、FindBugsによるチェックの違反件数の遷移をグラフで表示します。

図5 コードチェックの違反件数の遷移 図5 コードチェックの違反件数の遷移

 ユニットテストの通過率と、カバレッジ率をグラフで表示します。

図6 ユニットテストの結果とカバレッジ率の遷移 図6 ユニットテストの結果とカバレッジ率の遷移

 上記グラフの元になるCheckStyle、FindBugs、PMDの違反数とCobertureの実行結果、PMD-CPD、JavaNCSSの実行結果、TODOコメント数の遷移を表示します。

図7 テーブルによる各種統計情報の表示 図7 テーブルによる各種統計情報の表示

 次ページでは引き続き、CoberturaやPMD-CPD、JavaNCSS、FindBugsを使った結果のレポート画面を紹介します。

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。