共用方式為


HOW TO:在建置應用程式之後設定和執行已排程的測試

您可以在組建已完成之後執行測試,以評估組建的品質。 這些測試通常稱為組建驗證測試 (BVT) 或煙霧測試。 這些測試通常由廣泛的測試套件所組成,可用來驗證特定組建的應用程式關鍵區域。 如果在 BVT 中的所有測試都能成功,就會當做是建置成功。

您可以使用一種或多種類型的自動化測試做為組建驗證測試的一部分。 您可以執行下列類型的測試:

  • 單元測試

  • 資料庫單元測試

  • 自動程式碼 UI 測試

  • Web 效能測試

  • 負載測試

  • 一般測試

建立 BVT 會使用 Visual Studio、Team Foundation 版本控制和 Team Foundation Build。 首先,使用 Visual Studio,將測試分類指派給要用於 BVT 的測試。 接下來,您可使用 Team Foundation 版本控制將使用測試分類標記的自動化測試簽入至原始檔控制。 然後,您可將測試分類篩選條件加入至組建定義中。 最後,您可使用 Team Foundation Build 將組建加入佇列,如果該組建成功,則該組建會執行測試。

注意事項注意事項

用戶端電腦必須安裝 Team 總管,而且您的 Visual Studio 使用者工作階段必須連接至到 Team Foundation Server 電腦。 如需如何連接到 Team Foundation Server 的詳細資訊,請參閱 How to: Connect to a Team Project in Team Foundation Server

本主題將說明用來建立和執行組建驗證測試的所有必要程序:

  • 建立 BVT 的測試分類

  • 簽入組建驗證測試

  • 建立組建定義

  • 將建置和測試代理程式的電腦或使用者帳戶加入至 TeamTestControllerUsers 群組

  • 將您的代理程式設定為執行自動程式碼 UI 測試

  • 執行 BVT 組建定義

    注意事項注意事項

    您可以使用測試清單執行組建驗證測試,但除非您必須建立需要使用測試清單的簽入原則,否則的話,建議不要使用舊版 Microsoft Visual Studio 2010 的測試清單功能,應改以測試分類代替。 如需如何建立測試清單的詳細資訊,請參閱 HOW TO:建立測試清單

建立 BVT 的測試分類

您可以使用邏輯運算子建立篩選條件 (使用 & (AND)、| (OR) 和 ! (NOT)),以根據指派給測試的分類,選取要執行的測試。 您可能想要建立多個測試分類,以便您可以將其用於組建定義,讓選擇測試的方式更具彈性。

若要建立測試方法的測試分類

  1. 按一下 [測試] 功能表上的 [視窗],然後選取 [測試檢視]。

    [測試檢視] 視窗隨即顯示

  2. 選取測試。

  3. 在所選測試的屬性窗格中,按一下 [測試分類] 資料行中的省略符號 (...)。 [測試分類] 視窗將會顯示。

  4. 在 [加入新分類] 欄位中,輸入新測試分類的名稱。

  5. 按一下 [加入]。

  6. 按一下 [確定]。 新的測試分類將指派給您的測試,並且可供 [測試檢視] 視窗中的其他測試使用。

  7. 若要建立其他測試分類,請重複步驟 4 至 6。

    如需如何透過將屬性加入至測試方法來指派測試分類的詳細資訊,請參閱 HOW TO:使用測試分類分組和執行自動化測試

簽入組建驗證測試

在此程序中,您會簽入方案中的所有檔案, 這包括您已加入至測試方法的測試分類。

