Azure DevOps 服務 |Azure DevOps Server |Azure DevOps Server 2022
你可以報告一個或多個測試套件的執行狀態。 你利用本文資訊所建立的報告與以下圖片相似。
如下圖所示,你可以在階層式組織中安排測試套件。 如圖所示,三個同名的測試套件分別位於 標示為澳洲 與 亞洲的兩個測試套件之下。 本文概述如何匯總特定測試套件層級的數據。
| 類別 | 要求 |
|---|---|
| 存取層級 |
-
專案成員。 - 至少擁有 基本 存取權限。 |
| 許可 | 根據預設,項目成員具有查詢分析及建立檢視的許可權。 如需有關服務與功能啟用和一般數據追蹤活動之其他必要條件的詳細資訊,請參閱 存取分析的許可權和必要條件。 |
注意
本文假設你已閱讀使用 OData 查詢的範例報告概述,並對 Power BI 有基本了解。
若要讓報表產生有用的數據,小組必須執行下列活動來管理測試計劃:
定義測試計劃、測試套件和測試案例。 指定其狀態。 測試套件要執行,必須處於進行中狀態。 測試案例必須處於準備狀態。 如需詳細資訊,請參閱 建立測試計劃和測試套件 和 建立手動測試案例。
執行手動測試並驗證結果。 將測試案例中每個驗證步驟的結果標示為通過或失敗。 如需詳細資訊,請參閱 執行手動測試。
注意
如果測試步驟是驗證測試,測試人員必須標註狀態。 測試的整體結果會反映已標記之所有測試步驟的狀態。 因此,若任何測試步驟被標記為失敗或未標記,該測試即為失敗狀態。
範例查詢
請使用以下查詢來對 TestPoints 實體集建立彙整的測試套件報告。
注意
欲查找可用於篩選或報告的屬性,請參閱 測試計畫分析的元資料參考。 你可以使用任何定義在Property下的EntityType值,或使用任何列在NavigationPropertyBinding Path的EntitySet值來篩選查詢或回傳屬性。 每個 EntitySet 對應至一個 EntityType ,用於記錄每個屬性的資料型態。
將以下Power BI查詢直接複製貼上到 Get Data>Blank Query視窗中。 如需詳細資訊,請參閱 使用 OData 查詢的範例報表概觀。
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/TestPoints?"
&"$apply=filter((TestSuite/TestPlanTitle eq '{testPlanTitle}' and TestSuite/IdLevel3 ne null))"
&"/groupby("
&"(TestSuite/TitleLevel3),"
&"aggregate("
&"$count as TotalCount,"
&"cast(LastResultOutcome eq 'Passed', Edm.Int32) with sum as PassedCount,"
&"cast(LastResultOutcome eq 'Failed', Edm.Int32) with sum as FailedCount,"
&"cast(LastResultOutcome eq 'None', Edm.Int32) with sum as NotRunCount,"
&"cast(LastResultOutcome ne 'None', Edm.Int32) with sum as RunCount"
&")"
&")"
&"/compute("
&"RunCount mul 100 div TotalCount as RunPercentage,"
&"NotRunCount mul 100 div TotalCount as NotRunPercentage,"
&"iif(TotalCount gt NotRunCount, PassedCount mul 100 div RunCount,0) as PassedPercentage,"
&"iif(TotalCount gt NotRunCount, FailedCount mul 100 div RunCount,0) as FailedPercentage"
&")"
&"&$orderby=RunPercentage desc", null, [Implementation="2.0"])
in
Source
替代字串和查詢明細
將以下字串替換成你的數值。 替代時不要把大括號 {} 也算進去。 例如,如果你的組織名稱是「Fabrikam」,請將 替換 {organization} 為 Fabrikam,而非 {Fabrikam}。
-
{organization}- 您的組織名稱。 -
{project}- 您的小組項目名稱。 要建立跨專案查詢,請省略/{project}。 -
{testPlanTitle}- 您要傳回其資料的測試計劃標題。
查詢細分
下表描述查詢的每個部分。
查詢部分
說明
filter((TestSuite/TestPlanTitle eq '{testPlanTitle}' and TestSuite/IdLevel3 ne null))
僅回傳所選測試計畫的資料。 同時也會回傳從第三級測試套件開始的資料。 要新增多項計畫,可以使用像 filter((TestSuite/TestPlanTitle eq '{testPlanTitle1}' or TestSuite/TestPlanTitle eq '{testPlanTitle2}' and TestSuite/IdLevel3 ne null)) 的語句。 你也可以套用與測試套件和測試設定相關的其他篩選器。
/groupby((TestSuite/TitleLevel3),
分組的測試套件。 如果你想要一份針對測試套件階層第 3 級所有不同測試套件的報告,請指定這個查詢部分。 你可以把等級數從1改成14。 如果你想分開同名的測試套件,請用來 /groupby((TestSuite/TitleLevel3, TestSuite/IdLevel3), 確保即使有兩個同名的測試套件,報告也會顯示它們為兩個不同的項目,因為它們有兩個不同的 ID。
/aggregate($count as TotalCount,
彙整經過篩選的測試點資料,計數為 TotalCount。
cast(LastResultOutcome eq 'Passed', Edm.Int32) with sum as Passed,
在彙整時,將最新執行結果「通過」為 1 的測試點類型化,並將它們彙總為「Passed指標」。
/compute(Executed mul 100 div TotalCount as ExecPct
提供一個計算出的指標 ExecPct ,等於(執行測試點數 / 總測試數 × 100)。
(選擇性)重新命名查詢
您可以將預設查詢標籤 Query1 重新命名為更有意義的專案。 從 查詢設定 窗格輸入新名稱。
在 Power Query Editor 中展開欄位
在建立報告前,展開 TestSuite 欄位,將紀錄平整成特定欄位。 欲了解更多資訊,請參閱 Transform Analytics data 以產生Power BI報告。
在 Power BI 裡,請依照以下步驟操作。
完成後,你可以重新命名欄位。
擴大
TestSuite選擇 展開 按鈕。
選取要壓平的欄位。
表格現在包含
TestSuite.IdLevel3和TestSuite.TitleLevel3的實體欄位。
以滑鼠右鍵點擊欄標頭,然後選取 重新命名...
變更數據行數據類型
在Power Query Editor中,選擇所有包含數字的欄位,例如
(選擇性)重新命名數據行欄位
你可以重新命名欄位,使其更加用戶友好。 若要瞭解如何,請參閱 重新命名數據行欄位。
關閉查詢並套用您的變更
完成所有資料轉換後,從主頁選單選擇關閉並套用。 此操作會儲存查詢,並返回 Power BI 中的 Report 分頁。
建立表格報表
- 在 [視覺效果] 底下,選擇 [數據表]。
- 將
TestSuite.TitleLevel3、NotRunCount、RunCount、PassedCount和TotalCount拖放到 欄位下方。 - 選擇 「總和 」作為 計數的彙總。
您的報表看起來應該類似下圖。