測試摘要範例報告
Azure DevOps Services |Azure DevOps Server 2022 |Azure DevOps Server 2020
當您執行管線執行並包含管線定義中的測試工作時,您可以建立報告,指出不同測試結果的測試回合數目: 已通過、 失敗、 未執行、 不受影響。
下圖顯示測試摘要報表的範例。
使用本文中提供的查詢來產生下列報告:
- 建置工作流程的測試摘要
- 發行工作流程的測試摘要
- 特定分支的測試摘要
- 特定測試檔案的測試摘要
- 特定測試擁有者的測試摘要
重要
Azure DevOps Services 和 Azure DevOps Server 2020 和更新版本的 Power BI 整合 和存取 Analytics Service 的 OData 摘要 已正式推出。 本文中提供的範例查詢僅適用於 Azure DevOps Server 2020 和更新版本,且相依於 v3.0-preview 或更新版本。 我們鼓勵您使用這些查詢並提供意見反應。
必要條件
- 存取:至少是具有基本存取權的項目成員。
- 許可權: 根據預設,項目成員具有查詢分析及建立檢視的許可權。
- 如需有關服務與功能啟用和一般數據追蹤活動之其他必要條件的詳細資訊,請參閱 存取分析的許可權和必要條件。
注意
本文假設您已閱讀 使用 OData 查詢 的範例報表概觀,並具備 Power BI 的基本瞭解。
範例查詢
您可以使用實體集的 TestResultsDaily
下列查詢來建立不同但類似的管線測試摘要報告。 實體 TestResultsDaily
集會提供依測試分組的 TestResult
每日執行快照集匯總。
注意
若要判斷篩選或報表用途的可用屬性,請參閱 Test Plans Analytics 的 元數據參考和 Azure Pipelines 的元數據參考。 您可以使用的 或 NavigationPropertyBinding Path
值EntitySet
底下EntityType
的任何Property
值來篩選查詢或傳回屬性。 每個 EntitySet
對應至 EntityType
。 如需每個值之數據類型的詳細資訊,請檢閱針對對應 EntityType
提供的元數據。
建置工作流程的測試摘要
使用下列查詢來檢視建置工作流程管線的測試摘要。
將下列 Power BI 查詢直接複製並貼到 [取得資料>空白查詢] 視窗中。 如需詳細資訊,請參閱 使用 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
將和 {startdate}
取代{pipelineName}
為您查詢的實際值。
發行工作流程的測試摘要
使用下列查詢來檢視發行工作流程管線的測試摘要。
注意
若要判斷篩選或報表用途的可用屬性,請參閱 Test Plans Analytics 的元數據參考。 您可以使用的 或 NavigationPropertyBinding Path
值EntitySet
底下EntityType
的任何Property
值來篩選查詢或傳回屬性。 每個 EntitySet
對應至 EntityType
。 如需每個值之數據類型的詳細資訊,請檢閱針對對應 EntityType
提供的元數據。
將下列 Power BI 查詢直接複製並貼到 [取得資料>空白查詢] 視窗中。 如需詳細資訊,請參閱 使用 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
依分支篩選的測試摘要
若要檢視特定分支管線的測試摘要,請使用下列查詢。 若要建立報告,請執行下列額外步驟,以及本文稍後所指定的內容。
- 展開
Branch
至Branch.BranchName
- 選取 Power BI 視覺效果交叉分析篩選器,並將欄位新增至交叉分析篩選器的欄位
Branch.BranchName
- 從交叉分析篩選器中選取需要查看結果摘要的分支名稱。
如需使用交叉分析篩選器的詳細資訊,請參閱 Power BI 中的交叉分析篩選器。
將下列 Power BI 查詢直接複製並貼到 [取得資料>空白查詢] 視窗中。 如需詳細資訊,請參閱 使用 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
測試檔案篩選的測試摘要
若要檢視特定測試檔案之管線的測試摘要,請使用下列查詢。 若要建立報告,請執行下列額外步驟,以及本文稍後所定義的內容。
- 展開
Test
至Test.ContainerName
- 選取 Power BI 視覺效果交叉分析篩選器,並將欄位新增至交叉分析篩選器的欄位
Test.ContainerName
- 從交叉分析篩選器中選取需要查看結果摘要的容器名稱。
將下列 Power BI 查詢直接複製並貼到 [取得資料>空白查詢] 視窗中。 如需詳細資訊,請參閱 使用 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
測試擁有者篩選的測試摘要
若要檢視特定測試擁有者所擁有的測試管線測試摘要,請使用下列查詢。 若要建立報告,請執行下列額外步驟,以及本文稍後所定義的內容。
- 展開
Test
至Test.TestOwner
- 選取 Power BI 視覺效果交叉分析篩選器,並將欄位新增至交叉分析篩選器的欄位
Test.TestOwner
- 從交叉分析篩選器中選取測試擁有者,您需要查看結果摘要。
將下列 Power BI 查詢直接複製並貼到 [取得資料>空白查詢] 視窗中。 如需詳細資訊,請參閱 使用 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 格式輸入日期。 例如,20220815
2022 年 8 月 15 日。
查詢明細
下表描述查詢的每個部分。
查詢元件
說明
$apply=filter(
Start filter()
子句。
Pipeline/PipelineName eq '{pipelineName}'
傳回指定管線的測試回合。
and CompletedOn/Date ge {startdate}
傳回指定日期或之後的測試回合。
and Workflow eq 'Build'
或 and Workflow eq 'Release'
僅針對使用 Build
或 Release
工作流程指定的管線傳回測試回合。
)
Close 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 重新命名為更有意義的專案。 只要從 [ 查詢設定 ] 窗格輸入新名稱即可。
(選擇性)重新命名數據行欄位
您可以重新命名資料列欄位。 例如,您可以將資料列 Pipeline.PipelineName
重新命名為 Pipeline Name
,或 TotalCount
重新命名為 Total Count
。 若要瞭解如何,請參閱 重新命名數據行欄位。
關閉查詢並套用您的變更
完成所有數據轉換之後,請從 [常用] 功能表選擇 [關閉及套用],以儲存查詢並返回 Power BI 中的 [報表] 索引卷標。
建立環圈圖報表
在 Power BI 的 [視覺效果] 下,選擇環圈報表。
依指示的順序,將下列字段新增至 [值]。 以滑鼠右鍵按下每個字段,並確定 已選取 [總和 ]。
ResultPassCount
ResultFailCount
ResultNotExecutedCount
ResultNotImpactedCount
您的報表看起來應該類似下圖。