次の方法で共有


テスト期間のサンプル レポート

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

次の図に示すようなテスト期間レポートでは、テストの実行回数と、パイプラインの実行中に特定のテストが実行されるまでの平均時間に関する分析情報が提供されます。 パイプラインにテストを追加する方法については、この記事で後述する 「テスト タスク リソース 」セクションを参照してください。

テスト期間テーブル レポートのスクリーンショット。

この記事で提供されているクエリを使用して、次のレポートを生成します。

  • ビルド ワークフローのテスト期間
  • リリース ワークフローのテスト期間
  • 特定のブランチのテスト期間
  • 特定のテスト ファイルのテスト期間
  • 特定のテスト所有者のテスト期間

重要

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

前提条件

  • 分析データを表示してサービスにクエリを実行するには、 Basic アクセス以上のプロジェクトのメンバーである必要があります。 既定では、すべてのプロジェクト メンバーには、Analytics のクエリと 分析ビューの定義に対するアクセス許可が付与されます。
  • サービスと機能の有効化と一般的なデータ追跡アクティビティに関するその他の前提条件については、「 Analytics にアクセスするためのアクセス許可と前提条件」を参照してください。

Note

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

サンプル クエリ

エンティティ セットの次のクエリを使用して、 TestResultsDaily 異なるが類似したテスト期間レポートを作成できます。 エンティティ セットはTestResultsDaily、毎日のスナップショット実行のTestResult集計をテスト別にグループ化して提供します。

Note

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

ビルド ワークフローのテスト期間

次のクエリを使用して、ビルド ワークフローを含むパイプラインのテスト期間レポートを表示します。

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

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"And Date/Date ge {startdate} "
                &"And Workflow eq 'Build' "
           &") "
            &"/groupby( "
                &"(TestSK, Test/TestName), "
                &"aggregate( "
                  &"ResultCount with sum as TotalCount, "
                  &"ResultDurationSeconds with sum as TotalDuration "
            &")) "
        &"/compute( "
    &"TotalDuration div TotalCount as AvgDuration) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

リリース ワークフローのテスト期間

リリース ワークフローを含むパイプラインのテスト期間レポートを表示するには、次のクエリを使用します。

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

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"And Date/Date ge {startdate}) "
        &"/groupby((TestSK, Test/TestName, Workflow), "
        &"aggregate( "
            &"ResultCount with sum as TotalCount, "
                &"ResultDurationSeconds with sum as TotalDuration "
                &")) "
            &"/compute( "
                &"TotalDuration div TotalCount as AvgDuration) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

分岐でフィルター処理されたテスト期間

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

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

スライサーの使用の詳細については、Power BI のスライサーに関するページを参照してください

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

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"And Date/Date ge {startdate} "
        &"And Workflow eq 'Build') "
        &"/groupby((TestSK, Test/TestName, Branch/BranchName), "
            &"aggregate( "
                &"ResultCount with sum as TotalCount, "
                &"ResultDurationSeconds with sum as TotalDuration "
            &")) "
                &"/compute( "
            &"TotalDuration div TotalCount as AvgDuration) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

テスト ファイルでフィルター処理されたテスト期間

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

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

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

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"And Date/Date ge {startdate} "
        &"And Workflow eq 'Build') "
        &"/groupby((TestSK, Test/TestName, Test/ContainerName), "
            &"aggregate( "
                &"ResultCount with sum as TotalCount, "
                &"ResultDurationSeconds with sum as TotalDuration "
            &")) "
                &"/compute( "
            &"TotalDuration div TotalCount as AvgDuration) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

テスト所有者によってフィルター処理されたテスト期間

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

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

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

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"And Date/Date ge {startdate} "
        &"And Workflow eq 'Build') "
        &"/groupby((TestSK, Test/TestName, Test/TestOwner), "
            &"aggregate( "
                &"ResultCount with sum as TotalCount, "
                &"ResultDurationSeconds with sum as TotalDuration "
            &")) "
                &"/compute( "
            &"TotalDuration div TotalCount as AvgDuration) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

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

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

  • {organization} - 組織名
  • {project} - チーム プロジェクト名
  • {pipelinename} - パイプライン名。 例: Fabrikam hourly build pipeline
  • {startdate} - レポートを開始する日付。 形式: YYYY-MM-DDZ。 例: 2021-09-01Z 2021 年 9 月 1 日を表します。 引用符または角かっこで囲んで、月と日付の両方に 2 桁の数字を使用しないでください。

クエリの内訳

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

クエリ パーツ

説明


$apply=filter(

Start filter() 句。

Pipeline/PipelineName eq '{pipelineName}'

名前付きパイプラインのテスト実行を返します。

And Date/Date ge {startdate}

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

and Workflow eq 'Build'

ワークフローのテスト実行を Build 返します。

)

Close filter() 句。

/groupby(

Start groupby() 句。

(TestSK, Test/TestName),

テスト名でグループ化します。

aggregate(

フィルター条件に一致するさまざまなテスト実行結果を合計する Start aggregate 句。

ResultCount with sum as TotalCount,

テスト実行の合計数を次のように TotalCountカウントします。

ResultDurationSeconds with sum as TotalDuration

すべての実行 TotalDurationの合計期間を合計します。

))

groupby()閉じてaggregate()句を指定します。

/compute(

Start compute() 句。

TotalDuration div TotalCount as AvgDuration

すべてのテストについて、合計実行時間を実行の合計数で割って平均期間を計算します。

)

Close compute() 句。

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

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

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

Power BI の [テスト] 列を展開する

列を Test 展開して、展開されたエンティティを表示します Test.TestName。 列を展開すると、レコードが特定のフィールドにフラット化されます。 方法については、「Analytics データを変換して Power BI レポートを生成する」の「列を展開する」を参照してください

列のデータ型を変更する

  1. Power Query エディターから列をTotalCount選択し、[変換] メニューから [データ型] を選択し、[整数] を選択します。

  2. 列と列をTotalDuration選択しAvgDuration、[変換] メニューから [データ型] を選択し、[10 進数] を選択します。

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

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

すべてのデータ変換が完了したら、[ホーム] メニューから [閉じる] & [適用] を選択してクエリを保存し、Power BI の [レポート] タブに戻ります。

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

テーブル レポートを作成する

  1. Power BI の [視覚化] で [テーブル] を選択し、フィールドを [列]領域にドラッグ アンド ドロップします。

    テスト期間テーブル レポートの視覚化フィールドの選択のスクリーンショット。

  2. 次のフィールドを一覧の 順序で [列] セクションに追加します。

    • Test.TestName
    • TotalCount
    • AvgDuration
  3. 右クリックし、[合計] AvgDuration ではなく [平均] を選択します

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

サンプル テスト期間テーブル レポートのスクリーンショット。

タスク リソースのテスト