次の方法で共有


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

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

パイプラインの実行を実行し、パイプライン定義内にテスト タスクを含めると、さまざまなテスト結果に対するテスト実行の数を示すレポートを作成できます:PassedFailed実行影響を受けません

次の図は、テストの概要レポートの例を示しています。

テスト概要ドーナツレポートのスクリーンショット。

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

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

重要

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

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

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

サンプル クエリ

TestResultsDaily エンティティ セットの次のクエリを使用して、異なる似たパイプライン テストの概要レポートを作成できます。 TestResultsDaily エンティティ セットは、テストごとにグループ化された、TestResult実行の毎日のスナップショット集計を提供します。

Note

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

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

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

次の Power BI クエリをコピーして、 Get Data>Blank クエリ ウィンドウに直接貼り付けます。 詳細については、「 OData クエリを使用したサンプル レポートの概要を参照してください。

let
   Source = OData.Feed (
      "https://analytics.dev.azure.com/mseng/AzureDevOps/_odata/v4.0-preview/TestResultsDaily?"
      &"$apply=filter("
      &"Pipeline/PipelineName eq '{pipelineName}' "
      &"And DateSK ge {startdate} "
      &"And Workflow eq 'Build' "
      &")/aggregate("
      &"ResultCount with sum as ResultCount, "
      &"ResultPassCount with sum as ResultPassCount, "
      &"ResultFailCount with sum as ResultFailCount, "
      &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
      &"ResultNotImpactedCount with sum as ResultNotImpactedCount"
      &")",
      null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
   )
in
    Source

{pipelineName}{startdate}をクエリの実際の値に置き換えます。

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

Release ワークフローのパイプラインのテストの概要を表示するには、次のクエリを使用します。

Note

フィルターまたはレポートの目的で使用可能なプロパティを確認するには、「Test Plans Analytics のMetadata リファレンスを参照してください。 クエリをフィルター処理したり、EntityType の任意の Property 値や、EntitySet で利用可能な NavigationPropertyBinding Path 値を使用して、プロパティを返したりできます。 各EntitySetEntityTypeに対応しています。 各値のデータ型の詳細については、対応する EntityTypeに指定されたメタデータを確認してください。

次の Power BI クエリをコピーして、 Get Data>Blank クエリ ウィンドウに直接貼り付けます。 詳細については、「 OData クエリを使用したサンプル レポートの概要を参照してください。

let
   Source = OData.Feed (
      "https://analytics.dev.azure.com/mseng/AzureDevOps/_odata/v4.0-preview/TestResultsDaily?"
      &"$apply=filter("
      &"Pipeline/PipelineName eq '{pipelineName}' "
      &"And DateSK ge {startdate} "
      &"And Workflow eq 'Release'"
      &")/aggregate("
      &"ResultCount with sum as ResultCount, "
      &"ResultPassCount with sum as ResultPassCount, "
      &"ResultFailCount with sum as ResultFailCount, "
      &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
      &"ResultNotImpactedCount with sum as ResultNotImpactedCount"
      &")",
      null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
   )
in
    Source

ブランチでフィルター処理されたテストの概要

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

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

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

次の Power BI クエリをコピーして、 Get Data>Blank クエリ ウィンドウに直接貼り付けます。 詳細については、「 OData クエリを使用したサンプル レポートの概要を参照してください。

let
   Source = OData.Feed (
      "https://analytics.dev.azure.com/mseng/AzureDevOps/_odata/v4.0-preview/TestResultsDaily?"
      &"$apply=filter("
      &"Pipeline/PipelineName eq '{pipelineName}' "
      &"And DateSK ge {startdate} "
      &"And Workflow eq 'Build'"
      &")/groupby("
      &"(Branch/BranchName),"
      &"aggregate("
      &"ResultCount with sum as ResultCount, "
      &"ResultPassCount with sum as ResultPassCount, "
      &"ResultFailCount with sum as ResultFailCount, "
      &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
      &"ResultNotImpactedCount with sum as ResultNotImpactedCount"
      &")",
      null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
   )
