このセクションの内容:

はじめに

テスト影響度分析 (Test Impact Analysis) は、コード変更の影響を受けるテスト メトリクスを計測し、データを DTP インターフェイスでレポートします。テスト影響度分析は、コード ベースのすべてのファイルを収集し、各ファイルに関連するテスト ケースを解析します。指定の期間にファイルが変更され、関連するテスト ケースが変更後に実行されていない場合、テスト エクスプローラー でテスト ケースの「アクション」フィールドが「再テスト」に設定されます。そうでない場合、テスト ケースの「アクション」フィールドは変更されません。

正確な結果を生成するために、2 つのビルド間でテスト ケース情報がマージされます。ベースライン ビルドとターゲット ビルドの ID は、ウィジェットの作成時にドロップダウン メニューから設定されます。ウィジェットでデータを適切に表示するために、ベースライン ビルドはカバレッジ データと動的解析データを必要とし、ターゲット ビルドはカバレッジ データを必要とします。ターゲット ビルドにテスト実行データがある場合は、テストの詳細も必要です。テストの詳細がないと、対象のテスト結果をウィジェットまたはレポートに表示できず、ベースライン内の適切なテストの [アクション] フィールドがテスト エクスプローラーで [再テスト] に設定されません。

テスト影響度分析を更新する場合はデータの再サブミットを

以前のバージョンの DTP (5.3.2 以前) に保管されているカバレッジ データは、この拡張で使用されるテスト メトリクスを計算するために使用できません。新しいテスト レポートおよびカバレッジ レポートを DTP Server に送り、ウィジェットを構成するときに新しいレポートを含むビルドをベースライン ビルドとして設定する必要があります。

以前のビルド レポートを Data Collector に再びサブミットして、データを投入できます。データが DTP に格納されたら、通常のデータベースのクリーンアップ時にデータが削除されないように、必ずビルドをアーカイブしてください (「ビルドのロックとアーカイブ」を参照)。

異なるブランチからのビルドの比較は現在サポートされていません。たとえば開発ブランチのテストは、マスター ブランチのテストとは別のテストであると見なされます。

要件

テストおよびカバレッジ データを含むラン コンフィギュレーションを受け取るには、DTP でフィルターを構成しなければなりません。カバレッジ イメージとフィルターの関連付け」を参照してください。ビルド管理ウィジェットを見ることで、これらの要件をフィルターとビルドが満たしているかを確認できます:

インストール

テスト影響度分析を有効にするアセットは、Process Intelligence Pack のインストールの一部としてインストールされます。詳細については Process Intelligence Pack のインストール手順 を参照してください。フローをインストールした後、DTP 環境にレポートをデプロイします。 

  1. まだインストールしていない場合は、Process Intelligence Pack をインストールしてください。
  2. Extension Designer を開き、[サービス] タブをクリックします。
  3. Process Intelligence Engine サービス カテゴリを展開します。アセットはどのサービス カテゴリにもデプロイできますが、Parasoft のアセットのカテゴライズに合うように Process Intelligence Engine カテゴリを使用することを推奨します。[カテゴリの追加] をクリックして独自のサービス カテゴリを作成することもできます (詳細については「サービスの使用」を参照)。
  4. 既存のサービスにアーティファクトをデプロイするか、新しいサービスを追加できます。サービスにデプロイしたアーティファクトの数は、全般的なパフォーマンスに影響します。詳細については「Extension Designer のベスト プラクティス」を参照してください。既存のサービスを選択し、ステップ 6 まで継続するか、または  [サービスの追加] をクリックします。
  5. サービスの名前を指定して [確認] をクリックします。
  6. タブ化されたインターフェイスは、サービス内でアーティファクトを配置するのに役立ちます。複数のタブにまたがってアーティファクトを配置してもシステムのパフォーマンスには影響しません。タブをクリックし (または [+] ボタンをクリックして新しいタブを追加し)、縦の三点メニューから [読み込み] を選択します。
  7. [Local] > [Flows] > [Workflows] > [Process Intelligence] > [Test Impact Analysis] を選択し、[読み込み] をクリックします。
  8. 空いている任意の箇所をクリックしてサービスにアーティファクトを追加します。
  9. [デプロイ] をクリックし、DTP 環境へのアーティファクトのデプロイを完了します。
  10. DTP に戻ってダッシュボードをリフレッシュします。これで、関連するウィジェットを追加できるようになりました。