若要將組建驗證測試簽入至原始檔控制

  1. 連接至 Team Foundation Server 電腦。 如需詳細資訊,請參閱 How to: Connect to a Team Project in Team Foundation Server

  2. 如果您的方案尚未在來源控制項中,請將它加入至來源控制項。 如需詳細資訊,請參閱將檔案加入至版本控制

  3. 按一下 [檢視],再按一下 [暫止簽入]。 [暫止簽入] 視窗隨即顯示。

  4. 簽入方案的所有檔案。 如需詳細資訊,請參閱簽入暫止的變更

    注意事項注意事項

    您可能會有一套特定的小組流程,用來控制建立和管理 BVT 的方式。 例如,這套流程可能會要求您先在本機驗證建置後,才能簽入該程式碼以及將會在其上執行的測試。

    在簽入作業完成後,一個掛鎖圖示便會出現在 [方案總管] 中的每個檔案旁,表示「已簽入」(Checked In) 狀態。 如需詳細資訊,請參閱How to: Identify Version Control Item Status in Solution Explorer

    已簽入的測試可在組建中使用。 現在您可以建立包含要在 BVT 中執行之測試的組建定義。

建立組建定義

若要建立 BVT 組建定義

  1. 在 Team 總管中,按一下 Team 專案。

  2. 以滑鼠右鍵按一下 [組建],然後按一下 [新增組建定義]。

    [新增組建定義] 索引標籤隨即顯示。

  3. 輸入新組建定義的資訊。如需詳細資訊,請參閱建立基本組建定義

  4. 在 [組建定義名稱] 文字方塊內指定要與組建定義產生關聯的名稱。

  5. (選擇性) 在 [描述] 方塊中,加入適當的描述。

  6. 按一下 [工作區]。

    [工作資料夾] 資料表包含 Team 專案的原始檔控制資料夾 (您將為該專案建立新的組建定義) 和組建代理程式上的本機資料夾。 組建代理程式上的本機資料夾列示於 [本機資料夾] 資料行內。 組建代理程式上的所有工作區路徑會對應至顯示的預設根目錄。

  7. 若要將現有的工作區複製到工作資料夾清單中,請按一下 [複製現有工作區] 開啟 [選取工作區] 對話方塊。

    您選取的工作空間會正規化為組建代理程式上的通用根目錄 $(SourceDir)。 SourceDir 是展開至 $(BuildDir)\Sources 的環境變數。

    您也可以在 [原始檔控制資料夾] 內按一下空的資料表儲存格,然後再按一下省略符號 (…),瀏覽要加入成為工作資料夾的原始檔控制資料夾。 您選取的原始檔控制資料夾也會正規化為組建代理程式上的通用根目錄。

  8. 按一下 [組建預設值]。

    在 [組建預設值] 窗格中,您可以從 [組建控制器] 下拉式清單選擇組建控制器 (若存在的話)。 您還可以選擇按一下 [管理] 來開啟 [管理組建控制器] 對話方塊。

    在 [將組建輸出複製至下列置放資料夾] 中,輸入 UNC 路徑,例如 (\\server\share) 位置。 當組建完成時,建置的二進位檔和記錄檔將會置於此資料夾中。 如需如何設定置放資料夾的詳細資訊,請參閱設定置放資料夾

    如果您計劃執行自動程式碼 UI 測試、Web 效能測試或負載測試做為組建定義的一部分,就必須使用位於這個位置之組建的輸出來啟動或安裝應用程式。 若要在組建完成之後而在執行測試之前自動安裝應用程式,您可以使用可將應用程式部署至虛擬環境的實驗室預設範本,也可以修改此實驗室預設範本,以便將應用程式部署至實體環境。

    注意事項注意事項

    完成此步驟之前,您必須在建立公用資料夾,並賦予 TFSService 帳戶完整權限。 如需 Team Foundation 服務帳戶的詳細資訊,請參閱檢視 Team Foundation Server 服務

  9. 按一下 [程序]。

  10. 按一下 [必要項] 區段中的 [要建置的項目]。 然後,按一下省略符號 (…)。

    [要建置的項目] 對話方塊隨即出現。

  11. 按一下 [加入]。 然後在版本控制樹狀結構中尋找方案或專案,然後按一下 [確定]。

  12. 按一下 [要建置的項目] 對話方塊中的 [確定]。

  13. 若要加入測試的測試分類以在組建完成時執行,請開啟 [基本] 區段。 開啟 [自動化測試] 區段中的 [測試組件],然後按一下 [分類篩選]。 輸入根據測試分類選取測試方法時需要的篩選。

    注意事項注意事項

    測試分類篩選條件包括由邏輯運算子 '&'、'|'、'!'、'&!' 分隔的一個或多個測試分類名稱。 例如,ShoppingCart&SmokeTest 會執行測試分類為 ShoppingCart 和 SmokeTest 的所有測試。 或者,您可以通過輸入 SmokeTest 來只選取一個分類中的所有測試。 (邏輯運算子 '&' 和 '|' 無法一起用來建立測試分類篩選)。

  14. 若要指定尋找測試組件的搜尋模式,請按一下 [測試組件檔案規格]。 輸入搜尋字串。 例如,如果所有 dll 的名稱中都包含 "test",則為 **\*test*.dll。

    注意事項注意事項

    此搜尋字串會以遞迴方式搜尋目錄,以尋找二進位檔目錄中符合 *test*.dll 的任何 dll。 如需此項的詳細資訊,請參閱定義您的建置流程

  15. (選擇性) 若要選取執行測試時要使用的測試設定檔,請依序開啟 [自動化測試] 和 [測試組件],按一下 [測試設定檔] 再按一下省略符號 (…)。

    [瀏覽] 對話方塊隨即顯示。 尋找包含想要使用之測試設定的 .test 設定檔案,然後按一下 [確定]。

    如果測試設定檔使用測試控制器和測試代理程式,請參閱下列程序:將組建和測試代理程式的使用者帳戶或電腦加入至 TeamTestControllerUsers 群組。

    如果正在執行自動程式碼 UI 測試,請參閱下列程序,以根據測試設定檔來設定代理程式:將您的代理程式設定為執行自動程式碼 UI 測試。

    注意事項注意事項

    您可以使用 [進階] 區段中的 [代理程式設定],來指定要使用的特定代理程式。 例如,如果您正在執行自動程式碼 UI 測試,且必須選取正在做為互動式處理序執行的代理程式,則您可在這裡選取它。

    如需測試設定檔的詳細資訊,請參閱建立測試設定以便從 Visual Studio 執行自動化的測試

    注意事項注意事項

    預設測試設定檔有兩個。 根據預設,Local.testsettings 只收集系統資訊。 如果您還想要收集 IntelliTrace 資料,並且收集測試影響分析資料,以用於根據組建變更判斷建議使用的測試,則您必須選取名為 TraceAndTestImpact.testsettings 的測試設定檔。

  16. (選擇性) 若要做為組建處理序的一部分來執行載入測試,您必須設定載入測試結果儲存機制,並設定測試設定中指定的測試控制器使用該儲存機制。 如需詳細資訊,請參閱 HOW TO:選取負載測試結果儲存機制

  17. 若要儲存新的組建定義,請按一下 [儲存]。

    新組建定義隨即出現在 Team 總管視窗中的 [組建] 資料夾下。

    注意事項注意事項

    若果您想要加入測試清單 (而非測試分類) 以在組建完成時執行,則您可以加入命令列引數來執行此操作。 如需命令列引數的詳細資訊,請參閱從命令列執行自動化的測試

