分享方式:


測試摘要趨勢範例報告

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

您可以查詢包含測試工作的管線,以建置測試摘要趨勢報告。 例如,下列報告會顯示每一個數據行在 24 天內執行失敗的測試回合數目,以及顯示測試通過率趨勢的折線圖。 如需將測試新增至管線的資訊,請參閱 本文稍後的<測試工作資源 >一節。

測試摘要趨勢堆疊柱形圖報表的螢幕快照。

具體而言,本文提供產生下列報告的範例查詢:

  • 測試建置工作流程的摘要趨勢
  • 發行工作流程的測試摘要趨勢
  • 特定分支的測試摘要趨勢
  • 特定測試檔案的測試摘要趨勢
  • 特定測試擁有者的測試摘要趨勢。

重要

Azure DevOps Services 和 Azure DevOps Server 2020 和更新版本的 Power BI 整合 和存取 Analytics Service 的 OData 摘要 已正式推出。 本文中提供的範例查詢僅適用於 Azure DevOps Server 2020 和更新版本,且相依於 v3.0-preview 或更新版本。 我們鼓勵您使用這些查詢並提供意見反應。

必要條件

  • 存取:至少是具有基本存取權的項目成員。
  • 許可權: 根據預設,項目成員具有查詢分析及建立檢視的許可權。
  • 如需有關服務與功能啟用和一般數據追蹤活動之其他必要條件的詳細資訊,請參閱 存取分析的許可權和必要條件。

注意

本文假設您已閱讀 使用 OData 查詢 的範例報表概觀,並具備 Power BI 的基本瞭解。

範例查詢

您可以使用實體集的 TestRuns 下列查詢來建立不同但類似的管線測試摘要趨勢報告。 TestRuns只有在管線定義中包含測試工作時,才能使用下列查詢的實體集。

注意

若要判斷篩選或報表用途的可用屬性,請參閱 Test Plans Analytics 的 元數據參考和 Azure Pipelines 的元數據參考。 您可以使用的 或 NavigationPropertyBinding PathEntitySet底下EntityType的任何Property值來篩選查詢或傳回屬性。 每個 EntitySet 對應至 EntityType。 如需每個值之數據類型的詳細資訊,請檢閱針對對應 EntityType提供的元數據。

測試建置工作流程的摘要趨勢

使用下列查詢來檢視建置工作流程管線的測試摘要趨勢。

將下列 Power BI 查詢直接複製並貼到 [取得資料>空白查詢] 視窗中。 如需詳細資訊,請參閱 使用 OData 查詢的範例報表概觀

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestRuns?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"and CompletedOn/Date ge {startdate} "
                &"and Workflow eq 'Build' "
            &") "
        &"/groupby( "
          &"(CompletedOn/Date), "
          &"aggregate( "
            &"ResultCount with sum as ResultCount, "
            &"ResultPassCount with sum as ResultPassCount, "
            &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
            &"ResultNotImpactedCount with sum as ResultNotImpactedCount, "
            &"ResultFailCount with sum as ResultFailCount "
         &")) "
       &"/compute( "
       &"iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
    ,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/TestRuns?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"and CompletedOn/Date ge {startdate} "
                &"and Workflow eq 'Release' "
            &") "
        &"/groupby( "
          &"(CompletedOn/Date), "
          &"aggregate( "
            &"ResultCount with sum as ResultCount, "
            &"ResultPassCount with sum as ResultPassCount, "
            &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
            &"ResultNotImpactedCount with sum as ResultNotImpactedCount, "
            &"ResultFailCount with sum as ResultFailCount "
         &")) "
       &"/compute( "
       &"iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
    ,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/TestRuns?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"and CompletedOn/Date ge {startdate} "
                &"and Workflow eq 'Build' "
            &") "
        &"/groupby((Branch/BranchName, CompletedOn/Date), "
          &"aggregate( "
            &"ResultCount with sum as ResultCount, "
            &"ResultPassCount with sum as ResultPassCount, "
            &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
            &"ResultNotImpactedCount with sum as ResultNotImpactedCount, "
            &"ResultFailCount with sum as ResultFailCount "
         &")) "
       &"/compute( "
       &"iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
    ,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/TestRuns?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"and CompletedOn/Date ge {startdate} "
                &"and Workflow eq 'Build' "
            &") "
        &"/groupby((Test/ContainerName, Date/Date), "
          &"aggregate( "
            &"ResultCount with sum as ResultCount, "
            &"ResultPassCount with sum as ResultPassCount, "
            &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
            &"ResultNotImpactedCount with sum as ResultNotImpactedCount, "
            &"ResultFailCount with sum as ResultFailCount "
         &")) "
       &"/compute( "
       &"iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
    ,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/TestRuns?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"and CompletedOn/Date ge {startdate} "
                &"and Workflow eq 'Build' "
            &") "
        &"/groupby((Test/TestOwner, Date/Date), "
          &"aggregate( "
            &"ResultCount with sum as ResultCount, "
            &"ResultPassCount with sum as ResultPassCount, "
            &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
            &"ResultNotImpactedCount with sum as ResultNotImpactedCount, "
            &"ResultFailCount with sum as ResultFailCount "
         &")) "
       &"/compute( "
       &"iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount 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 每小時建置管線
  • {startdate} 開始報表的日期。 格式:YYYY-MM-DDZ。 範例:2023-01-01Z 代表 2023 年 1 月 1 日,時間 12:50:54。 請勿以引號或括弧括住。

