テスト影響度分析 (TIA:Test Impact Analysis) 機能は、テスト対象アプリケーションのカバレッジ データを分析し、前回のビルド以降の変更によって影響を受けたテストを特定します。以下の概要では、テスト影響度分析のプロセスについて説明します。
テスト影響度分析は、自動化されたプロセスの一部として実装されることを目的としています。テスト影響度分析 (TIA) を有効にするには、次の手順を実行します。
テスト対象アプリケーションをデプロイします。zip、war、jar、ear などの zip ベースのファイル形式でパッケージ化されたアプリケーションがサポートされています。また、スタンドアロンのクラス ファイルまたは zip ベースのファイル内に埋め込まれたクラス ファイルを含む階層的ディレクトリ構造もサポートされています。
SOAtest には、SOAtest が変更の影響を受けるテストを判断するために必要なカバレッジ情報を生成する Java エージェントが含まれています。
このエージェントは <INSTALL>/coverage ディレクトリにあります。同じディレクトリ内の agent.properties ファイルから構成設定を取得します。agent.jar および agent.properties ファイルを含むカバレッジ ディレクトリを、テスト対象アプリケーションが実行されているマシンにコピーする必要があります。
カバレッジ エージェントの設定
詳細については「アプリケーション カバレッジ」を参照してください。
適切なアプリケーション カバレッジ設定を構成し、完全なテスト スイートを実行してデータを収集し、ベースライン カバレッジ レポートを生成します。
soatestcli.exe -data <Your Workspace> -resource <Your Tests> -settings <Properties File with SOAtest Settings> -config <Your Team's Test Configuration> |
すでに自動テストを実行している場合は、-settings 引数でそのプロパティ ファイルを指定できます。
SOAtest を使用したテスト実行コマンドの詳細については、「コマンドラインからのテスト実行 (soatestcli)」を参照してください。手動で SOAtest GUI からテストを実行する ことも可能です。
テスト対象アプリケーションの新しいバージョンが利用可能になったら、テスト影響度分析を実行できます。テスト影響度分析によってレポートされたテストだけを実行するには、-impactedTests 引数を使用します。これにより、実行されるテストが、テスト対象アプリケーションの変更の影響を受けるテストだけに制限されます。
soatestcli.exe -data <Your Workspace> -impactedTests <Path to Baseline Coverage Report> -settings <Properties File with SOAtest Settings> -config <Your Team's Test Configuration> |
オプションのフィルター:
-include: -impactedTests の一部であるかどうかに関係なく、常に実行する必要があるテストを指定します。-exclude: -impactedTests の一部であるかどうかに関係なく、実行すべきでないテストを指定します。-impactedTests 引数を使用する場合は、必ず以下の設定に注意してください。これらの設定の詳細については、「アプリケーション カバレッジの設定」を参照してください。上の例では、これらは -settings 引数で指定された SOAtest 設定ファイルで構成されます。
application.coverage.binaries: テスト対象アプリケーションの変更されたバージョンのバイナリに設定します。application.coverage.binaries.include: オプションですが、推奨されます。テスト対象アプリケーションの変更されたバージョンのバイナリに設定します。application.coverage.binaries.exclude: オプションですが、推奨されます。これも application.coverage.binaries.include も設定されていない場合、バイナリの分析に時間がかかり、必要以上に多くのアプリケーションが分析されます。SOAtest を使用したテスト実行コマンドの詳細については、「コマンドラインからのテスト実行 (soatestcli)」を参照してください。