將組建和測試代理程式的使用者帳戶或電腦加入至 TeamTestControllerUsers 群組

如果您已加入至組建定義的測試設定檔使用測試控制器和測試代理程式,則必須針對用於測試控制器電腦上 TeamTestControllerUsers 安全性群組的任何組建或測試代理程式,加入電腦。 例如,如果想要做為組建處理序的一部分來執行自動程式碼 UI 測試,則必須將這些電腦加入至這個安全性群組。

警告

如果組建代理程式或測試代理程式設定為使用不同的使用者,且不是 Network Service 帳戶,則您必須確定此網域使用者帳戶已加入至 TeamTestControllerUsers 群組。

若要將組建和測試代理程式的使用者或電腦加入至 TeamTestControllerUsers 群組

  1. 從測試控制器電腦上,依序按一下 [開始]、[控制台]、[系統管理工具],再按一下 [電腦管理]。

    [電腦管理] 對話方塊隨即顯示。

  2. 開啟 [本機使用者和群組],然後按一下 [群組]。

    群組隨即顯示。

  3. 若要加入使用者或電腦,請以滑鼠右鍵按一下 [TeamTestControllerUsers],然後指向 [加入群組]。

    [TeamTestControllerUsers 屬性] 對話方塊隨即顯示。

  4. 查看成員清單以查看是否已經加入網域使用者帳戶或電腦。 如果尚未加入,請按一下 [加入]。

    [選取使用者、電腦或群組] 對話方塊隨即出現。

  5. 根據預設,只會顯示使用者或群組。 若要加入電腦,請按一下 [物件類型],選取 [電腦],然後按一下 [確定]。

  6. 若要加入電腦,請在 [請輸入物件名稱來選取] 中輸入電腦名稱,然後按一下 [確定]。

    警告

    您必須同時加入執行組建代理程式的電腦和用於測試代理程式的電腦。

  7. 若要加入網域使用者帳戶,請驗證位置是否正確,在 [請輸入物件名稱來選取] 中輸入使用者帳戶名稱,然後按一下 [確定]

    重要事項重要事項

    重複此步驟,加入您需要的所有使用者帳戶。

  8. 若要套用變更,請按一下 [確定]。

