Azure DevOps 服務 |Azure DevOps Server |Azure DevOps Server 2022
通過率趨勢報告提供有關在管線執行期間一個特定測試所需的平均執行時間的見解。
範例如下圖所示。
重要
Power BI 整合對於 Azure DevOps Services 與 Azure DevOps Server 2020 及更高版本,Analytics Service 的 OData 提要皆已普遍可用。 本文中提供的範例查詢僅適用於 Azure DevOps Server 2020 和更新版本,且相依於 v3.0-preview 或更新版本。 我們鼓勵您使用這些查詢並提供意見反應。
| 類別 | 要求 |
|---|---|
| 存取層級 |
-
專案成員。 - 至少擁有 基本 存取權限。 |
| 許可 | 根據預設,項目成員具有查詢分析及建立檢視的許可權。 如需有關服務與功能啟用和一般數據追蹤活動之其他必要條件的詳細資訊,請參閱 存取分析的許可權和必要條件。 |
注意
本文假設您已閱讀 使用 OData 查詢 的範例報表概觀,並具備 Power BI 的基本瞭解。
範例查詢
注意
本文假設您已閱讀 使用 OData 查詢 的範例報表概觀,並具備 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 Test/TestName eq '{testName}' "
&"And Workflow eq 'Build') "
&"/groupby((Date/Date), "
&"aggregate( "
&"ResultCount with sum as TotalCount, "
&"ResultPassCount with sum as ResultPassCount, "
&"ResultFailCount with sum as ResultFailCount, "
&"ResultAbortedCount with sum as ResultAbortedCount, "
&"ResultErrorCount with sum as ResultErrorCount, "
&"ResultInconclusiveCount with sum as ResultInconclusiveCount, "
&"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
&"ResultNotImpactedCount with sum as ResultNotImpactedCount)) "
&"/filter(ResultFailCount gt 0) "
&"/compute( "
&"iif(TotalCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(TotalCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
替代字串和查詢解析
以您的值取代下列字串。 請勿在替代中包含括號 {} 。 例如,如果您的組織名稱為 「Fabrikam」 ,請將 取代 {organization} 為 Fabrikam,而非 {Fabrikam}。
-
{organization}- 您的組織名稱 -
{project}- 您的小組項目名稱 -
{pipelinename}- 您的管線名稱。 範例:Fabrikam hourly build pipeline -
{testName}- 您的測試名稱 -
{startdate}- 報告開始日期。 格式:YYYY-MM-DDZ。 範例:2021-09-01Z代表 2021 年 9 月 1 日。 請勿以引號或括弧括住,並針對月份和日期使用兩位數。
查詢明細
下表描述查詢的每個部分。
查詢部分
說明
$apply=filter(
開啟 filter() 子句。
Pipeline/PipelineName eq '{pipelineName}'
傳回指定管線的測試回合
And Date/Date ge {startdate}
傳回在指定日期或之後進行的測試執行。
And Test/TestName eq '{testName}'
僅針對指定的測試名稱傳回測試執行。
and Workflow eq 'Build'
返回 Build 工作流程的測試執行。
)
Close filter() 子句。
/groupby(
開啟 groupby() 子句。
(Date/Date),
依測試回合的完成日期分組。
aggregate(
開始aggregate子句以加總符合篩選準則的不同測試運行結果。
ResultCount with sum as TotalCount,
將測試回合總數計算為 TotalCount。
ResultPassCount with sum as ResultPassCount,
將透過的測試回合總數計算為 ResultPassCount。
ResultFailCount with sum as ResultFailCount,
將失敗的測試回合總數計算為 ResultFailCount。
ResultAbortedCount with sum as ResultAbortedCount,
將中止的測試回合總數計算為 ResultAbortedCount。
ResultErrorCount with sum as ResultErrorCount,
計算標示為錯誤 ResultErrorCount為的測試回合總數。
ResultNotExecutedCount with sum as ResultNotExecutedCount,
將未執行的測試回合總數計算為 ResultNotExecutedCount。
ResultNotImpactedCount with sum as ResultNotImpactedCount
將未受影響的測試回合總數計算為 ResultNotImpactedCount。
))
關閉 aggregate() 和 groupby() 子句。
/compute(
開啟 compute() 子句。
iif(TotalCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(TotalCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate)
針對所有天數,計算 PassRate 。
)
Close compute() 子句。
(可選) 重新命名查詢
您可以將預設查詢標籤 Query1 重新命名為更有意義的專案。 只要從 [ 查詢設定 ] 窗格輸入新名稱即可。
展開 Power BI 中的 [日期] 資料行
展開 Date 欄以顯示展開的實體 CompletedOn.Date。 展開數據行會將記錄扁平化為特定欄位。 若要瞭解如何,請參閱 轉換分析數據以產生 Power BI 報表、展開數據行。
變更數據行數據類型
從 Power Query 編輯器,選取數據
TotalCount行;從 [轉換] 功能選取 [數據類型],然後選擇 [整數]。選取
PassRate欄;從 轉換 選單選取 [資料類型];然後選擇 十進位數。
如需變更數據類型的詳細資訊,請參閱 轉換分析數據以產生Power BI報表、轉換資料行數據類型。
關閉查詢並套用您的變更
一旦完成所有資料轉換,請從 [常用] 功能表中選擇 [關閉及套用],以儲存查詢並返回 Power BI 中的 [報表] 索引標籤。
建立折線圖和堆積柱狀圖報告
在 Power BI 的 [視覺效果] 下,選擇 [折線圖] 和 [堆棧柱形圖],然後將字段拖放到圖表區域。
新增
Date.Date到X 軸,以滑鼠右鍵點擊字段,然後選取Date.Date,而不是Date Hierarchy。將
ResultPassCount和ResultFailCount新增至列縱軸。將 新增
PassRate至 線條 y 軸。
您的報表看起來應該類似下圖。
測試工作資源
- 使用 Visual Studio 測試工作平行執行測試
- 針對任何測試執行器平行執行測試
- 使用測試影響分析來加速測試 (TIA)
- 管理不穩定的測試
- UI 測試考量
- Azure 負載測試
- Azure Pipelines 工作任務參考與測試任務