テストの計画,実施,評価といった一連のプロセスを支援するテスト管理ツール。日経SYSTEMS誌2006年4月号で実施した「開発支援ツール実態調査」によれば,同ツールの利用率は2.7%と極めて低い。だが,導入を検討している割合は18.9%に上り,他のツールに比べて特に高かった。システムの品質への要求がより厳しくなる中,「テスト管理」に対するITエンジニアの意識の高さが浮き彫りになった。

 実際,短納期開発の中で,テストを迅速かつ確実に進めるのは容易ではない。「20~30人月程度のプロジェクトでさえ,「テストケース」の数は3000~4000もある。テストケースとはテストの手順を示したもので,「テストシナリオ」「テスト項目」などと呼ぶこともある。仕様変更や認識のズレなどで,一度実施したテストを繰り返し実施することも多い。大量のテストケースをさばくには,ツールを使ったテストの自動化や管理が不可欠」(テスト管理ツールを導入したテンアートニのプロダクト&SIビジネスユニット ユニット統括補佐兼Webソリューション部長 山崎靖之氏)。

 そこでこの連載は,自動テストを含めたテストプロセスの管理を支援する機能を備えた「テスト管理ツール」を取り上げた(表1)。

表1●主なテスト管理ツール
[画像のクリックで拡大表示]
表1●主なテスト管理ツール

[知る]管理ツールの三つの機能

 テストの計画や結果の管理に,表計算ソフト「Excel」を使うケースは多いだろう。Excelシートに実施すべきテストケースを入力し,テスト担当者はそれに従ってテストを実施。テスト結果は同じExcelシート上に書き込んでいく。管理者は,担当者別に分かれたExcelファイルを結合/集計して不具合状況を把握する。様々な集計マクロや,グラフを多用したドキュメントの生成機能を作り込む例も珍しくない。

 だが,Excelによるテスト管理には問題もある。例えば,テスト結果をExcelシートに入力する作業負荷は大きい。入力数が増えれば,入力ミスの原因にもなる。要件変更に伴うテストケースの修正や整合性確保もおぼつかない。テスト担当者によるテスト結果の虚偽報告や関係者による改ざんも,仕組み的に回避できない。

 こうしたテスト管理上の問題を解決するのが,テスト管理ツールだ。リレーショナル・データベース管理システム(RDBMS)を使って,要件やテストケース,不具合情報といったテスト情報を一元的に管理。データの修正履歴が残るので,虚偽報告や改ざんも防止できる。「自動テストツール」を連携させてテスト結果を自動収集すれば,人手による入力の手間を減らすことも可能だ。

 自動テストツールとは,単体テストや機能テスト,負荷テストを自動化するツールを指す。テストケースに相当する実施用のプログラム(テストスクリプト)を実行し,自動テストを実施する。

 テスト管理ツールが備える機能は三つある。一つは「リポジトリ」によるテスト情報の一元管理,二つ目は自動テストの実行管理,三つ目は集計/分析機能――である。テスト管理ツールの「リポジトリ」とは,テストに関する様々な情報を体系立ててRDBMSに格納し,それを参照/更新するための仕組みを指す。格納された情報は,「要件」→「テストケース」→「テストスクリプト」→「不具合情報」として関連付けられる。

 これら三つの機能を使うことで,テストの作業負荷を下げると同時に,ミスの少ないテストプロセスの確立を支援する。Excelがカバーできるのは集計/分析機能だけだ。

 図1に,三つの機能を使った場合のテストの流れ(テストプロセス)を示した。まず,開発者はブラウザを通じて,要件とテストケース,テストスクリプトをリポジトリに登録する(図1の(1))。各要素は体系立てて,互いに関連付けておくのがポイントだ。

図1●テスト管理ツールを利用したテストの流れ
図1●テスト管理ツールを利用したテストの流れ
テスト管理ツールは大きく,(1)リポジトリによるテスト情報(要件/テストケース/テストスクリプト/不具合情報)の一元管理,(2)自動テストの実行管理,(3)集計/分析機能――の三つの機能を持つ。これらの機能を使うことで,人的ミスや非効率を排除して迅速かつ確実なテストを実施できる
[画像のクリックで拡大表示]

 次に開発者はテスト管理ツールに対して自動テストの実行を指示(同(2))。テスト管理ツールはそれを受けて,登録先の自動テストツールを起動し,該当するテストスクリプトの実行を指示する(同(3))。実行結果は自動テストツールから送信され,リポジトリに登録される(同(4))。後は,管理者がテスト管理ツールの集計/分析機能を使って,必要なレポートを出力する(同(5))。