テスト作業の一連の流れの中で重要なのが,テストケースを「要件」にひも付けて管理する点だ。最近のテスト管理ツールは,この機能を充実させてきた

 ツール・ベンダーであるエンピレックスの浦口宗也氏(エンタープライズ・ソリューション・グループ プリセールスエンジニア マネージャー)は,「テストの目的は要件を満たしているか否かをテストケースの実行によって確認すること。要件とテストケースを別々に管理していては,両者の間の整合性が保てなくなり,無意味なテストを増殖させることになる」と理由を説明する。

 要件をテストケースとともに管理すれば,要件に対するテスト網羅率(カバレッジ)を確認できる。さらに,「仕様変更によってどのテストケースを変更すべきかを追跡できる。保守を行う際の影響範囲の分析にも役立つ」(ツール・ベンダーの日本コンピュウェア 第二システム部 主査システムエンジニア 藤原祐之氏)。

 日本IBMの「IBM Rational ClearQuest」は要件管理ツールに位置付けられていたが,テスト管理ツールである「IBM Rational TestManager」と統合し,要件とテストケースを一緒に管理できるように拡張した。要件とテストケースのひも付けが,開発・運用の現場で重要視されている表れと言えよう。

自動テストの動きを制御

 自動テストの実行管理は,自動テストツールを連携させてテストスクリプトの実行パターンを制御する機能だ。自動テストの実行そのものは,自動テストツールだけでもできる。テスト管理ツールが備える実行管理機能は,「より高度な自動テスト」を実施するものととらえられる。

 例えば,図1のようなことが可能となる。まず,指定した日時に遠隔地の自動テストツールを起動し,自動テストを実行できる。マーキュリー・インタラクティブ・ジャパンの機能テストツール「QuickTest Professional」は,単体ではスケジューリング機能がない。

図1●自動テストの主な実行管理機能
図1●自動テストの主な実行管理機能
テスト管理ツールを使うと,毎日決まった時刻に自動的にテストを実行したり,分散するテスト環境に対して実行するテストケースを振り分けたり,条件によってテストケースを分岐させたりできる
[画像のクリックで拡大表示]

 これにテスト管理ツールの「Mercury Quality Center」を組み合わせれば,テストケース単位で実行する日時を設定できる。これにより,例えば毎晩決まった時刻に自動テストを実施し,翌朝開発者はその結果に基づいて作業を進められる(図1の(1))。

 分散したテスト環境に対して,別々のテストケースを振り分ける機能もある(同(2))。これにより,例えば国内に散らばる開発拠点に対して,テスト管理ツールから統合的に自動テストを実施できる。

 さらに,条件によってテストケースを分岐させることも可能だ(同(3))。例えばテストが成功した場合と失敗した場合で,次に実行するテストケースを分けることができる。

集計/分析の即時性を確保

 テスト管理ツールが持つ最後の機能は,集計/分析機能である。Excelによる集計/分析との大きな相違点は,テスト結果を自動で取り込めるので,テストの進捗や不具合状況をリアルタイムに確認できることだ。さらに,あらかじめテストに関するドキュメントのテンプレートが用意されていることも大きなメリット。

 例えば,エンピレックスの「e-Manager Enterprise」は,標準で50種類のレポートがある(表1)。各レポートは大きく,「要件管理レポート」「テスト管理レポート」「不具合管理レポート」――という三つに分類。他社製のテスト管理ツールも,基本的にこの三つの分類による集計/分析機能をサポートしている。

表1●テスト管理ツールで出力できる集計/分析レポートの例
「e-Manager Enterprise」(エンピレックス)の例を示した。「要件管理」「テスト管理」「不具合管理」の3分野から成り,全部で50種類の集計/分析レポートがある。他社製のツールもほぼ同等のレポート機能を持つ
[画像のクリックで拡大表示]
表1●テスト管理ツールで出力できる集計/分析レポートの例