テスト期間の傾向のサンプル レポート
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
次の図に示すようなテスト期間傾向レポートでは、選択した時間範囲に対してテストを実行するためにかかった平均時間の日単位の傾向に関する分析情報が提供されます。 パイプラインにテストを追加する方法については、この記事で後述する タスク リソースのテスト セクションを参照してください。
重要
Power BI 統合 Analytics Service の OData フィードへのアクセスは 、Azure DevOps Services および Azure DevOps Server 2020 以降のバージョンで一般提供されています。 この記事で提供されるサンプル クエリは、Azure DevOps Server 2020 以降のバージョンに対してのみ有効であり、 v3.0-preview 以降のバージョンによって異なります。 これらのクエリを使用し、フィードバックをお寄せください。
前提条件
- Access:少なくとも Basic アクセス権を持つプロジェクトのメンバーである必要があります。
- Permissions: 既定では、プロジェクト メンバーには Analytics にクエリを実行してビューを作成する権限があります。
- サービスと機能の有効化と一般的なデータ追跡アクティビティに関するその他の前提条件の詳細については、「 Analytics にアクセスするためのアクセス許可と前提条件を参照してください。
Note
この記事では、 OData クエリを使用したサンプル レポートの概要 Power BI の基本的な理解があることを前提としています。
サンプル クエリ
TestResultsDaily
エンティティ セットの次のクエリを使用して、異なるが類似したテスト期間レポートを作成できます。 TestResultsDaily
エンティティ セットは、テストごとにグループ化された、TestResult
実行の毎日のスナップショット集計を提供します。
Note
フィルターまたはレポートの目的で使用可能なプロパティを決定するには、 テスト プラン分析のMetadata リファレンス および Azure Pipelines の Metadata リファレンスを参照してください。 クエリをフィルター処理したり、 で使用可能な または 値のProperty
下EntityType
NavigationPropertyBinding Path
の値のいずれかを使用してプロパティをEntitySet
返したりできます。 各 は EntitySet
に EntityType
対応します。 各値のデータ型の詳細については、対応する EntityType
に指定されたメタデータを確認してください。
次のクエリを使用して、 Build ワークフローを含むパイプラインのテスト期間傾向レポートを表示します。
次の Power BI クエリをコピーして、 Get Data>Blank クエリ ウィンドウに直接貼り付けます。 詳細については、「 OData クエリを使用したサンプル レポートの概要を参照してください。
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, Date/Date),
aggregate(
ResultCount with sum as TotalCount,
ResultDurationSeconds with sum as TotalDuration
))
/compute(
TotalDuration div TotalCount as AvgDuration
)
置換文字列とクエリの内訳
次の文字列を実際の値に置き換えます。 置換に角かっこを {} 含めないでください。 たとえば、組織名が "Fabrikam" の場合は、 ではなく {Fabrikam}
を にFabrikam
置き換えます{organization}
。
{organization}
- 組織名{project}
- チーム プロジェクト名{pipelinename}
- パイプライン名。 例:Fabrikam hourly build pipeline
{startdate}
- レポートを開始する日付。 形式: YYYY-MM-DDZ。 例:2022-09-01Z
は 2022 年 9 月 1 日を表します。 引用符または角かっこで囲んで、月と日付の両方に 2 桁の数字を使用しないでください。
ヒント
パイプラインに追加されたテストの数によっては、返されるデータが重要になる場合があります。 返されるデータの量を測定し、それに応じて調整するには、数日間の {startdate}
を使用することをお勧めします。
クエリの内訳
次の表では、クエリの各部分について説明します。
クエリ パーツ
説明
$apply=filter(
句 filter()
開始します。
Pipeline/PipelineName eq '{pipelineName}'
名前付きパイプラインのテスト実行を返します。
And Date/Date ge {startdate}
指定した日付以降にテストが実行されます。
and Workflow eq 'Build'
Build
ワークフローのテスト実行を返します。
)
句 filter()
閉じます。
/groupby(
句 groupby()
開始します。
(TestSK, Test/TestName, Date/Date),
テスト、テスト名、実行日でグループ化します。
aggregate(
句 aggregate
開始して、フィルター条件に一致するさまざまなテスト実行結果を合計します。
ResultCount with sum as TotalCount,
テスト実行の合計数を TotalCount
としてカウントします。
ResultDurationSeconds with sum as TotalDuration
すべての実行の合計期間を TotalDuration
として合計します。
))
aggregate()
句とgroupby()
句を閉じます。
/compute(
句 compute()
開始します。
TotalDuration div TotalCount as AvgDuration
すべてのテストについて、合計実行時間を実行の合計数で割って平均期間を計算します。
)
句 compute()
閉じます。
(省略可能)クエリの名前を変更する
既定のクエリ ラベル Query1 の名前を、より意味のある名前に変更できます。 [ クエリ設定] ペインから新しい名前を入力するだけです。
Power BI の [テスト] 列と [日付] 列を展開する
列を展開すると、レコードが特定のフィールドにフラット化されます。 方法については、「 Transform Analytics データを使用して Power BI レポートを生成する、列を展開するを参照してください。
Test
列を展開して、展開されたエンティティのTestSK
とTest.TestName
を表示します。Date
列を展開して、展開されたエンティティのDate.Date
を表示します。
列のデータ型を変更する
Power Query エディターから
TotalCount
列を選択し、Transform メニューから Data Type を選択し、次に [穴番号 を選択します。TotalDuration
列とAvgDuration
列を選択し、Transform メニューから Data Type を選択し、[Decimal Number] を選択。
データ型の変更の詳細については、「 Transform Analytics データを使用して Power BI レポートを生成する」、列データ型の変換を参照してください。
クエリを閉じて変更を適用する
すべてのデータ変換が完了したら、Home メニューから Close & Apply を選択してクエリを保存し、Power BI の Report タブに戻ります。
折れ線グラフ レポートを作成する
Power BI の Visualizations で、 折れ線グラフを選択し フィールドを Columns 領域にドラッグ アンド ドロップします。
X 軸に
Date.Date
を追加フィールドを右クリックし、Date.Hierarchy ではなく、Date.Date を選択します。Y 軸にAvgDurationを追加。
レポートは次の図のようになります。
タスク リソースのテスト
- Visual Studio テスト タスクを使用してテストを並列で実行する
- テスト ランナーに対して並列でテストを実行する
- テスト影響分析 (TIA) を使用してテストを高速化する
- 不安定なテストを管理する
- UI テストの考慮事項
- Azure Load Testing
- Azure Pipelines タスク リファレンス、テスト タスク