建置、部署和測試工作流程的指引
本主題描述建議用於建置、部署和測試工作流程的方法。 您可以根據需求決定最適合使用的方法。 不過,您的需求可能在專案週期的各階段有所改變。 在專案開始時,您可能一個晚上就能將應用程式建置完成。 隨著專案進展,您可能會想要將單元測試加入至此工作流程,以測試組建的品質。 這些測試通常稱為組建驗證測試或煙霧測試。 當您的測試小組準備好執行測試時,您可能希望讓工作流程自動化,以加入應用程式部署作業。 接著您就可以在部署的最新版應用程式上執行手動或自動化測試。 或者,您可能想要在完成工作流程時建置、部署和執行自動化測試,以便在部署時驗證組建的品質。
您可以使用 mstest.exe 從測試專案的組件中執行自動化測試,做為這些工作流程的一部分。 或者,您也可以使用 tcm.exe,從測試計劃中的測試套件執行自動化測試。 若要從測試計劃執行自動化測試,您必須執行下列工作:
建立測試計劃和測試套件:使用測試計劃定義您的測試工作。
將自動化測試與測試套件中的測試案例產生關聯:HOW TO:使自動化測試與測試案例產生關聯。
建立實體或虛擬環境:環境。
請使用下列章節中的資訊,針對工作流程需要的工作設定軟體元件:
需求
下節描述在工作流程中進行建置、部署和測試的需求:需求。
建置
如果您只是要建置應用程式,可以使用預設的建置範本執行這項操作。 如需如何設定組建的詳細資訊,請參閱建置應用程式。
建置和測試
如果您要在建置流程中執行自動化測試,可以使用預設的建置範本從測試專案選取要執行的測試。 如果測試成功,則可視為組建成功。 建置並執行自動化測試
重要事項 這樣會使用 mstest.exe 在建置流程中執行測試。 如需 mstest.exe 的詳細資訊,請參閱 MSTest.exe 命令列選項。
建置和部署
如果您要使用最新的應用程式組建執行測試計劃中的手動測試,則可以建置應用程式,然後部署至實體或虛擬環境。 建置、部署和執行測試計劃中的手動測試
建置、部署和測試
如果您要在部署之後檢查應用程式的品質,可以使用實體或虛擬環境建置、部署應用程式,以及執行測試計劃中的自動化測試。 使用環境建置、部署和執行測試計劃中的自動化測試
重要事項 這樣會使用 tcm.exe 在建置流程中執行測試。 如需 tcm.exe 的詳細資訊,請參閱 tcm:從命令列匯入和執行測試計劃的自動化測試。
需求
根據工作流程中要包含的工作而定,您可以在實體或虛擬電腦上安裝每項工作需要的元件。 下圖示範如何依據本節的資訊選擇安裝軟體。
所有工作的軟體需求
- Team Foundation Server
建置的軟體需求
組建控制器
每個 Team 專案集合至少需要 1 個組建控制器
組建代理程式
每個組建控制器至少需要 1 個組建代理程式
部署的軟體需求
1 個組建控制器 (可以使用用於建置應用程式的組建控制器)
針對虛擬環境:虛擬環境中,每部電腦需要 1 個組建代理程式和 1 個實驗室代理程式
使用環境進行測試的軟體需求
測試控制器
每個 Team 專案集合至少需要 1 個測試控制器
測試代理程式
環境中的每部電腦需要 1 個測試代理程式
針對虛擬環境:虛擬環境中,每部電腦 (除了測試代理程式以外) 需要 1 個實驗室代理程式
如需有關這些元件如何一起運作以執行測試的詳細資訊,請參閱設定測試電腦以便執行測試或收集資料。
如需如何安裝這些元件的詳細資訊,請參閱安裝和設定 Visual Studio Agents、測試和組建控制器。
下列各節可幫助您決定要在哪些電腦上安裝軟體元件。 接著就可以判斷您的設定需要的電腦數目。
組建控制器和組建代理程式的電腦需求
若要判斷所需的電腦,您必須以下列資訊做為拓撲的依據:
每個 Team 專案集合必須有一個組建控制器。
每部電腦上只能有一個組建控制器。
在傳統安裝中,組建代理程式執行的工作可能會大量耗用處理器資源。 這樣可能會大幅降低 Team Foundation Server 的效能。 在此情況下,您會希望將組建代理程式與 Team Foundation Server 分別放在不同的電腦上。
您可以將組建控制器與 Team Foundation Server 安裝在同一部電腦上。 如果組建控制器要管理許多作用中的組建代理程式,就可能會耗用較多系統記憶體,因此您可能會決定將組建控制器安裝到另一部電腦上。
例如,如果您有三個 Team 專案集合,而且每一個集合中都有需要建置的應用程式,則需要三部電腦供三個組建控制器使用;如果您將一個組建控制器安裝到 Team Foundation Server 上,則另外需要兩部電腦。
重要事項 |
---|
如需可用來設定組建控制器和組建代理程式之拓撲的詳細資訊,請參閱建置系統拓撲範例。 |
測試控制器和測試代理程式的電腦需求
為減少軟體元件之間的通訊問題,建議您將測試控制器電腦和 Team Foundation Server 電腦放置在相同網域中。 如需如何在不同網域或工作群組中安裝元件的詳細資訊,請參閱工作群組和多個網域的需求。
若要判斷測試控制器所需的電腦,您必須依據下列資訊決定需要的拓撲:
如果您是使用實體或虛擬環境進行測試,則需要測試控制器。
您可以使用單一測試控制器搭配多個實體或虛擬環境。
您必須向包含環境的 Team 專案集合註冊測試控制器。
每個測試控制器只能向單一 Team 專案集合註冊。
您需要的每個測試控制器都必須安裝到不同的電腦上。
例如,如果您有三個 Team 專案集合,並且要為這些集合建立環境,則必須至少有三個測試控制器。 這樣就至少需要三部電腦。
注意事項 |
---|
如果 Team 專案集合中有多個要支援的環境,而且需要多個測試控制器,您可以向相同的 Team Foundation Server 註冊多個測試控制器。 |
減少組建控制器和測試控制器所需的電腦
如果您需要多個組建控制器和測試控制器,可以將測試控制器與組建控制器安裝在同一部電腦上,藉此減少電腦需求。 例如,如果您有 A、B 和 C 三個 Team 專案集合,而且每一個集合都需要組建控制器和測試控制器,則可以將組建控制器和測試控制器安裝在同一部電腦上。 若使用此方法,控制器就只需要三部電腦,而不需要六部電腦。
建置並執行自動化測試
若要將建置和測試做為工作流程的工作,您必須在建立的預設組建定義中提供下列資訊:
包含測試的測試組件
(選擇性) 想要從組件中選取特定測試時要使用的測試分類
要用來執行測試的測試設定
如需測試設定的詳細資訊,請參閱使用測試設定安裝電腦和收集診斷資訊。
組建代理程式會使用 mstest.exe,從置放資料夾中的測試組件執行測試,如下圖所示。 您可以使用應用程式方案中的預設測試設定 (local.testsettings),透過組建代理程式在本機上執行測試。
注意事項 |
---|
若要在建置流程中使用 local.testsettings 檔,則必須將此檔案簽入 Team Foundation Server 中。 |
僅使用一個組建代理程式執行測試時,無法使用診斷資料配接器收集資訊。 如果要在此情節中使用診斷資料配接器,則必須將測試代理程式和組建代理程式安裝在同一部電腦上。 或者,您也可以使用實體或虛擬環境,如下節中所述:建置、部署和執行測試計劃中的自動化測試。
如需如何針對工作流程建置和執行測試的詳細步驟,請參閱 HOW TO:在建置應用程式之後設定和執行已排程的測試。
警告
不建議您在組建定義中,指定使用測試控制器搭配測試設定從遠端執行測試。 如果您要使用測試控制器和測試代理程式,則應該使用實體或虛擬環境,如下節中所述:建置、部署和執行測試計劃中的自動化測試。
如果您只是要學習如何使用 Visual Studio、Team Foundation Server 和 Team Foundation Build 定義工作流程,則可以在同一部電腦上安裝所有元件。 不過,如果此系統有多位使用者而且您要執行多個組建,則不建議您這樣做。
注意事項 |
---|
若要執行自動程式碼 UI 測試,建議您先將應用程式部署到實體或虛擬環境。 如果您必須執行手動步驟來調查測試失敗,使用此方法就可以讓您使用相同的環境。 若要執行自動程式碼 UI 測試,但不部署應用程式,則必須設定組建代理程式才能與桌面互動。 此外,您必須在組建電腦上安裝測試代理程式,並且使用置放資料夾中的最新組建來進行測試。 如需如何設定組建代理程式的詳細資訊,請參閱將您的代理程式設定為執行自動程式碼 UI 測試。 |
建置和部署
若要建置和部署工作流程的應用程式,您必須使用實體或虛擬環境。
虛擬環境
若要透過使用 Visual Studio Lab Management 的虛擬環境進行建置和部署,可以使用實驗室預設範本。 這個實驗室範本可讓您執行下列動作:
選取想要使用的虛擬環境
選取該環境的快照,做為部署的起點
選取用來部署應用程式的組建定義或組建
加入從置放資料夾部署應用程式時要執行的指令碼
在建置和部署工作流程時,在完成部署後拍下虛擬環境的快照
您可以使用虛擬環境,利用部署到此環境的組建執行手動測試,或是執行自動化測試。 如需如何建置應用程式並且部署到虛擬環境的詳細資訊,請參閱 HOW TO:將應用程式部署至虛擬環境。 如需如何使用虛擬環境執行手動測試的詳細資訊,請參閱 HOW TO:使用虛擬環境執行手動測試並建立可重現的 Bug。
實體環境
如果您要將應用程式部署到實體環境,可以自訂組建定義的範本。 如需如何自訂建置流程範本的詳細資訊,請參閱建立並使用自訂建置流程範本。
您可以使用此環境執行測試計劃中的手動測試或自動化測試。 如需如何執行這些測試的詳細資訊,請參閱使用測試執行器執行手動測試和執行測試計劃中之自動化測試的基本指南。
使用環境建置、部署和執行測試計劃中的自動化測試
若要在建置、部署和測試流程中執行測試計劃中的自動化測試,您必須使用實體或虛擬環境。 組建定義會使用 tcm.exe 執行您的測試。 當您在工作流程中執行這些測試時,會為這些測試建立測試回合,而且可以使用 Microsoft 測試管理員檢閱和分析測試結果。 如需如何分析測試回合的詳細資訊,請參閱 HOW TO:使用 Microsoft 測試管理員分析測試回合。 這樣還可讓您檢視有關組建品質的歷史資料。 您可以判斷是否發生相同的組建品質問題,以及應用程式的哪些地方導致測試失敗。
當您建立實體環境進行測試時,可以使用實體或虛擬電腦,或者使用 Visual Studio Lab Management 建立虛擬環境。 虛擬環境可讓您從現有快照中,使用已知狀態之環境中的每一部電腦部署應用程式。 此外,您可以在部署應用程式之後拍下環境的快照,如此就能回到這個已知狀態來測試 Bug 或執行手動測試。 虛擬環境可為您提供更大的彈性。 如需如何建立這些環境的詳細資訊,請參閱建立用於測試的實體環境和建立虛擬環境。
虛擬環境
若要將應用程式部署到虛擬環境,您可以使用隨 Team Foundation Build 提供的預設實驗室範本定義。 若要使用虛擬環境,您必須擁有 Visual Studio Lab Management。 這個實驗室範本可讓您執行下列動作:
選取想要使用的虛擬環境
選取該環境的快照,做為部署的起點
選取用來部署應用程式的組建定義或組建
加入從置放資料夾部署應用程式時要執行的指令碼
為您的測試回合選取測試套件、測試組態和測試設定
在建置和部署工作流程時,在完成部署後拍下虛擬環境的快照
如需如何為預設實驗室範本設定組建定義,以便使用虛擬環境進行建置、部署和測試的詳細資訊,請參閱 HOW TO:在建置並部署應用程式之後設定和執行已排程的測試。
實體環境
若要將應用程式部署到實體環境並且執行自動化測試,您可以自訂組建定義範本。 如需如何自訂建置流程範本的詳細資訊,請參閱建立並使用自訂建置流程範本。