テストの概要の傾向のサンプル レポート

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020

テスト タスクを含むパイプラインを照会して、テストの概要傾向レポートを作成できます。 たとえば、次のレポートには、24 日間の各列の失敗したテスト実行の数と、テスト合格率の傾向を示す折れ線グラフが表示されます。 パイプラインにテストを追加する方法については、この記事で後述する タスク リソースのテスト セクションを参照してください。

テスト概要の傾向積み上げ縦棒グラフ レポートのスクリーンショット。

具体的には、この記事では、次のレポートを生成するためのサンプル クエリを提供します。

  • ビルド ワークフローのテスト概要の傾向
  • リリース ワークフローのテストの概要傾向
  • 特定のブランチの概要傾向をテストする
  • 特定のテスト ファイルのテスト概要の傾向
  • 特定のテスト所有者のテストの概要傾向。

重要

Power BI 統合 Analytics Service の OData フィードへのアクセスは 、Azure DevOps Services および Azure DevOps Server 2020 以降のバージョンで一般提供されています。 この記事で提供されるサンプル クエリは、Azure DevOps Server 2020 以降のバージョンに対してのみ有効であり、 v3.0-preview 以降のバージョンによって異なります。 これらのクエリを使用し、フィードバックをお寄せください。

前提条件

  • アクセス レベル: Basic 以上のプロジェクトのメンバーである必要があります。
  • Permission: 既定では、プロジェクト メンバーは Analytics にクエリを実行してビューを作成する権限を持ちます。
  • サービスと機能の有効化と一般的なデータ追跡アクティビティに関するその他の前提条件の詳細については、「 Analytics にアクセスするためのアクセス許可と前提条件を参照してください。

Note

この記事では、「 OData クエリを使用したサンプル レポートの概要」を 読み、Power BI の基本的な理解があることを前提としています。

サンプル クエリ

TestRuns エンティティ セットの次のクエリを使用して、異なる似たパイプライン テストの概要傾向レポートを作成できます。 次のクエリの TestRuns エンティティ セットは、パイプライン定義内にテスト タスクを含める場合にのみ使用できます。

Note

フィルターまたはレポートの目的で使用可能なプロパティを決定するには、 テスト プラン分析のMetadata リファレンス および Azure Pipelines の Metadata リファレンスを参照してください。 クエリをフィルター処理したり、 で使用可能な または 値のPropertyEntityTypeNavigationPropertyBinding Pathの値のいずれかを使用してプロパティをEntitySet返したりできます。 各 は EntitySetEntityType対応します。 各値のデータ型の詳細については、対応する EntityTypeに指定されたメタデータを確認してください。

ビルド ワークフローのテストの概要の傾向

次のクエリを使用して、 Build ワークフローのパイプラインのテスト概要傾向を表示します。

以下に示す Power BI クエリは、[ データの取得- 空の>クエリ ] ウィンドウに直接貼り付けることができます。 詳細については、「 OData クエリを使用したサンプル レポートの概要」を参照してください。

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestRuns?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"and CompletedOn/Date ge {startdate} "
                &"and Workflow eq 'Build' "
            &") "
        &"/groupby( "
          &"(CompletedOn/Date), "
          &"aggregate( "
            &"ResultCount with sum as ResultCount, "
            &"ResultPassCount with sum as ResultPassCount, "
            &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
            &"ResultNotImpactedCount with sum as ResultNotImpactedCount, "
            &"ResultFailCount with sum as ResultFailCount "
         &")) "
       &"/compute( "
       &"iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

リリース ワークフローのテスト概要の傾向

次のクエリを使用して、 Release ワークフローに対して定義されたパイプラインのテスト概要傾向を表示します。

以下に示す Power BI クエリは、[ データの取得- 空の>クエリ ] ウィンドウに直接貼り付けることができます。 詳細については、「 OData クエリを使用したサンプル レポートの概要」を参照してください。

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestRuns?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"and CompletedOn/Date ge {startdate} "
                &"and Workflow eq 'Release' "
            &") "
        &"/groupby( "
          &"(CompletedOn/Date), "
          &"aggregate( "
            &"ResultCount with sum as ResultCount, "
            &"ResultPassCount with sum as ResultPassCount, "
            &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
            &"ResultNotImpactedCount with sum as ResultNotImpactedCount, "
            &"ResultFailCount with sum as ResultFailCount "
         &")) "
       &"/compute( "
       &"iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