データのキャッシュ

Test Impact Analysis スライスにはキャッシュ機能があります。このスライスを長時間実行する場合に、同じデータに対する複数のリクエストを迅速に処理できます。データがリクエストされるとき、このスライスはまずデータがすでに計算されてキャッシュされているかを判断します。キャッシュが存在する場合、データは直接返され、時間のかかる計算はスキップされます。ただし、次の条件下では、実行時にキャッシュが消去され、再計算されます。

  • データがキャッシュされていない
  • キャッシュされたデータが、異なるビルドの組み合わせに関連付けられている
  • 追加のカバレジ データがビルドの組み合わせにレポートされている

    Parasoft の解析ツールは、カバレッジ レポート (coverage.xml) の前にテスト レポート (report.xml) をアップロードします。レポートを手動でアップロードする場合は、必ずカバレッジ レポートの前にテスト レポートをアップロードしてください。最後にアップロードしたレポートがテスト レポートである場合、キャッシュの再計算が正しく行われません。

フィルターおよびベースライン ビルドとターゲット ビルドの組み合わせごとに 1 つのキャッシュが存在します。

キャッシュの消去

このスライスは自動的にキャッシュを削除しないため、フィルターが増えるにつれてキャッシュが大きくなることがあります。古いキャッシュ データの消去を簡単にするために、このスライスには Enterprise Pack データベースからすべてのキャッシュを削除する方法が用意されています。この方法は、キャッシュされた計算をすべて消去します。また、毎日 00:00 にもキャッシュを消去します。キャッシュの自動消去は、Clean Cache ノードを編集することで設定できます。

ウィジェットの設定

Test Impact Analysis スライスには、Tests Impacted by Change - Pie Chart ウィジェットが同梱されています。このウィジェットは「成功」「失敗」「未完了」および「再実行が必要」であるテストの数を表示します。DTP のダッシュボードにウィジェットを追加する方法については「ウィジェットの追加」を参照してください。

タイトルウィジェットのデフォルト タイトルを変更できます。
 フィルタードロップダウン メニューからフィルターを選択します。フィルターは、テスト実行とコード解析のメタデータ構成の集合であり、DTP によるデータの集約、サブセット、および解析を可能にします。
期間期間として設定する時間の範囲またはビルド数を選択します。
ベースライン ビルドターゲット ビルドと比較したいビルド。
ターゲット ビルド解析したいビルド。通常は最新ビルドです。
カバレッジ イメージカバレッジ イメージは、テスト実行に関連するカバレッジ データのための識別子です。情報を表示するために、フィルターには正しいカバレッジ イメージを設定しなければなりません。

正しいビルドを取得するためにビルド管理をチェックする

デフォルトでは、ベースライン ビルドとターゲット ビルドはダッシュボード設定を使用するように構成されます。このスライスは、最新の 2 つのビルドを自動的に選択しますが、これらのビルドにテストとカバレッジの詳細が含まれていない場合もあります。「要件」のセクションで説明するように、ウィジェットを構成する際に DTP でビルド管理ページを確認し、適切なベースライン ビルドとターゲット ビルドを使用するべきです。「ビルド管理」も参照してください。

このウィジェットはデータを円グラフで表示します。 

トラブルシューティング

データに問題がある場合、ウィジェットは問題を説明するエラーを表示します。たとえば以下のエラー メッセージが表示されます。

エラーに対応するには:

結果の確認

Tests Impacted by Change ウィジェット上をクリックすると、Impacted by Change ドリルダウン レポートが開きます。

このレポートでは、以下のアクションを実行できます。


  • No labels