查詢明細

下表描述查詢的每個部分。

查詢元件

說明

$apply=filter(

Start filter() 子句。

Pipeline/PipelineName eq '{pipelineName}'

傳回指定管線的測試回合。

and CompletedOn/Date ge {startdate}

傳回指定日期或之後的測試回合。

and Workflow eq 'Build'

使用 Build 工作流程傳回管線的測試回合

)

Close filter() 子句

/groupby(

Start groupby() 子句。

(CompletedOn/Date),

依測試回合完成日期分組。

aggregate(

Start aggregate 子句。 針對符合篩選準則的所有測試回合,加總數列計數。

ResultCount with sum as ResultCount,

將測試回合總數計算為 ResultCount

ResultPassCount with sum as ResultPassCount,

將透過的測試回合總數計算為 ResultPassCount

ResultNotExecutedCount with sum as ResultNotExecutedCount,

將未執行的測試回合總數計算為 ResultNotExecutedCount

ResultNotImpactedCount with sum as ResultNotImpactedCount

將未受影響的測試回合總數計算為 ResultNotImpactedCount

ResultFailCount with sum as ResultFailCount

將失敗的測試回合總數計算為 ResultFailCount

))

關閉 aggregate()groupby() 子句。

/compute(

Start compute() 子句。

iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate

針對所有天數,計算 PassRate

)

Close compute() 子句。

(選擇性)重新命名查詢

您可以將預設查詢標籤 Query1 重新命名為更有意義的專案。 只要從 [ 查詢設定 ] 窗格輸入新名稱即可。

Power BI 查詢功能表選項、重新命名查詢的螢幕快照。

展開 Power BI 中的 CompletedOn 資料行

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

變更數據行數據類型

從 Power Query 編輯器 選取數據PassRate行;從 [轉換] 功能選取 [數據類型],然後選擇 [十進位數]。

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

關閉查詢並套用您的變更

完成所有數據轉換之後,請從 [常用] 功能表選擇 [關閉及套用],以儲存查詢並返回 Power BI 中的 [報表] 索引卷標。

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

建立折線圖和堆棧柱形圖報表

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

    [測試摘要趨勢堆疊柱形圖] 報表的視覺效果字段選取項目螢幕快照。

  2. 新增CompletedOn.Date至 X 軸,以滑鼠右鍵按下字段,然後選取 [Date.Date],而不是 [日期階層]。

  3. 新增 ResultFailCount數據行 y 軸

  4. 新增 PassRate線條 y 軸

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

範例測試摘要趨勢堆疊柱形圖報表的螢幕快照。

測試工作資源