テスト管理とは、一般的にテストプロセスを管理する活動を指します。テスト管理ツールとは、テスト手順によって事前に定義されたテスト(自動テストまたは手動テスト)を管理するために使用されるソフトウェアです。多くの場合、自動化ソフトウェアと連携して使用されます。テスト管理ツールには、要件管理モジュールや仕様管理モジュールが含まれていることが多く、これらのモジュールによって、テスト対象システム(SUT)の機能カバレッジを示す主要な指標の一つである要件テストマトリックス(RTM)を自動生成できます。
テスト定義には、テスト計画、製品要件および仕様との関連付けが含まれます。最終的には、テスト間に何らかの関係を設定し、優先順位を確立することができます。たとえば、テストAがテストBの親であり、テストAが失敗した場合、テストBを実行しても無意味になる可能性があります。テストには優先順位も関連付ける必要があります。テストに対するすべての変更はバージョン管理され、QAチームがテストの履歴を包括的に把握できるようにする必要があります。
これには、テストケースのバンドルを作成し、それらを実行する(または実行をスケジュールする)ことが含まれます。実行は手動でも自動でも構いません。
ユーザーはすべてのテスト手順を手動で実行し、結果をシステムに通知する必要があります。一部のテスト管理ツールには、この作業を容易にするために、ユーザーとテスト計画を連携させるフレームワークが含まれています。テストを実行する方法はいくつかあります。最も簡単な方法は、テストケースを実行することです。テストケースは、テスト計画、テストスクリプト、テスト環境、テストケース実行記録、テストスイートなどの他のテスト成果物と関連付けることができます。
自動テストを実装する方法は数多く存在する。自動実行には、テスト管理ツールがテスト自体と互換性を持つことが不可欠である。そのため、テスト管理ツールは、サードパーティ製または独自の自動テストと連携するための独自の自動化フレームワークやAPIを提供する場合がある。
テスト管理ツールの究極の目標は、リリース前にテスト対象システムの品質を評価する際にQAマネージャーに役立つ、機密性の高い指標を提供することです。指標は通常、成功率、進捗状況/後退状況、その他多くの機密データを示すグラフや表として表示されます。
最終的には、テスト管理ツールはバグ追跡機能を統合するか、少なくともよく知られた専用のバグ追跡ソリューション(BugzillaやMantisなど)と連携して、テストの失敗をバグに効率的に関連付けることができるようになるでしょう。
テスト管理ツールは、QAマネージャーが事前に活動を計画するのに役立つよう、プロジェクト管理機能を統合(またはサードパーティ製ツールと連携)することもあります。
現在、市場には商用およびオープンソースのテスト管理ツールが数多く存在する。ほとんどのテスト管理ツールはWebベースのアプリケーションであり、社内にインストールする必要があるが、中にはサービスとしてのソフトウェア(SaaS )として利用できるものもある。