Azure DevOps 服務 |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020
使用支援建置和測試整合的工作專案欄位來改善可追蹤性、分析品質趨勢,以及將測試相關工作流程自動化。 一般案例包括:
- 將錯誤與發現或解決錯誤的特定組建相關聯。
- 依組建查詢錯誤,以識別趨勢並排定修正的優先順序。
- 將測試案例標記為手動或自動,並追蹤自動化中繼資料。
- 定義測試案例和共用步驟的動作和驗證步驟,讓團隊可以可靠地執行和驗證測試。
本文說明如何使用這些欄位,並提供範例查詢和提示。
先決條件
| Area | 權限/角色 | 它允許什麼 |
|---|---|---|
| 專案層級 | 貢獻者們 | 建立和編輯查詢。 |
| 專案層級 | 讀者 | 檢視查詢 (無法建立或編輯)。 |
| 專案層級 | 專案管理員 | 完全控制專案設定,包括查詢。 |
| 測試工件 | 管理測試計劃 | 建立、編輯及刪除測試計劃。 |
| 測試工件 | 管理測試套件 | 建立、編輯和刪除測試套件。 |
| 測試產物 | 編輯此節點中的工作專案 | 新增或編輯測試特定的工作專案,例如測試案例和測試套件。 |
備註
- 部分測試許可權的範圍限定在測試計劃或區域節點;專案管理員可以指派這些權限。
- 若要跨專案執行或自動化查詢,請確定您擁有必要的跨專案許可權,或使用具有適當存取權的服務帳戶。
支援的運算符與宏
大多數建置和測試整合欄位都使用 String、PlainText 或 HTML 資料類型。 當您指定文字或 RTF 格式欄位的查詢子句時,請使用下列運算子和巨集。
資料類型
支援的運算符和巨集
富文字(HTML) 和
多行文字 (純文字)
Contains Words、、Does Not Contain WordsIs Empty、Is Not Empty。
單行文字 (字串)
= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field]、 Contains、 Does Not Contain、 In、 Not In、 In Group、 Not In Group、 Was Ever、 。
巨集: [Any] (適用於 工作專案類型); @Project (適用於 小組專案)。 系統會在適當時預設為目前專案。 如需跨專案範例,請參閱跨專案查詢。
有用的篩選
篩選條件
包含這些查詢子句
自動化測試案例
Work Item Type = Test Case 和 Automation Status = Automated
以查詢為基礎的測試套件
Work Item Type = Test Suite 和 Test Suite Type = Query Based
需求型測試套件
Work Item Type = Test Suite 和 Test Suite Type = Requirement Based
列出錯誤及對應的測試案例
建立新的查詢,將查詢類型設定為 [工作專案和直接連結]。 篩選最上層的 Bug,並新增一個與測試案例連結的工作專案篩選器。
備註
您無法建構顯示 Test Plans、Test Suites 和 Test Cases 階層式檢視的查詢,因為這些項目並未以父子連結類型相連接。 若要檢視該階層,請開啟 [測試 > 測試計劃] 頁面 (請參閱 建立測試計劃) 。
建置和測試數據欄位
下表描述出現在一或多個測試相關工作專案類型中的欄位。 如需資料類型和欄位屬性的相關資訊,請參閱 工作專案欄位和屬性。
若要自訂欄位或選擇清單,請參閱 新增或修改欄位以支援查詢、報表和工作流程。
欄位名稱
說明
工作項目類型
自動化狀態1
測試案例的狀態。 值:自動化、非自動化、計劃。 若要執行自動化測試,請參閱 從測試計劃執行自動化測試。
參考名稱=Microsoft.VSTS.TCM.AutomationStatus,資料類型=字串
測試案例
發現於2
發現問題的產品版本號碼 (修訂版) 參考名稱=Microsoft.VSTS.Build.FoundIn,資料類型=字串。
備註
使用 [在組建中找到] 連結類型,將工作專案連結至組建。 此連結類型適用於目前的組建程式 (Azure Pipelines 和傳統組建定義) ;它不適用於舊版 XAML 組建。
程式錯誤
整合建置2
包含修正程式的產品組建編號。 參考名稱=Microsoft.VSTS.Build.IntegrationBuild,資料類型=字串。
備註
使用 [ 整合在組建中 ] 連結類型,將工作專案連結至組建。 此連結類型適用於目前的組建程式 (Azure Pipelines 和傳統組建定義) ;它不適用於舊版 XAML 組建。
全部
問題
指出「共用步驟」是否與預期結果相關聯。 允許的值: 是、 否。 參考名稱=Microsoft.VSTS.Common.Issue,資料類型=字串。
共用步驟
參數
包含執行手動測試時使用的參數。 參考名稱=Microsoft.VSTS.TCM.Parameters,資料類型=HTML。
共用參數、共用步驟、測試案例
步驟
執行測試所需的動作和驗證步驟。 參考名稱=Microsoft.VSTS.TCM.Steps,資料類型=HTML。
共用步驟、測試案例
系統資訊
與測試相關的系統和環境資訊。 參考名稱=Microsoft.VSTS.TCM.SystemInfo,資料類型=HTML。
錯誤、意見反應回應
重現步驟(操作步驟)
重現非預期行為所需的步驟。 擷取足夠的資訊,讓其他人重現和驗證修正。 參考名稱=Microsoft.VSTS.TCM.ReproSteps,資料類型=HTML。
程式錯誤
測試套件類型1
測試套件的類別。 允許的值: 查詢型、 需求型、 靜態。 如需詳細資訊,請參閱 建立測試計劃。 參考名稱=Microsoft.VSTS.TCM.TestSuiteType,資料類型=字串。
測試套件
備註
- 請勿自訂這些欄位的揀選清單 — 系統和整合需要列出的值。
- 藉由將元素
GLOBALLIST新增至FIELD定義,您可以提供建置的下拉式功能表。 請參閱 構建和全球性清單自動填充。
其他欄位
下列欄位不會出現在工作專案表單上,但會針對測試案例或測試套件進行追蹤。 您可以使用其中一些來過濾查詢並建立報告。 (這些欄位不會新增至資料倉儲,也不會編製索引。
欄位名稱
說明
工作項目類型
自動化測試儲存
包含測試案例自動化測試的組件。 參考名稱=Microsoft.VSTS.TCM.AutomatedTestStorage,資料類型=字串。
測試案例
自動化測試類型
用於自動化測試案例的測試類型。 參考名稱=Microsoft.VSTS.TCM.AutomatedTestType,資料類型=字串。
測試案例
AutomatedTestId
自動化測試的識別碼。 參考名稱=Microsoft.VSTS.TCM.AutomatedTestId,資料類型=字串。
測試案例
自動測試名稱
自動化測試的名稱。 參考名稱=Microsoft.VSTS.TCM.AutomatedTestName,資料類型=字串。
測試案例
LocalDataSource
測試所使用的本機資料來源。 參考名稱=Microsoft.VSTS.TCM.LocalDataSource,資料類型=HTML。
測試案例
查詢文字
用來擷取針對查詢型套件類型定義的查詢欄位。 參考名稱=Microsoft.VSTS.TCM.QueryText,資料類型=PlainText。
測試套件
測試套件稽核
追蹤修改測試套件時的作業 (例如,新增測試或變更組態)。 可透過「歷程記錄」標籤或查詢檢視。 參考名稱=Microsoft.VSTS.TCM.TestSuiteAudit,資料類型=PlainText。
測試套件
測試套件類型標識碼 1
對應至測試套組種類的系統指派值: 1 (靜態)、 2 (查詢型)、 3 (需求型)。 參考名稱=Microsoft.VSTS.TCM.TestSuiteTypeId,資料類型=整數。
測試套件
備註
- 請勿自訂這些欄位的揀選清單 — 系統和整合需要列出的值。
與 Team Foundation Build 和 Azure Pipelines 整合的欄位
Team Foundation Build 是與較舊版本的 Azure DevOps Server 搭配使用的內部部署建置系統。 Azure Pipelines 在 Azure DevOps Services 中提供雲端裝載的組建和管線功能。 這兩個系統都會在組建執行時,以及在組建中解析工作專案時,將組建中繼資料與工作專案整合。
常用於建置整合的兩個欄位是 發現於 和 整合建置。 當存在於 WIT 定義中時,它們可讓組建系統將工作專案與相關的組建編號產生關聯。
您可以將這些欄位新增至 WIT 定義:
<FIELD name="Found In" refname="Microsoft.VSTS.Build.FoundIn" type="String" reportable="dimension">
<HELPTEXT>Product build number (revision) in which this item was found</HELPTEXT>
<SUGGESTEDVALUES>
<LISTITEM value="<None>" />
</SUGGESTEDVALUES>
</FIELD>
<FIELD name="Integration Build" refname="Microsoft.VSTS.Build.IntegrationBuild" type="String" reportable="dimension">
<HELPTEXT>Product build number this bug was fixed in</HELPTEXT>
<SUGGESTEDVALUES>
<LISTITEM value="<None>" />
</SUGGESTEDVALUES>
</FIELD>
當 [ 找到位置 ] 欄位存在於 WIT 定義中時,相容的建置程式可以在建置失敗時建立工作專案,並將 [找到位置] 設定為組建號碼。 當 整合建置 存在時,相容的建置處理程序可以使用對合的建置號碼來更新建置所解析的工作項目。
建立與全域列表自動填充
當您第一次使用 Team Foundation 組建或 Azure Pipelines 將專案組建排入佇列時,系統會建立名為 Build - <ProjectName>的全域清單。 每次組建執行都會為該組建新增一個條目 LISTITEM。 全域清單使用專案顯示名稱,並且可以在FIELD定義的GLOBALLIST元素中進行參照,以提供建置的下拉式清單。
<FIELD name="Found In" refname="Microsoft.VSTS.Build.FoundIn" type="String" reportable="dimension">
<HELPTEXT>Product build number (revision) in which this item was found</HELPTEXT>
<SUGGESTEDVALUES>
<LISTITEM value="<None>" />
</SUGGESTEDVALUES>
<SUGGESTEDVALUES expanditems="true" filteritems="excludegroups">
<GLOBALLIST name="Builds - TeamProjectName" />
</SUGGESTEDVALUES>
</FIELD>
與 Test Plans 整合的欄位
當測試失敗時,Test Plans 可以建立 Bug 或其他工作專案。 當您以這種方式新增工作專案時,測試系統會在 [ 系統資訊 ] 和 [重現步驟] 欄位中擷取環境詳細數據和重現步驟。
<FIELD name="System Info" refname="Microsoft.VSTS.TCM.SystemInfo" type="HTML" />
<FIELD name="Repro Steps" refname="Microsoft.VSTS.TCM.ReproSteps" type="HTML" />
與 Team Foundation 版本控制 (TFVC) 整合的欄位
TFVC 支援在簽入時關聯或解析工作項目。 當您從簽入視窗連結工作專案,且支援動作時,TFVC 會將設定的狀態轉換套用至工作專案。
備註
當您使用 「簽入」 動作時,請針對您預期的轉換設定適當的 「從」 和 「到」 狀態。
如需詳細資訊,請參閱 根據狀態、過渡或原因自動化欄位分配。
局限性
依測試案例查詢時的主要限制:
- 階層式檢視:您無法建構查詢來顯示測試計劃、測試方案和測試案例的階層式檢視,因為它們並不是透過父子連結類型來連接的。
- 查詢型測試套件:查詢型測試套件包含查詢返回的每個測試案例;確保您的查詢精確,以避免意外包含。
- 欄位限制:某些詳細的執行結果無法作為標準欄位使用,可能需要自訂報告或 API 使用。
- 效能和速率限制:Azure DevOps 會強制執行要求和資源限制;未最佳化的查詢或過多的 API 呼叫可能會導致延遲或節流。
- 測試案例連結:測試案例不會以支援複雜階層式查詢的方式自動連結至其他工作專案。