分岐でフィルター処理されたテストの概要傾向

特定のブランチのパイプラインのテスト概要傾向を表示するには、次のクエリを使用します。 レポートを作成するには、この記事の後半で指定されているものと共に、次の追加手順を実行します。

  • BranchBranch.BranchName
  • Power BI 視覚化スライサーを選択し、スライサーの Field にBranch.BranchNameフィールドを追加します
  • 結果の概要を表示する必要があるスライサーからブランチ名を選択します。

スライサーの使用の詳細については、「power BI の Slicerを参照してください。

以下に示す Power BI クエリは、[ データの取得- 空の>クエリ ] ウィンドウに直接貼り付けることができます。 詳細については、「 OData クエリを使用したサンプル レポートの概要」を参照してください。

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestRuns?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"and CompletedOn/Date ge {startdate} "
                &"and Workflow eq 'Build' "
            &") "
        &"/groupby((Branch/BranchName, CompletedOn/Date), "
          &"aggregate( "
            &"ResultCount with sum as ResultCount, "
            &"ResultPassCount with sum as ResultPassCount, "
            &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
            &"ResultNotImpactedCount with sum as ResultNotImpactedCount, "
            &"ResultFailCount with sum as ResultFailCount "
         &")) "
       &"/compute( "
       &"iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

テスト ファイルでフィルター処理されたテストの概要傾向

特定のテスト ファイルのパイプラインのテスト概要傾向を表示するには、次のクエリを使用します。 レポートを作成するには、この記事の後半で定義されているものと共に、次の追加手順を実行します。

  • TestTest.ContainerName
  • Power BI 視覚化スライサーを選択し、スライサーの Field にTest.ContainerNameフィールドを追加します
  • 結果の概要を表示する必要があるスライサーからコンテナー名を選択します。

以下に示す Power BI クエリは、[ データの取得- 空の>クエリ ] ウィンドウに直接貼り付けることができます。 詳細については、「 OData クエリを使用したサンプル レポートの概要」を参照してください。

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestRuns?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"and CompletedOn/Date ge {startdate} "
                &"and Workflow eq 'Build' "
            &") "
        &"/groupby((Test/ContainerName, Date/Date), "
          &"aggregate( "
            &"ResultCount with sum as ResultCount, "
            &"ResultPassCount with sum as ResultPassCount, "
            &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
            &"ResultNotImpactedCount with sum as ResultNotImpactedCount, "
            &"ResultFailCount with sum as ResultFailCount "
         &")) "
       &"/compute( "
       &"iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

テスト所有者によってフィルター処理されたテストの概要傾向

特定のテスト所有者が所有するテストのパイプラインのテスト概要傾向を表示するには、次のクエリを使用します。 レポートを作成するには、この記事の後半で定義されているものと共に、次の追加手順を実行します。

  • TestTest.TestOwner
  • Power BI 視覚化スライサーを選択し、スライサーの Field にTest.TestOwnerフィールドを追加します
  • 結果の概要を表示する必要があるスライサーからテスト所有者を選択します。

以下に示す Power BI クエリは、[ データの取得- 空の>クエリ ] ウィンドウに直接貼り付けることができます。 詳細については、「 OData クエリを使用したサンプル レポートの概要」を参照してください。

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestRuns?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"and CompletedOn/Date ge {startdate} "
                &"and Workflow eq 'Build' "
            &") "
        &"/groupby((Test/TestOwner, Date/Date), "
          &"aggregate( "
            &"ResultCount with sum as ResultCount, "
            &"ResultPassCount with sum as ResultPassCount, "
            &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
            &"ResultNotImpactedCount with sum as ResultNotImpactedCount, "
            &"ResultFailCount with sum as ResultFailCount "
         &")) "
       &"/compute( "
       &"iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

