共用方式為


測試範例報告的通過率趨勢

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

通過率趨勢報告提供有關在管線執行期間一個特定測試所需的平均執行時間的見解。

範例如下圖所示。

通過率趨勢報告的螢幕截圖。

重要

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(

Start 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 查詢功能表選項、重新命名查詢的螢幕快照。

展開 Power BI 中的 [日期] 資料行

展開 Date 欄以顯示展開的實體 CompletedOn.Date。 展開數據行會將記錄扁平化為特定欄位。 若要瞭解如何,請參閱 轉換分析數據以產生 Power BI 報表、展開數據行

變更數據行數據類型

  1. 從 Power Query 編輯器,選取數據TotalCount行;從 [轉換] 功能選取 [數據類型],然後選擇 [整數]。

  2. 選取 PassRate 欄;從 轉換 選單選取 [資料類型];然後選擇 十進位數

如需變更數據類型的詳細資訊,請參閱 轉換分析數據以產生Power BI報表、轉換資料行數據類型

關閉查詢並套用您的變更

一旦完成所有資料轉換,請從 [常用] 功能表中選擇 [關閉及套用],以儲存查詢並返回 Power BI 中的 [報表] 索引標籤。

Power Query 編輯器 關閉和套用選項的螢幕快照。

建立折線圖和堆積柱狀圖報告

  1. 在 Power BI 的 [視覺效果] 下,選擇 [折線圖] 和 [堆棧柱形圖],然後將字段拖放到圖表區域。

    [通過率趨勢持續時間] 表格報告的視覺化欄位選擇螢幕截圖。

  2. 新增Date.DateX 軸,以滑鼠右鍵點擊字段,然後選取Date.Date,而不是Date Hierarchy

  3. ResultPassCountResultFailCount新增至列縱軸

  4. 將 新增 PassRate線條 y 軸

您的報表看起來應該類似下圖。

範例通過率趨勢報告的螢幕快照。

測試工作資源