このセクションの内容:
はじめに
Test Impact Analysis は、コード変更の影響を受けるテスト メトリクスを計測し、データを DTP インターフェイスでレポートします。Test Impact Analysis は、コード ベースのすべてのファイルを収集し、各ファイルに関連するテスト ケースを解析します。指定の期間にファイルが変更され、関連するテスト ケースが変更後に実行されていない場合、テスト エクスプローラー でテスト ケースの「アクション」フィールドが「再テスト」に設定されます。そうでない場合、テスト ケースの「アクション」フィールドは変更されません。
正確な結果を生成するために、2 つのビルド間でテスト ケース情報がマージされます。ベースライン ビルドとターゲット ビルドの ID は、ウィジェットの作成時にドロップダウン メニューから設定されます。どちらのビルドも、ウィジェットでデータを適切に表示するために、カバレッジ解析データと動的解析データを必要とします。
Test Impact Analysis を更新する場合はデータの再サブミットを
以前のバージョンの DTP (5.3.2 以前) に保管されているカバレッジ データは、この拡張で使用されるテスト メトリクスを計算するために使用できません。新しいテスト レポートおよびカバレッジ レポートを DTP Server に送り、ウィジェットを構成するときに新しいレポートを含むビルドをベースライン ビルドとして設定する必要があります。
以前のビルド レポートを Data Collector に再びサブミットして、データを投入できます。データが DTP に格納されたら、通常のデータベースのクリーンアップ時にデータが削除されないように、必ずビルドをアーカイブしてください (「ビルドのロックとアーカイブ」を参照)。
異なるブランチからのビルドの比較は現在サポートされていません。たとえば開発ブランチのテストは、マスター ブランチのテストとは別のテストであると見なされます。
要件
- Parasoft DTP と Extension Designer 2020.1
- 次の Parasoft ツールのテストおよびカバレッジ データがサポートされています。
- C/C++test Standard、dotTEST、および Jtest 10.4.3 以降
- C/C++test Professional 10.4.3 以降
- SOAtest 9.10.7 以降
- テストおよびカバレッジ データを含むラン コンフィギュレーションを受け取るには、DTP でフィルターを構成しなければなりません。「カバレッジ イメージとフィルターの関連付け」を参照してください。ビルド管理ウィジェットを見ることで、これらの要件をフィルターとビルドが満たしているかを確認できます:
インストール
Test Impact Analysis を有効にするアセットは、Process Intelligence Pack のインストールの一部としてインストールされます。詳細については Process Intelligence Pack のインストール手順 を参照してください。フローをインストールした後、DTP 環境にレポートをデプロイします。
- まだインストールしていない場合は、Process Intelligence Pack をインストールしてください。
- Extension Designer を開き、[サービス] タブをクリックします。
- Process Intelligence Engine サービス カテゴリを展開します。アセットはどのサービス カテゴリにもデプロイできますが、Parasoft のアセットのカテゴライズに合うように Process Intelligence Engine カテゴリを使用することを推奨します。[カテゴリの追加] をクリックして独自のサービス カテゴリを作成することもできます (詳細については「サービスの使用」を参照)。
- 既存のサービスにアーティファクトをデプロイするか、新しいサービスを追加できます。サービスにデプロイしたアーティファクトの数は、全般的なパフォーマンスに影響します。詳細については「Extension Designer のベスト プラクティス」を参照してください。既存のサービスを選択し、ステップ 6 まで継続するか、または [サービスの追加] をクリックします。
- サービスの名前を指定して [確認] をクリックします。
- タブ化されたインターフェイスは、サービス内でアーティファクトを配置するのに役立ちます。複数のタブにまたがってアーティファクトを配置してもシステムのパフォーマンスには影響しません。タブをクリックし (または [+] ボタンをクリックして新しいタブを追加し)、縦の三点メニューから [読み込み] を選択します。
- [Local] > [Flows] > [Workflows] > [Process Intelligence] > [Test Impact Analysis] を選択し、[読み込み] をクリックします。
- 空いている任意の箇所をクリックしてサービスにアーティファクトを追加します。
- [デプロイ] をクリックし、DTP 環境へのアーティファクトのデプロイを完了します。
- DTP に戻ってダッシュボードをリフレッシュします。これで、関連するウィジェットを追加できるようになりました。
データのキャッシュ
Test Impact Analysis スライスにはキャッシュ機能があります。このスライスを長時間実行する場合に、同じデータに対する複数のリクエストを迅速に処理できます。データがリクエストされるとき、このスライスはまずデータがすでに計算されてキャッシュされているかを判断します。キャッシュが存在する場合、データは直接返され、時間のかかる計算はスキップされます。ただし、次の条件下では、実行時にキャッシュが消去され、再計算されます。
- データがキャッシュされていない
- キャッシュされたデータが、異なるビルドの組み合わせに関連付けられている
- 追加の解析データがビルドの組み合わせにレポートされている
フィルターおよびベースライン ビルドとターゲット ビルドの組み合わせごとに 1 つのキャッシュが存在します。
キャッシュの消去
このスライスは自動的にキャッシュを削除しないため、フィルターが増えるにつれてキャッシュが大きくなることがあります。古いキャッシュ データの消去を簡単にするために、このスライスには Enterprise Pack データベースからすべてのキャッシュを削除する方法が用意されています。この方法は、キャッシュされた計算をすべて消去します。また、毎日 00:00 にもキャッシュを消去します。キャッシュの自動消去は、Clean Cache ノードを編集することで設定できます。
ウィジェットの設定
Test Impact Analysis スライスには、Tests Impacted by Change - Pie Chart ウィジェットが同梱されています。このウィジェットは「成功」「失敗」「未完了」および「再実行が必要」であるテストの数を表示します。DTP のダッシュボードにウィジェットを追加する方法については「ウィジェットの追加」を参照してください。
タイトル | ウィジェットのデフォルト タイトルを変更できます。 |
---|---|
フィルター | ドロップダウン メニューからフィルターを選択します。フィルターは、テスト実行とコード解析のメタデータ構成の集合であり、DTP によるデータの集約、サブセット、および解析を可能にします。 |
期間 | 期間として設定する時間の範囲またはビルド数を選択します。 |
ベースライン ビルド | ターゲット ビルドと比較したいビルド。 |
ターゲット ビルド | 解析したいビルド。通常は最新ビルドです。 |
カバレッジ イメージ | カバレッジ イメージは、テスト実行に関連するカバレッジ データのための識別子です。情報を表示するために、フィルターには正しいカバレッジ イメージを設定しなければなりません。 |
正しいビルドを取得するためにビルド管理をチェックする
このウィジェットはデータを円グラフで表示します。
トラブルシューティング
データに問題がある場合、ウィジェットは問題を説明するエラーを表示します。たとえば以下のエラー メッセージが表示されます。
エラーに対応するには:
- カバレッジ情報にアクセスできることを確認します (「Requirements」を参照)。
- 関連するカバレッジ イメージがフィルターにあることを確認します (「カバレッジ イメージとフィルターの関連付け」を参照)。
- ウィジェットを追加したときに正しいカバレッジ イメージが選択されたことを確認します (「Widget Configuration」を参照)。
結果の確認
Tests Impacted by Change ウィジェット上をクリックすると、Impacted by Change ドリルダウン レポートが開きます。
このレポートでは、以下のアクションを実行できます。
- ファイル名、成功、失敗、未完了の列のリンクをクリックすると、最新のビルド ID で テスト エクスプローラー が開きます。
- 再テストの列のリンクをクリックすると、ベースライン ビルド ID で テスト エクスプローラー が開きます。