in
    Source

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

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

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

次の Power BI クエリをコピーして、 Get Data>Blank クエリ ウィンドウに直接貼り付けます。 詳細については、「 OData クエリを使用したサンプル レポートの概要を参照してください。

let
   Source = OData.Feed (
      "https://analytics.dev.azure.com/mseng/AzureDevOps/_odata/v4.0-preview/TestResultsDaily?"
      &"$apply=filter("
      &"Pipeline/PipelineName eq '{pipelineName}' "
      &"And DateSK ge {startdate} "
      &"And Workflow eq 'Build'"
      &")/groupby("
      &"(Test/ContainerName),"
      &"aggregate("
      &"ResultCount with sum as ResultCount, "
      &"ResultPassCount with sum as ResultPassCount, "
      &"ResultFailCount with sum as ResultFailCount, "
      &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
      &"ResultNotImpactedCount with sum as ResultNotImpactedCount"
      &")",
      null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
   )
in
    Source

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

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

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

次の Power BI クエリをコピーして、 Get Data>Blank クエリ ウィンドウに直接貼り付けます。 詳細については、「 OData クエリを使用したサンプル レポートの概要を参照してください。

let
   Source = OData.Feed (
      "https://analytics.dev.azure.com/mseng/AzureDevOps/_odata/v4.0-preview/TestResultsDaily?"
      &"$apply=filter("
      &"Pipeline/PipelineName eq '{pipelineName}' "
      &"And DateSK ge {startdate} "
      &"And Workflow eq 'Build'"
      &")/groupby("
      &"(Test/TestOwner),"
      &"aggregate("
      &"ResultCount with sum as ResultCount, "
      &"ResultPassCount with sum as ResultPassCount, "
      &"ResultFailCount with sum as ResultFailCount, "
      &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
      &"ResultNotImpactedCount with sum as ResultNotImpactedCount"
      &")",
      null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
   )
in
    Source

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

次の文字列を実際の値に置き換えます。 置換にブラケット {} を含めないでください。 たとえば、組織名が "Fabrikam" の場合は、{organization}Fabrikamに置き換えて、{Fabrikam}にしないでください。

 

  • {organization} - 組織名。
  • {project} - チーム プロジェクト名。
  • {pipelinename} - パイプライン名。 例: Fabrikam hourly build pipeline
  • {startdate} - レポートを開始する日付。 日付は YYYYMMDD 形式で入力できます。 たとえば、2022年8月15日の20220815

クエリの内訳

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

クエリの一部

説明

$apply=filter(

filter() 句を開始します。

Pipeline/PipelineName eq '{pipelineName}'

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

and CompletedOn/Date ge {startdate}

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

and Workflow eq 'Build' または and Workflow eq 'Release'

BuildまたはRelease ワークフローで指定されたパイプラインに対してのみテストの実行を返します。

)

filter() 句を閉じます。

aggregate(

フィルター条件に一致するすべてのテスト実行に対して、 aggregate 句を開始します。

ResultCount with sum as ResultCount,

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

ResultPassCount with sum as ResultPassCount,

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

ResultFailCount with sum as ResultFailCount

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

ResultNotExecutedCount with sum as ResultNotExecutedCount,

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

ResultNotImpactedCount with sum as ResultNotImpactedCount

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

)

aggregate()句を閉じます。

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

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

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

(省略可能)列フィールドの名前を変更する

列フィールドの名前を変更できます。 たとえば、列 Pipeline.PipelineName の名前を Pipeline Name に変更したり、 TotalCountTotal Count に変更したりできます。 方法については、「列フィールドの名前変更」を参照してください。

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

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

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

ドーナツ グラフ レポートを作成する

  1. Power BI の Visualizations で、 Donut レポートを選択します。

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

  2. Values に、指定した順序で次のフィールドを追加します。 各フィールドを右クリックし、 Sum が選択されていることを確認します。

    • ResultPassCount
    • ResultFailCount
    • ResultNotExecutedCount
    • ResultNotImpactedCount

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

サンプルテスト概要ドーナツ型レポートのスクリーンショット。