如何:建立分散式負載測試的測試設定
「測試設定」(Test Setting) 可針對負載測試加以設定,以便使用測試代理程式和測試控制器將測試分散到多部電腦。 測試設定還可以設定為使用「診斷資料配接器」(Diagnostic Data Adapter),配接器會指定要收集的各種資料,或是從 Visual Studio Ultimate 執行負載測試時如何影響測試電腦。 例如,您可以使用 ASP.NET 分析工具診斷資料配接器收集程式碼的效能解析。 此外,診斷資料配接器可以用來模擬測試電腦上的可能瓶頸,或減少可用的系統記憶體。
Visual Studio 的測試設定會儲存在檔案中。 測試設定會定義有關每個角色的下列資訊:
待測應用程式需要的角色集
要用來執行測試的角色
要針對每個角色使用的診斷資料配接器
當您執行測試時,視特定測試回合的需要來選取做為作用中測試設定的測試設定。 將測試設定檔做為方案的一部分儲存。 檔案名稱的副檔名是 .testsettings。
當您將 Web 效能和負載測試專案加入至方案時,會建立 Default.testsettings 檔案。 這個檔案會自動加入至方案的 [方案項目] 資料夾底下。 這個檔案會在本機上執行您的測試,不需要任何診斷資料配接器。 您可以加入另一個 .testsettings 檔案,或是編輯 .testsettings 檔案以指定診斷資料配接器和測試控制器。
測試控制器將具有可用於測試設定中每一個角色的代理程式。 如需測試控制器和測試代理程式的詳細資訊,請參閱設定測試電腦以便執行測試或收集資料和使用 Visual Studio 管理 Test Controller 和 Test Agent。
使用下列程序,針對您計劃從 Visual Studio Ultimate 執行的負載測試,在方案中建立和移除測試設定。
需求
- Visual Studio Ultimate
建立分散式負載測試的測試設定
若要加入分散式負載測試的測試設定
在 [方案總管] 中,以滑鼠右鍵按一下 [方案項目],指向 [加入],然後選擇 [新增項目]。
[加入新項目] 對話方塊隨即出現。
在 [安裝的範本] 窗格中,選擇 [測試設定]。
(選擇性) 在 [名稱] 方塊中,變更測試設定檔的名稱。
選擇 [加入]。
新的測試設定檔,便會出現在 [方案總管] 的 [方案項目] 資料夾底下。
注意事項 Visual Studio Premium 所顯示的測試設定清單衍生自 [方案項目] 資料夾中測試設定檔的清單。例如,當您使用 [測試] 功能表上的 [選取現用測試設定] 選項時,即會顯示 [方案項目] 資料夾中的測試設定檔。這表示,如果您將測試設定檔移動至方案階層架構中的其他位置,那麼在 Visual Studio 整合式開發環境中就不再使用該檔案做為測試設定。
[測試設定] 對話方塊隨即顯示。 請選取 [一般] 頁面。
接著,便可以編輯和儲存測試設定值。
注意事項 您所建立的每個測試設定,都會列為 [測試] 功能表上 [選取現用測試設定] 和 [編輯測試設定] 選項的選擇。
在 [名稱] 下方輸入測試設定的名稱。
(選擇性) 在 [描述] 下方輸入測試設定的說明,讓其他小組成員可了解其用途。
(選擇性) 若要選取測試回合的預設命名配置,請選取 [預設命名配置]。 若要定義您自己的命名配置,請選取 [使用者定義的配置],然後在 [前置詞文字] 中輸入您想要的文字。 若要將日期和時間戳記附加至測試回合名稱,請選取 [附加日期時間戳記]。
選擇 [角色]。
[角色] 頁面隨即顯示。
若要從遠端執行測試,或是從遠端執行測試並且從遠端收集資訊,請使用 [測試執行方法] 下拉式清單並選取 [遠端執行]。
使用 [控制器] 下拉式清單可針對測試代理程式,從 [控制器] 選取將用於執行測試或收集資料的測試控制器。
注意事項 如果這是您第一次加入控制器,則下拉式清單不會列出任何控制器。您先前在其他測試設定中指定的控制器會填入此清單中。您必須在方塊中輸入控制器的名稱 (例如 TestControllerMachine1)。
如需詳細資訊,請參閱設定測試控制器和測試代理程式以進行負載測試和搭配測試控制器和測試代理程式使用負載測試。
若要加入您想要用來執行測試和收集資料的角色,請選擇 [角色] 底下的 [加入]。
在 [名稱] 欄中輸入角色的名稱。 例如,角色可以是「Web 伺服器」。
重複步驟 12 和 13,加入您需要的所有角色。
每個角色都會使用測試控制器所管理的測試代理程式。
選取您要用以執行測試的角色,然後選擇 [設定為執行測試的角色]。
重要
您所建立和定義的其他角色將不會執行測試,而是只會根據您在 [資料和診斷] 頁面中針對角色所指定的資料和診斷配接器,用來收集資料。
若要限制可用於角色的代理程式,請選取角色,然後選擇 [所選角色的代理程式屬性] 底下工具列中的 [加入]。
[代理程式選取規則] 對話方塊隨即顯示。
在 [屬性名稱] 中輸入名稱,並且在 [屬性值] 中輸入值,然後選擇 [確定]。 盡可能多地加入您需要的屬性。
例如,您可以加入名為 "RAM > 16GB" 且值為 "True" 或 "False" 的屬性,以便篩選具備 16 GB 以上記憶體的測試代理程式電腦。 若要將相同的屬性套用至一個或多個測試代理程式,請使用 [管理測試控制器] 對話方塊。 如需詳細資訊,請參閱使用 Visual Studio 管理 Test Controller 和 Test Agent。
選擇 [資料和診斷]。
[資料和診斷] 頁面隨即顯示。
在 [資料和診斷] 頁面中,您可以選取角色用來收集資料的「診斷資料配接器」(Diagnostic Data Adapter),藉以定義角色的行為。 因此,如果您針對角色啟用了一個或多個資料和診斷配接器,則測試控制器將會選取可用的測試代理程式電腦,根據您針對角色定義的屬性收集指定之資料和診斷配接器的資料。 若要選取您要為每個角色收集的資料和診斷資料配接器,請選取角色。 針對每個角色,根據各項測試的需求,選取診斷資料配接器。 若要設定您已為每個角色選取的診斷資料配接器,請選擇 [設定]。
角色和診斷資料配接器的範例:
例如,您可以建立名為 "Desktop Client" 且 "Uses SQL" 屬性設定為 "True" 的用戶端角色,以及名為 "SQL Server" 且屬性設定為 "RAM > 16GB" 的伺服器角色。 如果您在 [角色] 頁面中選擇 [設定為執行測試的角色],藉以指定 "Desktop Client" 將執行測試,則測試控制器將會選取其測試代理程式之 "Uses SQL" 屬性設定為 "True" 的電腦來執行測試。 此外,測試控制器也會選取其測試代理程式只含有 "RAM > 16GB" 屬性的 SQL Server 電腦,以便收集該角色所包含之資料和診斷配接器所定義的資料。 "Desktop Client" 測試代理程式也可以收集執行所在電腦的資料 (如果您也針對該角色選取資料和診斷配接器的話)。
如需每個診斷資料配接器和其設定方式的詳細資料,您可以檢視下表中的相關主題。
如需診斷資料配接器的詳細資訊,請參閱使用測試設定安裝電腦和收集診斷資訊。
適用於負載測試的診斷資料配接器
診斷資料配接器
在負載測試中使用
相關主題
用於 IntelliTrace 及測試影響的 ASP.NET 用戶端 Proxy:此 Proxy 可讓您針對 IntelliTrace 和測試影響診斷資料配接器,收集從用戶端到 Web 伺服器之 HTTP 呼叫的相關資訊。
除非您有特定需要,必須收集測試代理程式電腦的系統資訊,否則不要包含此配接器。
警告
我們不建議您在負載測試中使用 IntelliTrace 配接器,因為會因收集大量資料而發生問題。
使用負載測試不會收集測試影響資料。
IntelliTrace:您可以設定以記錄檔儲存的特定診斷追蹤資訊。 記錄檔具有 .tdlog 副檔名。 在您執行測試時,若測試步驟失敗,您可以建立 Bug。 包含診斷追蹤的記錄檔會自動附加至此 Bug 中。 記錄檔中收集的資料可縮短重現及診斷程式碼錯誤所需的時間,進而提高偵錯的效能。 使用這個記錄檔,就可以在另一部電腦上重新建立本機工作階段。 這樣可降低無法重現 Bug 的風險。
如需詳細資訊,請參閱使用 IntelliTrace 錄製程式碼執行以偵錯應用程式。
我們不建議您在負載測試中使用 IntelliTrace 配接器,因為會因收集和記錄大量資料而發生問題。 您應該僅在執行時間短,且不會使用許多測試代理程式的負載測試中嘗試使用 IntelliTrace 配接器。
ASP.NET 分析工具:您可以建立包含 ASP.NET 分析的測試設定,以收集 ASP.NET Web 應用程式的效能資料。
ASP.NET 分析工具診斷資料配接器會分析 Internet Information Services (IIS) 處理序,因此不會針對開發 Web 伺服器執行。 若要在負載測試中分析網站,您必須在 IIS 執行所在的電腦上安裝測試代理程式。 測試代理程式不會產生負荷,而是只進行收集的代理程式。 如需詳細資訊,請參閱安裝並設定 Test Agent 和 Test Controller。
程式碼涵蓋範圍 (Visual Studio 2010):您可以建立包含程式碼涵蓋範圍資訊的測試設定,用以調查測試所涵蓋的程式碼數量。
雖然您可以在負載測試中使用程式碼涵蓋範圍配接器,但是它只會收集測試執行角色的程式碼涵蓋範圍資料,而不會收集測試設定中所指定之伺服器角色的資料。
注意事項 這個配接器的用途僅為提供與 Visual Studio 2010 的相容性。
事件記錄:您可以設定測試設定來包含事件記錄收集 (該事件記錄收集是包含在測試結果中)。
網路模擬:您可以使用測試設定指定要對測試加上人為的網路負載。 網路模擬可藉由模擬特定網路連線速度 (如撥號連線),對電腦的對外通訊產生影響。
注意事項 網路模擬無法用以增加網路連線速度。
負載測試會忽略網路模擬配接器。 因為負載測試會改用負載測試情節的網路混合中指定的設定。
如需詳細資訊,請參閱在負載測試情節中指定虛擬網路類型。
系統資訊:測試設定可設定為包含系統資訊診斷和資料收集器執行所在電腦的相關系統資訊。 透過測試設定,系統資訊會指定於測試結果中。
您可以同時從負載代理程式和待測系統收集系統資訊。
不需任何設定,即可收集這項資訊。
測試影響:您可以收集在測試案例執行時,應用程式程式碼使用了哪些方法的相關資訊。 您可以將這項資訊對照開發人員對應用程式程式碼所做的變更,判斷有哪些測試受到這些開發變更的影響。
負載測試不會收集測試影響資料。
視訊錄製器:您可以在執行自動化測試時,建立桌面工作階段的視訊錄製。 這在檢視自動程式碼 UI 測試的使用者動作時可能很有用。 視訊可協助其他小組成員找出難以重現的應用程式問題。
注意事項 遠端執行測試時,除非代理程式以互動式處理序模式執行,否則視訊錄製器將無法運作。
> [!WARNING] > <P>不建議使用視訊錄製器配接器進行負載測試。</P>
選擇 [部署]。
[部署] 頁面隨即顯示。
若要在每次執行測試時建立部署的個別目錄,請選取 [啟用部署]。
注意事項 如果您這樣做,可以在執行測試時繼續建置應用程式。
若要將檔案加入至您用來執行測試的目錄,請選擇 [加入檔案],然後選取您要加入的檔案。
注意事項 當您執行負載測試時,外掛程式組件、資料檔和上傳的檔案都會自動部署。
若要將目錄加入至您用來執行測試的目錄,請選擇 [加入目錄],然後選取您要加入的目錄。
注意事項 如需如何使用屬性 (Property) 和 DeploymentItem 屬性 (Attribute) 為個別測試部署檔案和目錄的詳細資訊,請參閱 如何:部署測試的檔案。
若要在測試之前和之後執行指令碼,請選擇 [安裝和清除指令碼]。
[安裝和清除指令碼] 頁面隨即顯示。
在 [安裝指令碼] 中輸入指令碼檔的位置,或選擇省略符號 (...) 尋找安裝指令碼。
在 [清除指令碼] 中輸入指令碼檔的位置,或選擇省略符號 (...) 尋找清除指令碼。
若要使用不同主機執行測試,請選擇 [主機]。
在 [主機類型] 中,確認已選取 [預設]。
注意事項 負載測試不支援 [主機類型] 中的 [ASP.NET]。
使用 [在 32 位元或 64 位元處理序中執行測試] 下拉式清單,選取要以 32 位元或 64 位元處理序的形式執行負載測試中的 Web 效能和單元測試。
注意事項 為獲得最大彈性,您應該使用 [任何 CPU] 組態編譯 Web 效能和負載測試專案。然後,您就可以在 32 位元和 64 位元代理程式上執行。使用 [64 位元] 組態編譯 Web 效能和負載測試專案不會提供任何優勢。
(選擇性) 若要限制每個測試回合和個別測試的時間,請選擇 [測試逾時]。
若要在超過時間限制時中止測試回合,請選取 [如果總時間超過以下值,即中止測試回合],然後輸入此限制的值。
若要讓個別測試在超過時間限制時失敗,請選取 [如果個別測試執行時間超過以下值,便將該測試標記為失敗],然後輸入此限制值。
略過 [單元測試]。 負載測試不會使用這些設定。
略過 [Web 測試]。 負載測試不會使用這些設定。
若要儲存測試設定,請選擇 [另存新檔]。 在 [物件名稱] 中,輸入您想要檔案的名稱。
注意事項 如果您必須變更測試設定,請選擇 [測試],然後選擇 [編輯測試設定] 並指向您建立的測試設定。如需詳細資訊,請參閱 如何:編輯測試計劃的現有測試設定。
若要從您的方案移除測試設定
在 [方案總管] 中的 [方案項目] 下,以滑鼠右鍵按一下您所要移除的測試設定,再選擇 [移除]。
這個測試設定檔案就會從您的方案移除。 這項變更會反映至 [測試] 功能表上的 [選取現用測試設定] 和 [編輯測試設定] 選項的選擇清單。
請參閱
工作
[已停用] 如何:使用測試設定中指定的測試控制器和測試代理程式執行負載測試
概念
其他資源