將您的代理程式設定為執行自動程式碼 UI 測試

如果在建置應用程式之後想要做為排程測試的一部分執行自動程式碼 UI 測試,則您必須執行下列其中一項:

  • 使用測試設定檔,這個檔案會指定測試控制器和應用程式的角色,以執行測試。 使用 Microsoft Visual Studio 2010 建立這些測試設定。 對於在測試設定中指派給執行測試角色的任一測試代理程式,您必須遵循這個程序中的步驟,以設定測試代理程式做為處理序 (而非服務) 執行。 如需測試控制器和測試代理程式的詳細資訊,請參閱設定測試電腦以便執行測試或收集資料安裝和設定 Visual Studio Agents、測試和組建控制器

  • 使用不會指定測試控制器的測試設定。 如果這樣做,則必須將組建代理程式服務設定為可以與桌面互動。 選取服務屬性,以 [允許服務與桌面互動]。 這樣可讓組建代理程式執行自動程式碼 UI 測試。

    警告

    如果您正在執行啟動瀏覽器的自動程式碼 UI 測試,則組建服務的服務帳戶可用於啟動該瀏覽器。 這個服務帳戶必須與此電腦上現用使用者的使用者帳戶相同。 如果這不是相同的使用者帳戶,瀏覽器將不會啟動。

將您的測試代理程式設定為執行自動程式碼 UI 測試

若要使用 Team Build 執行 BVT

若要使用 Team Build 執行 BVT

  1. 在 Team 總管中,按一下 Team 專案。

  2. 以滑鼠右鍵按一下 [組建],然後按一下 [佇列新組建]。

  3. (選擇性) 變更建置位置和目錄。

  4. 按一下 [佇列]。

    此時組建會啟動,並會顯示 [Build 總管] 對話方塊。

  5. 當組建完成時,請按一下 [已完成] 以查看詳細資料。

  6. 若要檢視組建的詳細資料,請按兩下清單中的組建。

    新的索引標籤隨即顯示,並且具有組建資訊。 您可以檢視測試執行的狀態。

  7. 若要檢視測試結果詳細資料,請按一下箭號以開啟測試,然後按一下 [檢視測試結果]。

  8. 選取資料夾以在本機儲存測試結果。

    現在,測試結果便會顯示在 [測試結果] 視窗中。

    如需詳細資訊,請參閱建置應用程式

請參閱

概念

執行自動化測試

定義測試分類以分組測試

定義測試清單以分組測試

測試應用程式效能和壓力

其他資源

使用版本控制