試験工程で利用可能な機能を比較する!

試験を進めていく上で便利な機能を比べる   これまで主にWeb開発での設計から製造工程で利用可能な機能について紹介しました。連載の最終回となる今回は、試験工程において利用可能な機能を取り上げます。

木村 聡宏, 竹添 直樹

2007年9月27日 20:00

試験を進めていく上で便利な機能を比べる

   これまで主にWeb開発での設計から製造工程で利用可能な機能について紹介しました。連載の最終回となる今回は、試験工程において利用可能な機能を取り上げます。

   現在、Java開発における試験工程では、テスティングフレームワークを利用するケースが多くなっており、特に単体試験ではJUnitを利用するの が一般的になっています。Eclipse、JDeveloperともに、JUnitの利用をはじめ、試験を進めていく上で便利な機能が提供されています。 今回はその中でも以下の3つの機能について紹介します。


  • 静的解析(静的テスト)
  • ユニットテスト(動的テスト)のカバレッジ
  • プロファイリング
表1:試験を進めていく上で便利な機能

   なおバージョンについては、Eclipse 3.3およびJDeveloper 11g(Technical Preview版)を使用します。

静的解析(静的テスト)とは

   対象となるソフトウェアについて、プログラムを実行しないで欠陥や欠陥につながる問題点を見つけだすテストを「静的テスト」といい、ツールなどを用いて自動的に行うことを「静的解析」といいます。

   Eclipseには簡易ですが標準で静的解析の機能が備わっており、検出した問題(不要なimport文など)が問題ビューに表示されます。

Eclipse標準での静的解析
図1:Eclipse標準での静的解析
(画像をクリックすると別ウィンドウに拡大図を表示します)

   オープンソースのプラグインを併用することで、より厳密にチェックを行うことができます。ここでは静的解析を行う2つのプラグインを紹介します。


  • CheckStyle
  • FindBugs
表2:静的解析を行うプラグイン

CheckStyle

   主に作成したソースコードがコーディング規約を遵守しているかについてチェックするプラグインです。以下のURLから入手することができます。


   CheckStyleはJavadocコメントや空白スペースの挿入位置、変数名の命名規約など、コーディング規約に対するチェックをはじめ、空のステートメントなどコーディング上の問題についての検出も行います。

CheckStyleの設定
図2:CheckStyleの設定
(画像をクリックすると別ウィンドウに拡大図を表示します)

   CheckStyleを有効にすると、ルールに違反したコードが問題ビューに表示され、選択するとソースコードの該当箇所に移動できます。

CheckStyle実行結果
図3:CheckStyle実行結果
(画像をクリックすると別ウィンドウに拡大図を表示します)

FindBugs

   FindBugsはプログラム中に存在するバグとなりやすい部分(NullPointerExceptionの発生する可能性のある箇所など)を、クラスファイルを検査し抽出してくれます。FindBugsは下記URLから入手することができます。


FindBugsの設定
図4:FindBugsの設定
(画像をクリックすると別ウィンドウに拡大図を表示します)

   自動的に実行するように設定するか、右クリックメニューからその都度実行すると、検出した問題が問題ビューに表示されます。

FindBugs実行結果
図5:FindBugs実行結果
(画像をクリックすると別ウィンドウに拡大図を表示します)

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30