Test Stability Report (TSR) プロセス インテリジェンス フローは、指定の数のビルドについてテスト ケースの結果をモニタリングし、頻繁にステータスが変わるテストを不安定なテストとして特定します。このフローには、テストの現在のステータスを表示するウィジェットと、テストの実行履歴およびテストのステータスの変化を表示するインタラクティブな詳細レポートが含まれています。このセクションの内容:

はじめに

このワークフローは、最後の 10 ビルドについてテスト ステータスをすべて収集し、アルゴリズムを使用して各テストの安定性スコアを計算します。このアルゴリズムは、「テスト ステータスの変化の数」および「最新ビルドに対してどの程度最近にそれらの変化があったか」に基づきます。スコアがしきい値を超える場合、テスト ケースは不安定と見なされます。安定性スコアの判断に使用されるアルゴリズム、しきい値、ビルドの数はユーザーがカスタマイズできます。

Test Stability DTP ワークフローには以下のコンポーネントが含まれます。

  • Test Stability - Statistics ウィジェット: このウィジェットは、選択されたフィルターおよび最後の実行のテスト ステータスについてテストの安定性のサマリーを提供します。 
  • Test Stability - Donut ウィジェット: このウィジェットは、最新のビルドに基づいて、さまざまな安定性カテゴリに入るテストの割合を表示します。
  • Test Execution History レポート: このインタラクティブな詳細レポートは、テストの実行履歴と、指定のビルド数におけるテスト ステータスの変化を表示します。 

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

要件

  • Parasoft DTP および DTP Enterprise Pack 2020.1
  • 以下のいずれかの Parasoft ツールのテスト実行データが必要です。
    • SOAtest 9.10.7 以降
    • C/C++test Standard、dotTEST、および Jtest 10.4.3 以降
    • C/C++test Professional 10.4.3 以降 

インストール

アーティファクトは 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. [ライブラリ] > [Workflows] > [Process Intelligence] > [Test Stability Report] を選択し、[読み込み] をクリックします。
  8. 空いている任意の箇所をクリックしてサービスにアーティファクトを追加します。
  9. [デプロイ] をクリックし、DTP 環境へのアーティファクトのデプロイを完了します。
  10. DTP に戻ってダッシュボードをリフレッシュします。これで、関連するウィジェットを追加できるようになりました。

TSR フローのカスタマイズ

Set Threshold and Max Build Count, Algorithm change ノードをダブルクリックして設定にアクセスします。

以下の設定を変更できます。

  • flow.threshold: このフローはスコアリング システムに関わります。あるビルドから次のビルドにおけるテスト結果の変更がスコアに影響します。デフォルトでは、スコアが 0 より大きい場合、テストは不安定であると見なされます。テスト ステータスの変動が予想される場合、しきい値を増加できます。指定のビルド数において緩やかな変化があっても、テストは安定していると見なされます。 
  • flow.maxBuildCount: デフォルトでは、テストの安定性を判断するサンプル サイズとして TSR は最新の 10 ビルドを使用します。maxBuildCount の値を変更して、ビルドの数を増減できます。ビルドの数を増やすと、システムのパフォーマンスに影響します。
  • flow.algorithm: テストの安定性を計算するために、デフォルトではビルトイン アルゴリズムが使用されますが、このフィールドに custom を指定して、Calculate Stability (custom) function ノードでユーザー独自のアルゴリズムをプログラムすることもできます。

 

カスタム アルゴリズムを使用するには、Switch Algorithm function ノードをダブルクリックして custom アルゴリズムを指定する必要もあります。

ウィジェットの追加と構成

アーティファクトをデプロイした後、Test Stability - Donut および Test Stability - Statistics ウィジェットを DTP で利用できます。プロセス インテリジェンス カテゴリから選択できます。ダッシュボードにウィジェットを追加する方法については「ウィジェットの追加」を参照してください。

両方のウィジェットについて以下の設定を行うことができます。

