 |
|
前のページ 1 2
|
 |
動的テスト
|
動的テストは、プログラムを実際に実行して行うテストです。通常皆さんが単体試験・結合試験などといった工程で実施しているテストです。
|
ホワイトボックステスト(構造テスト)
|
テスト対象のプログラムの内部構造を基にすべての実行経路の動作を確認するテスト手法です。コードカバレッジ(実行網羅率)を確保するようにテストケースを作成することを基本とし、最終的に一度も実行・確認していないプログラムコード部分がないようにすることを目標とします。
|
ブラックボックステスト(機能テスト)
|
テスト対象のプログラムの内部構造をまったく意識せずに、外見の正しさ(入出力仕様どおりの結果になるか)を確認するテスト手法です。テストデータの作成方法として、限界値分析や同値分割・エラー推測といった技法があります。
動的テストは、上記のような分類の他に、別の観点からの分類として、性能・負荷テスト、ユーザビリティ(使い易さ)テストなどのテストがあります。これらについても、実際に実行して行うテストなので、動的テストの一種と言えるでしょう。動的テストは一般的に工数のかかる単純作業になりがちなので、後述する動的テストツールを利用して効率化することが望まれます。
|
テストツール
|
上述のテスト手法を効率良く正確に実施するためには、それぞれの手法に合わせたテスト支援ツールが必要となります。主にJavaで利用可能で、オープンソースなどの形で無償提供されているテスト支援ツールを、図2・表1に整理して示します。

図2:テスト支援ツール (画像をクリックすると別ウィンドウに拡大図を表示します)
ツール種 |
説明 |
静的テスト 支援ツール |
メトリクス計測ツール |
ソースコードの複雑度(注2)やクラス間の結合度を計測するツール。計測値を基に、ソースコードの修正・テスト重点化部分の決定などを行う |
コード解析ツール |
ソースコードが標準のコーディング規約を遵守できているかや、潜在的なバグ、性能劣化の原因となり得る部分が存在しないかを検出するツール |
動的テスト 支援ツール |
カバレッジ計測ツール |
テストの実行網羅率(コードのどの部分が実行できていて、どの部分が実行できていないか)を計測するツール |
テストケース作成支援ツール |
テストデータや、テストに必要なスタブ(モック)・ドライバのコードの作成を、自動生成などにより支援するツール |
テスト実行ツール |
xUnitツールに代表されるテスト実行・確認を自動化するツール。GUIアプリケーション用のツールでは、ユーザー操作を記録する機能などがある |
負荷(性能)試験ツール |
性能テストにおいて、さまざまな負荷状況を作り出し、レスポンスタイムなどの性能情報を計測するツール |
プロファイルツール |
クラスやオブジェクトごとの実行時間やメモリ使用量、実行順序などを監視するツール。性能上のボトルネックやメモリリークを発見するために利用できる |
その他 |
BTSツール |
バグ管理システム(Bug Tracking System)を構築するツール。故障の報告の記録やその故障を修正する作業の進行状況を管理するために利用できる |
表1:テスト支援ツールの種類
※注2:
サイクロマチック複雑度などの指標が有名です。
続いての記事では、ここまでに示したテストツールのうち、Eclipseプラグインとして利用できる筆者のお勧めのツールをいくつか紹介します。
第2回以降では静的テスト手法をサポートする「PMD」および「Metrics Plugin for Eclipse」について紹介します。
|
前のページ 1 2
|

|
|

|
著者プロフィール
吉田英嗣(YOSHIDA, Eiji)
SI企業でソフトウェア工学についての研究開発に従事。現在は主に試験支援技術を対象に活動中。著書に、「Javaオープンソース徹底攻略」(SRC社)、「Light Weight Java」(毎日コミュニケーションズ)。
|
|
|
|