置換文字列とクエリの内訳

次の文字列を実際の値に置き換えます。 置換に角かっこを {} 含めないでください。 たとえば、組織名が "Fabrikam" の場合は、 ではなく {Fabrikam}を にFabrikam置き換えます{organization}

  • {organization} - 組織名
  • {project} - チーム プロジェクト名
  • {pipelinename} - パイプライン名。 例: Fabrikam の時間単位のビルド パイプライン
  • {startdate} レポートを開始する日付。 形式: YYYY-MM-DDZ。 例: 2023-01-01Z は、2023 年 1 月 1 日の 12:50:54 を表します。 引用符または角かっこで囲む必要はありません。

クエリの内訳

次の表では、クエリの各部分について説明します。

クエリ パーツ

説明

$apply=filter(

filter() 開始します。

Pipeline/PipelineName eq '{pipelineName}'

指定したパイプラインのテスト実行を返します。

and CompletedOn/Date ge {startdate}

指定した日付以降にテストが実行されます。

and Workflow eq 'Build'

Build ワークフローを使用してパイプラインのテスト実行を返す

)

close filter()

/groupby(

groupby() 開始します。

(CompletedOn/Date),

テストの実行が完了した日付でグループ化します。

aggregate(

aggregate 開始します。 フィルター条件に一致するすべてのテスト実行について、一連のカウントを合計します。

ResultCount with sum as ResultCount,

テスト実行の合計数を ResultCountとしてカウントします。

ResultPassCount with sum as ResultPassCount,

成功したテスト実行の合計数を ResultPassCountとしてカウントします。

ResultNotExecutedCount with sum as ResultNotExecutedCount,

実行されていないテスト実行の合計数を ResultNotExecutedCountとしてカウントします。

ResultNotImpactedCount with sum as ResultNotImpactedCount

影響を受けなかったテスト実行の合計数を ResultNotImpactedCountとしてカウントします。

ResultFailCount with sum as ResultFailCount

失敗したテスト実行の合計数を ResultFailCountとしてカウントします。

))

aggregate()句とgroupby()句を閉じます。

/compute(

compute() 開始します。

iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate

すべての日について、 PassRateを計算します。

)

compute() 閉じます。

(省略可能)クエリの名前を変更する

既定のクエリ ラベル Query1 の名前を、より意味のある名前に変更できます。 [ クエリ設定] ペインから新しい名前を入力するだけです。

Power BI クエリ メニュー オプションのスクリーンショット。クエリの名前を変更します。

Power BI で CompletedOn 列を展開する

CompletedOn列を展開します。 列を展開すると、レコードが特定のフィールドにフラット化されます。 方法については、「 Transform Analytics データを使用して Power BI レポートを生成する、列を展開するを参照してください。

列のデータ型を変更する

Power Query エディターからPassRate列を選択し、Transform メニューから Data Type を選択し、Decimal Number を選択します。

データ型の変更の詳細については、「 Transform Analytics データを使用して Power BI レポートを生成する」、列データ型の変換を参照してください。

クエリを閉じて変更を適用する

すべてのデータ変換が完了したら、Home メニューから Close & Apply を選択してクエリを保存し、Power BI の Report タブに戻ります。

[閉じて適用] オプションPower Query エディタースクリーンショット。

折れ線グラフと積み上げ縦棒グラフ レポートを作成する

  1. Power BI の Visualizations で、 折れ線グラフと積み上げ縦棒グラフを選択し フィールドをグラフ領域にドラッグ アンド ドロップします。

    [Test Summary Trend] 積み上げ縦棒グラフ レポートの視覚化フィールドの選択のスクリーンショット。

  2. X 軸にCompletedOn.Dateを追加フィールドを右クリックし、Date Hierarchy ではなく Date.Date を選択します。

  3. ResultFailCountColumn y 軸に追加します。

  4. 線 y 軸にPassRateを追加

レポートは次の図のようになります。

サンプル テストの概要の傾向積み上げ縦棒グラフ レポートのスクリーンショット。

タスク リソースのテスト