タイトルデフォルトのタイトルの代わりにダッシュボードに表示する新しいタイトルを入力します。
フィルター[ダッシュボード設定] を選択してダッシュボード フィルターを使用するか、ドロップダウン メニューからフィルターを選択します (DTP のフィルターの詳細については「フィルターの作成と管理」を参照してください)。
最後の実行

ウィジェットは、最後の実行のテスト ステータスに基づいてデータを表示します。以下を選択できます。

  • All: 最後の実行のすべてのテストを含めます。
  • Passed: 最後の実行で成功したテストだけを含めます。
  • Failed: 最後の実行で失敗したテストだけを含めます。
  • Incomplete: 最後の実行で完了しなかったテストだけを含めます。
  • No Data: ステータスをレポートしなかったテストだけを含めます。

ウィジェットの複数のインスタンスを追加してそれぞれに異なる最後の実行を設定することで、テストの安定性についてより詳しい情報を得ることができます。

Viewing the Test Stability - Donut ウィジェット

このウィジェットは、最後の実行について、安定したテストの割合を示します。色付けされたセグメントは安定したテストを表し、グレーのセグメントは不安定なテストを表します。 

 

以下の操作を行うことができます。

  • セグメント上にマウス ポインタを置いて詳細を表示します。 
  • ウィジェットをクリックすると、選択した実行について不安定なテストを Test Execution Stability Report で確認できます。 

Viewing the Test Stability - Statistics ウィジェット

このウィジェットは、テストの安定性の統計サマリーをグラフで表示します。このウィジェットは、最後の実行での安定したテストの割合、テストの数、安定したテストの数、および不安定なテストの数を表示します。

行をクリックすると、ウィジェットの設定およびクリックした場所に従ってフィルタリングされた Test Execution Report が表示されます (このレポートの詳細については「Viewing the Test Execution History Report」を参照してください)。 

Test Execution History Report の表示

このレポートは、最後の 10 ビルド (デフォルト) のフィルターでテスト結果を表示します。テストの安定性 (All、Stable、Unstable) および最後の実行ステータス (All、Passed、Failed、Incomplete、No Data) に基づいてレポートをフィルタリングできます。 

File Name 列

実行されたテスト ケースを含むテスト ファイルの名前を表示します。手動テストには、関連付けられたテスト ファイル名がありません。セルをクリックしてテスト ファイル名をハイライトし、キーボードを使って OS のクリップボードにコピーすることができます (Ctl + C または Command + C)。テスト自動化ツールでファイルを検索するのが簡単になります。

Test Case 列

実行されたテスト ケースの名前を表示します。セルをクリックしてテスト ケースをハイライトし、キーボードを使って OS のクリップボードにコピーすることができます (Ctl + C または Command + C)。テスト自動化ツールでテスト ケースを検索するのが簡単になります。

Test Status 列

この列はビルドとテスト ケースのグリッドを表示します。各行はテスト ケースを表し、各セルは 1 つのビルドの結果を表します。結果は色分けされます。

  • 緑: 成功したテスト
  • 赤: 失敗したテスト
  • 黄色: 未完了のテスト
  • 灰色: ビルドでテストの結果がレポートされませんでした

レポート データのデフォルト順序

デフォルトでは、レポートは「不安定な結果」をロードした後「安定した結果」をロードします。各安定性カテゴリの 第 2 層の順序は、「失敗」「未完了」「成功」「データなし」です。

セルをクリックして テスト エクスプローラー でテストを表示できます。DTP で詳細がないテスト ケースは、表示するものがないためエクスプローラーに表示されません。

セル上にマウス ポインタを置くと、ビルド情報とテスト ステータスが表示されます。 

Stability 列

この列は、テストの安定性のステータスを表示します。

Action 列

この列では、テスト ケースのアクションを定義できます。ドロップダウン メニューからアクションを選択します。テストについての情報が テスト エクスプローラー で更新されます。

  • No labels