Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space DTPDEVEL and version 2023.1

このセクションの内容:

Table of Contents
maxLevel1

はじめに

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

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

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

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

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

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

Anchor
Requirements
Requirements
要件

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

Anchor
build-admin-get-build-details
build-admin-get-build-details

インストール

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

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

データのキャッシュ

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

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

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

キャッシュの消去

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

Anchor
Widget Configuration
Widget Configuration
ウィジェットの設定

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

Scroll Table Layout
widths30%,70%

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

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

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

トラブルシューティング

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

エラーに対応するには:

  • カバレッジ情報にアクセスできることを確認します (「Requirements」を参照)。
  • 関連するカバレッジ イメージがフィルターにあることを確認します (「Associating Coverage Images with Filters」を参照)。 
  • ウィジェットを追加したときに正しいカバレッジ イメージが選択されたことを確認します (「Widget Configuration」を参照)。

結果の確認

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

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

  • ファイル名、成功、失敗、未完了の列のリンクをクリックすると、最新のビルド ID で Test Explorer が開きます。
  • 再テストの列のリンクをクリックすると、ベースライン ビルド ID で Test Explorer が開きます。