テストツール

テストツールは、テスト活動とマネジメントで使用するツールです。
テストツールを使用することで、テスト活動とマネジメントの効率性と正確性を大幅に改善することが期待されます。
テストアナリストがテストツールの活用やテスト自動化を推進する場合、テストマネージャー、開発者、テスト自動化エンジニア、、テクニカルテストアナリストと連携して進めていきます。

テスト設計および実装ツール

テストツールには以下のようなものがあります。

テスト自動化

テスト自動化は、リグレッションテストの恩恵を受けますが、シラバスでは以下の利点が挙げられています。

テスト自動化のリスクをシラバスでは以下が挙げられています。

テストアナリストが利用するテストツールと詳細

テストアナリストは、テストプロセスのタスクでテストツールおよび自動化するツールを作業効率の向上と費用対効果が高めるために検討していく必要があります。
テストアナリストが利用するテストツールを記載していきます。

テスト設計および実装ツール

テストアナリストは、カバレッジの達成、リスク軽減、組み合わせを網羅するためにテスト設計および実装ツールを検討します。
テスト設計および実装ツールでは、テストベースとなるドキュメント(UMLモデルなど)や必要な情報を入力してテストケースやテストデータを作成できます。

テストデータ準備ツール

テストデータ準備ツールはテストベースとなるドキュメントやソースコードを分析して、必要なデータを決定することができます。

テストデータ準備ツールには、本番システムからデータセットを取得して、内部的な整合性を維持して個人情報をマスキング(選別または匿名化)することで、個人情報の漏えいや誤って利用されるリスクを軽減できます。
テストで大量のテストデータが必要な場合やセキュリティとデータプライバシーのリスクがある場合に有効です。

テストデータ準備ツールには、特定の入力パラメーターのセットから合成テストデータを生成するツールもあります。
テストアナリストは、データベース構造を分析して、ランダムテスト用のデータ生成を行うなどツールに必要な入力を判断します。

テスト実行とカバレッジツール

テスト実行ツールは、テストを自動化して手動で難しいテストを実行するのにも役立ちます。
テストアナリストは、コスト削減・リグレッションテスト・テスト実行時の再現性を向上するためにテスト実行とカバレッジツールを検討します。

テスト実行ツールの投資効果は、リグレッションテストの自動化が最も高くなります。
リグレッションテストの自動化は、メンテナンス工数が少なくして繰り返し実行を可能するためです。

スモークテストの自動化でも有効で、頻繁なテストケースの利用や結果を取得することが可能です。
継続的インテグレーション環境での自動化はメンテナンスコストが高くなる場合があります
テスト実行のツールは主にシステムテストや統合テストで使用されます。
APIテストツールではコンポーネントテストでも利用されます。

キーワード駆動テスト

キーワード駆動テストは、テスト実行ツールの一つです。
テストアナリストは、キーワードとデータを提供していきます。
キーワードはシステムと高レベルなビジネス相互作用を表して、これを基にテストケースを特定します。 キーワードは実行可能なテストスクリプトとして実装され、ツールがこれを読み込んで適切なスクリプトを呼び出します。

キーワード駆動テストの主な利点

テストアナリストの主な役割

キーワード駆動テストは、特にシステムテストで使用され、継続的インテグレーション環境での自動化開発に適しています。

テストツールおよび自動化

テストアナリストの章では、どのようなテストツールがあるか記載しました。
テストマネージャーでは、テストツールの選択方法やライフサイクルについて記載します。

テストツールの選択

テストマネージャーはテストツールは目的を定義してテストツールをを選択するときに導入時のコストメリットやリスクを検討します。
テストツールは有償でも無償でもコスト(金銭・リソース・時間)が発生しますので、導入時の投資効果(ROI:Return On Investment)が大切です。

テストツールを導入するために発生するコストとテストで効率化されて自動化されたことによる削減されたコストが上回ることが大切です。
そのためには、テストツールはテスターが効率よく実行できるツールなのかテスト対象に合致しているのかが大切です。
一般的なテストツールのメリットとデメリットは以下です。

メリット

リスク

テストマネージャーは、テストツールの導入にコストが発生しますので導入時の効果とコストメリットを確認する必要があります。

テストツールには、どのようなツールがあり、メリットやデメリットがあるのか確認します。
テストツールは以下があります。

各ツールの詳細とメリットとデメリットを以下に記載します。

商用ベンダーからの購入

商用ベンダーから購入します。

メリット

デメリット

オープンソースツールの利用

オープンソースとは、ソフトウェアのソースコードが公開されていてライセンスに基づいて利用できるソフトウェアです。
テストツールとして使用する場合でも、ライセンスを確認する必要があります。

メリット

デメリット

カスタムツールの開発

カスタムツールを開発は、テスト対象に対してまたは一般的なテスト内容のテストツールを開発します。

メリット

デメリット

テストツールのコスト

テストマネージャーは、テストツールを導入した場合にどのようなコストが発生するかも認識する必要があります。
導入時に発生する初期コストを次に記載します。

固定で発生するコストを次に記載します。

テストマネージャーがテストツールについて確認することを以下に記載します。

テストツールのライフサイクル

テストマネージャーは、テストツールのライフサイクルも考慮する必要があります。
テストツールのライフサイクルは以下です。

1

調達(Procurement)

テストツールの種類・費用対効果を確認し、テストツールの管理者・使用方法・成果物の作成場所と命名規則・トレーニング内容を決定

2

サポートとメンテナンス(Support and Maintenance)

メンテナンスの維持(テストツール管理者)、他ツールと連携定義(データやプロセス)し、ツールの運用(バックアップやリストア方法)を決定

3

進化(Evolution)

テストツールの進化(システム改修・環境・ビジネスニーズ・ベンダーの問題に合わせた対応)

4

廃棄(Discard)

テストツールの廃棄作業(使用したデータ・スクリプト・テスト結果などの保持)

テストツールのメトリクス

テストマネージャは、テスト活動をマネジメントするためにテストツールのメトリクスを利用します。
テストツールを利用することで、リアルタイムにデータが収集できてデータ収集のコストも削減できます。

テストマネジメントツール

カバレッジメトリクス、実行ステータスと進捗状況を確認できるメトリクス

欠陥マネジメントツール

システム全体の欠陥ステータス・重要度・優先度・分布状況・欠陥の混入フェーズ・発見フェーズ・見逃し率など

静的解析ツール

保守性の問題の検出を報告するのに役立つ情報を提供

性能テストツール

システムの拡張性による性能面の影響に関する情報

カバレッジツール

テスト全体における消化率を理解するのに役立つ