指定 Visual Studio 測試的測試設定
當您執行測試從 Visual Studio 或 組建服務時,測試架構可以收集資料和診斷追蹤資訊、系統資訊或自動程式碼 UI 測試的視訊錄製。 您可以模擬在測試電腦的潛在的瓶頸,也會減少可用的系統記憶體或模擬慢速網路。
如果您的應用程式在多部電腦上執行,您可以在電腦上執行測試程式碼的每部電腦分別設定這些選項,並選擇。
重要
.testsettings 和 .runsettings
如果您熟悉 Visual Studio 的舊版的測試,您會發現 .testsettings 檔案在單元測試專案不再包含。使用 .runsettings 檔案,較新的測試架構,會在 Visual Studio 2012 中,可以設定。
如果您使用 .testsettings 檔案, MSTest 測試架構將用於執行測試。這個緩慢執行並不允許您從協力廠商測試架構執行測試。
因此:
-
使用預設組態,就可以。
-
若要讓其他檔案是在測試期間,例如測試資料或組態檔中,將檔案加入至專案中並設定 [複製到輸出] 屬性。如果不實用,您可以在測試類別或方法的 DeploymentItemAttribute ,請部署其他檔案或目錄。
-
如果您想要設定測試回合的某些方面 (例如部署目錄或程式碼涵蓋範圍分析,請使用 .runsettings 檔案。
-
使用 .testsettings 檔案設定診斷資料收集和到分散在多個電腦的控制項會測試。
您必須使用 .testsettings 檔案在 Web 效能測試和負載測試並在自動程式碼 UI 測試。
需求
- Visual Studio Ultimate、 Visual Studio Premium或 Visual Studio Test Professional
本主題描述如何定義在 Visual Studio 的測試設定。 如果您在 Microsoft 測試管理員的系統測試,請參閱 使用 Microsoft Test Manager 建立自動化系統測試的測試設定。
我何時應該使用測試設定檔?
當您要:
收集診斷資料找出在應用程式中錯誤。
模擬應用程式在實際執行可能偶爾發生潛在的瓶頸。
執行用戶端、伺服器和您在不同的電腦上執行應用程式的其他部分,以驗證它在分散式環境會如預期般運作。
分散到其他電腦的大量測試。
執行 Web 效能測試和負載測試。 如果您將 Web 效能測試和負載測試 專案加入至方案,它已經包含 .testsettings 檔案。 您可以編輯該檔案。
警告
,如果您使用的測試設定檔,單元測試緩慢執行。建議您不要使用的測試設定檔與單元測試。您可以設定單元測試使用 .runsettings 檔案。若要部署其他檔案,請使用 DeploymentItemAttribute。
但是, Web 效能測試和負載測試永遠使用測試設定檔。
如何?使用測試設定檔?
將測試設定檔加入至方案,然後選取您要使用的值。 您可以加入一個以上的測試設定檔,如果想要快速切換不同設定的設定。
將 .testsettings 檔案加入至方案。
在 Visual Studio 方案的內容功能表上,選擇 [加入], [新的項目。]],然後選取 [測試設定]。
編輯測試設定檔。
選取測試設定中使用:
為單元測試選取測試設定和自動程式碼 UI 測試:
在 [測試] 功能表上,選擇 [測試設定]],則 [選取測試設定檔案]。選取測試設定單元測試和自動程式碼 UI 測試
為 Web 效能測試和負載測試選取測試設定:
開啟 .testsettings 檔案的內容功能表在您要使用和在 [使用中的負載測試和 Web 測試設定] 中選取您的方案。選取測試設定 Web 效能測試和負載測試的
還有哪些我應該知道?
備註將測試設定加入至方案,而不是專案。
以選取的測試設定不同的命令 Web 效能測試和測試的其他型別。 Web 效能測試永遠需要測試設定檔。 單元測試和自動程式碼 UI 測試不需要測試設定檔。
警告 不建議您將測試設定為 Visual Studio 2012 單元測試專案,除非您特別需要提供的設定。 如果您將測試設定,較舊的測試架構用於執行測試,因此,將會遺失新的框架的效能和彈性的優點。
如果您使用測試設定檔和稍後決定不要,您可以選取 [測試設定] 取消它在 [測試] 功能表。
這項建議不適用於 Web 效能測試和負載測試時,一定要有設定檔。
測試設定中選取控制項並 診斷資料配接器。 會收集不同類型資訊的幾種配接器,並設定測試回合的環境。
測試設定中選取 測試 控制器。 如果您想在多部電腦的應用程式,您使用測試控制器。
特定的 測試設定的相容性問題在 Visual Studio 2010 和 Visual Studio 2012 之間。 在 Visual Studio 版本,當您建立測試專案,以 Visual Studio 2012之前,測試設定在您的方案中。 有所包含所有各種測試類型的測試專案中的單一型別。 不過,,當新的單元測試專案或新的自動程式碼 UI 測試中加入專案時,在 Visual Studio 2012中,測試將方案不包含。 這是單元測試架構增強的結果,改善擴充性、彈性、以及效能。 不過,您可以開啟包含測試專案的現有的 Visual Studio 2010 方案,而且 .testsettings 檔案和它會繼續執行。 此外,您可以將 .testsettings 檔案加入至您的 Visual Studio 2012 方案時,如果您需要收集特定測試資料或執行在分散在多部電腦上執行應用程式的測試。
當您將 Web 效能測試和負載測試專案加入方案時,預設 Local.testsettings 檔案建立。 它會被自動加入至 [方案項目] 資料夾底下的方案。 此設定會本機執行您的測試,而不是選取的診斷資料配接器。 您可以加入或編輯 .testsettings 檔案指定診斷資料配接器和測試控制器。
如需其他指引,請 要測試與 Visual Studio 2012 的連續傳遞–第 6 章:測試工具箱參閱。
編輯測試設定
使用 [測試設定] 對話方塊中的網頁,您可以設定測試設定的各種值:
一般
角色
資料和診斷資訊。
部署
安裝和清除指令碼
主機
測試的逾時值
單元測試
Web 測試
測試設定:角色
在角色頁面,您在本機電腦上可以設定測試執行或遠端執行:
[本機執行] 為預設值。 在簽入程式碼後,表示測試和應用程式會在 Visual Studio 電腦上,或者在組建伺服器。 執行 資料和診斷資訊。。
[與遠端集合的本機執行。] 是測試 Web 應用程式或主從系統一般組態。 測試程式碼在本機電腦上執行,不過,您可以在其他電腦上安裝應用程式的元件也會收集測試資料。
使用 [遠端執行] 您不想當地的地方執行應用程式的任何部分。 這是應用程式需要特定平台的一般設定,例如特定瀏覽器或資料庫。 您可以收集測試資料並設定在每部電腦的測試環境。
設定測試控制器和角色遠端資料收集和執行。
遠端執行表示除了本機電腦以外,您安裝在一部或多部電腦的應用程式。 測試設定可以為這些機器指定資料收集和測試環境組態。 每部電腦必須都具有與測試控制器連結的測試代理程式。 測試控制器的測試設定並使用代理程式設定為每部電腦的測試環境和診斷資料配接器。 您可以手動或 安裝測試控制器和代理程式 或是 使用 Microsoft 測試管理員建立實驗室環境。
對於遠端測試,電腦角色是由識別的簡單名稱,例如「SQL Server」, 「Web 伺服器,」和「Desktop Client」名稱。名稱可讓您指定每部電腦的組態。 當您安裝至測試的應用程式時,您可以使用角色名稱挑選應用程式的每個元件的正確的電腦。
從 [控制器] 下拉式清單中,選取將用於執行測試或收集資料的測試代理程式的測試控制器。
若要加入您想要用來執行測試和收集資料的角色,請點選 [加入]。 例如,您可能會將角色名稱 (例如「Desktop Client」或「Web 伺服器」。
選取角色要執行測試,然後選取 [為執行測試的角色的集合]。 通常,這是應用程式用戶端安裝元件的角色。
注意事項 您定義的其他角色將不會執行測試程式碼,,而是只會根據您在 [收集資料和診斷。] 頁面中針對角色所指定的資料和診斷配接器來收集資料。
若要選取可用於角色的測試代理程式,您必須建立該角色的屬性會將這些屬性加入至您的測試代理程式。 如果您在多部電腦上要同時執行測試,您必須指派給多個測試代理程式從設定執行測試的角色的屬性。 若要建立屬性,請選取角色然後選取 工具列上的 [新增] 在屬性清單中。
[代理程式選取規則] 對話方塊隨即顯示。
在 [屬性名稱] 中輸入名稱並在 [屬性值] 中輸入值,然後按一下 [確定]。 盡可能多地加入您需要的屬性。
例如,您可以加入名為 "RAM > 16GB" 且值為 "True" 或 "False" 的屬性,以便篩選具備 16GB 以上記憶體的測試代理程式電腦。 不過,您必須以手動方式選取所要的測試代理程式的屬性值。 屬性值不會自動設定根據電腦的規格。
若要將屬性套用至一個或多個測試代理程式,您可以將屬性指派給您的使用 [管理測試控制器] 對話方塊的測試代理程式。
測試設定:資料和診斷資訊。
在 [測試設定] 對話方塊中,選取 [資料和診斷資訊。] 頁面。 此時,視您如何處置在 角色 頁面上的選項,請使用下列其中一個選項:
在您的本機電腦上的資料和診斷資料。
要包含在您的本機電腦上收集資料和診斷,請根據您的測試需要選取 診斷資料配接器 。 若要設定您包含的診斷資料配接器,請選取特定診斷資料配接器然後選取資料和診斷配接器清單上的 [配置] 索引標籤。
在遠端電腦上的資料和診斷資料使用角色
在 [資料和診斷] 頁面中,您可以選取角色用來收集資料的「診斷資料配接器」(Diagnostic Data Adapter),藉以定義角色的行為。 因此,如果您針對角色啟用了一個或多個資料和診斷配接器,則測試控制器將會選擇可用的測試代理程式電腦,根據您針對角色定義的屬性收集指定之資料和診斷配接器的資料。 若要選取您要為每個角色收集的資料和診斷資料配接器,請選取角色。 針對每個角色,根據各項測試的需求,選取診斷資料配接器。 若要將您為每個角色選取的每個診斷資料配接器,選取資料和診斷配接器清單上的 [配置] 索引標籤。
角色和診斷資料配接器的範例:
例如,您可以建立名為 "Desktop Client" 且 "Uses SQL" 屬性設定為 "True" 的用戶端角色,以及名為 "SQL Server" 且屬性設定為 "RAM > 16GB" 的伺服器角色。 如果您在 [角色] 頁面中點選 [設定為執行測試的角色],藉以指定 "Desktop Client" 將執行測試,則測試控制器將會選取其測試代理程式之 "Uses SQL" 屬性設定為 "True" 的電腦來執行測試。 測試控制器測試控制器也會選取的伺服器電腦包含屬性「只收集資料的 > RAM AMPL gT 是角色和診斷配接器所定義的包含資料的測試代理程式。 「Desktop Client」測試代理程式也可以是也收集電腦執行,但是您必須針對該角色選取資料和診斷配接器,。
注意事項 |
---|
資料表會顯示可用於測試在 Visual Studio 的配接器。如需 Microsoft Test Manager中使用的診斷資料配接器的詳細資訊,請參閱 使用測試設定安裝電腦和收集診斷資訊。 |
適用於自動化測試的診斷資料配接器
診斷資料配接器 |
相關主題 |
---|---|
用於 IntelliTrace 及測試影響的 ASP.NET 用戶端 Proxy:此 Proxy 可讓您針對 IntelliTrace 和測試影響診斷資料配接器,收集從用戶端到 Web 伺服器之 HTTP 呼叫的相關資訊。 |
不需任何設定,即可收集這項資訊。 |
IntelliTrace:您可以設定 IntelliTrace 的診斷資料配接器,以收集特定診斷追蹤資訊來協助找出難以重現的 Bug。 這個配接器會建立包含此資訊的 IntelliTrace 檔 (副檔名為 .iTrace)。 測試失敗時,您可以建立 Bug。 隨測試結果儲存的 IntelliTrace 檔,會自動連結至此 Bug。 IntelliTrace 檔中收集的資料可縮短重現及診斷程式碼錯誤所需的時間,進而提高偵錯的效能。 透過這個 IntelliTrace 檔,您可以在另一台電腦上模擬本機工作階段,以降低無法重現 Bug 的可能性。 如需詳細資訊,請參閱藉由使用 IntelliTrace 檢閱程式碼的記錄加快程式碼偵錯速度。 |
|
ASP.NET 分析工具:您可以建立包含 ASP.NET 程式碼剖析的測試設定,以收集 ASP.NET Web 應用程式的效能資料。
注意事項
這個診斷資料配接器只能與使用需要 Visual Studio Ultimate網站的負載測試。
|
|
程式碼涵蓋範圍(Visual Studio 2010):您可以建立包含程式碼涵蓋範圍資訊的測試設定,以調查測試所涵蓋的程式碼數量。
注意事項
這個[診斷資料配接器]僅適用於 Visual Studio 測試設定。其不會使用在 Microsoft Test Manager的測試設定。
注意事項
這是只和 Visual Studio 2010 的相容性。
如需程式碼涵蓋範圍的詳細資訊,請參閱 使用程式碼涵蓋範圍來決定所測試的程式碼數量。 |
|
事件記錄:您可以設定測試設定來包含事件記錄收集 (該事件記錄收集是包含在測試結果中)。 |
|
網路模擬:您可以使用測試設定指定要對測試加上人為的網路負載。 網路模擬可藉由模擬特定網路連線速度 (如撥號連線),對電腦的對外通訊產生影響。
注意事項
這個[診斷資料配接器]僅適用於 Visual Studio 測試設定。其不會使用在 Microsoft Test Manager的測試設定。
注意事項
網路模擬無法用以增加網路連線速度。
|
|
系統資訊:測試設定可設定為包含測試執行所在電腦的相關系統資訊。 透過測試設定,系統資訊會指定於測試結果中。 |
不需任何設定,即可收集這項資訊。 |
測試影響:您可以收集在測試案例執行時,應用程式程式碼使用了哪些方法的相關資訊。 您可以將這項資訊對照開發人員對應用程式程式碼所做的變更,判斷有哪些測試受到這些開發變更的影響。 |
|
視訊錄製器:您可以在執行自動化測試時,建立桌面工作階段的視訊錄製。 此視訊錄製在檢視自動程式碼 UI 測試的使用者動作時可能很有用。 視訊錄製可協助其他小組成員找出難以重現的應用程式問題。 |
測試設定:部署
在 [測試設定] 對話方塊中,選取 [部署] 頁面。
若要在每次執行測試時建立部署的個別目錄,請選取 [啟用部署]。
注意事項 若您選擇執行此動作,您可以在執行測試時繼續建置應用程式。
若要將檔案加入至您執行測試所需的目錄,請按一下 [加入檔案],然後選取您要加入的檔案。
若要將目錄加入至您執行測試所需的目錄,請按一下 [加入目錄],然後選取您要加入的目錄。
注意事項 如需如何使用屬性 (Property) 和 DeploymentItem 屬性 (Attribute) 為個別測試部署檔案和目錄的詳細資訊,請參閱 如何:部署測試的檔案。
測試設定:安裝和清除指令碼
在測試之前與之後,若要執行指令碼,請選取 [測試設定] 對話方塊的 [安裝和清除指令碼] 頁面。
在 [安裝指令碼] 中輸入指令碼檔的位置,或按一下省略符號 (...) 尋找安裝指令碼。
在 [清除指令碼] 中輸入指令碼檔的位置,或按一下省略符號 (...) 尋找清除指令碼。
測試設定:主應用程式
使用不同的主機,要執行的測試,請選取 [測試設定] 對話方塊的 [主應用程式] 頁面。
若要在與 ASP.NET 網站相同的處理序中執行單元測試,請選取 [主機類型] 中的 [ASP.NET]。
如果您想要讓測試以 32 位元或 64 位元處理序,請使用執行測試在 32 位元或 64 位元處理序選取。
為了達到最大彈性,您應該使用 [任何 CPU] 組態來編譯測試專案。 然後,您就可以在 32 和 64 位元代理程式上執行。 使用 [64 位元] 組態來編譯測試專案並沒有任何優點。
測試設定:測試的逾時值
(選擇性) 限制時間每個測試回合和個別測試的執行,請選取 [測試設定] 對話方塊的 [測試的逾時值。] 頁面。
若要在超過時間限制時中止測試回合,請選取 [如果總時間超過以下值,即中止測試回合],然後輸入此限制的值。
若要讓個別測試在超過時間限制時失敗,請選取 [如果個別測試執行時間超過以下值,便將該測試標記為失敗],然後輸入此限制的值。
測試設定:單元測試
(選擇性),則您必須指定您的單元測試需要載入組件的位置,請選取 [單元測試]。
針對 [要載入之組件的根資料夾],按一下 [瀏覽] 找出資料夾並填入文字方塊。
指定的根資料夾可以包含環境變數及表示將做為之 AppDomain 的 ApplicationBase 使用的目錄執行測試。 這個目錄中的所有組件都可由單元測試載入。 在實際執行環境中,建議您最好將此值設定為待測程式碼組件的安裝目錄。 在開發環境中,最好是將您的測試組件中的程式碼所建立的目錄。 這樣可確保您對產品二進位檔所設有的任何參考都可以在測試的探索和執行期間載入並解析,而不需要在測試進行時複製產品二進位檔。
如果沒有設定,這裡之 AppDomain 的 ApplicationBase 測試執行設定為包含測試的目錄。
選取或清除 [為測試目錄中的組件使用載入內容] 的核取方塊。
根據預設,大部分組件都會載入至正確的載入內容」。通常,您應該保留 [為組件使用載入內容在測試目錄 ] 的選擇。 不過,您可能會想要關閉這項功能,某些狀況:
如果您的測試目錄具有大量組件、您已經在 [要載入之組件的根資料夾] 底下指定位置,而且測試不需要載入至載入內容,當您沒有使用載入內容來載入這些測試組件時,可能會看見效能提升。
如果您的測試需要載入至載入內容以外的內容 (不常見)。
如需詳細資訊,請參閱組件載入的最佳作法。
在 [測試執行時要使用的資料夾] 底下,按一下 [加入資料夾]。
[瀏覽資料夾] 對話方塊隨即顯示。
找出要使用的資料夾,然後按一下 [確定]。
[測試執行時要使用的資料夾] 設定是您可能會最常使用的設定。 您可以指定在測試探索和執行期間應該從中解析組件的多個資料夾路徑。 在這個區段中指定的每個路徑都可以包含環境變數。 除了此處所指定的每個路徑以外,還有兩個與它相關聯的選項:
第一個選項:選取 [使用載入內容] 核取方塊,以便指定解析目錄中的組件時,目錄應該使用載入內容 (如果不需要載入內容,即可讓測試正確執行,您可以透過清除此核取方塊來看見效能改善)。
第二個選項:選取 [包括子資料夾] 核取方塊,以便指定解析目錄中的組件時要包括任何子資料夾。
在 [探索測試時要使用的其他資料夾] 底下,按一下 [加入資料夾]。
[瀏覽資料夾] 對話方塊隨即顯示。
找出要使用的資料夾,然後按一下 [確定]。
在遠端執行測試在 Team Build 底下或正在從 Microsoft 測試管理員時,的自動化回合 [使用的其他資料夾,以便尋找測試時] 選項將會很有用。 此處提供的路徑將用於組件解析,但只在測試探索期間使用。 這些路徑可以包含環境變數。 如果測試已排程為從組建置放遠端執行,而且並非測試組件的所有相依性都位於相同的目錄中,這些路徑可用來確保 MSTest 或測試控制器可以找到足夠相依組件來探索測試並將測試排程為在遠端電腦上執行。
從 Microsoft Test Manager排程的回合,可用來廣泛地參考組建置放位置的一個額外的語彙基元 %BuildDrop%。 這樣便不需要在每次測試新組建時建立或更新測試設定。 可惜的是這個語彙基元無法直接透過 Team Build 支援。 不過,如果組建置放位置設定於組建定義中名為 BuildDrop 的環境變數名稱 BuildDrop 設定,它將具有相同的結果。
如需詳細資訊,請參閱使用單元測試驗證程式碼。
測試設定:Web 測試
(選擇性) 設定控制項的屬性 Web 效能測試 如何在測試設定中執行,請選取 [Web 測試]。
選取 [固定執行計數] 或 [每一資料來源資料列一次執行]。
使用 [瀏覽器類型] 下拉式清單來選取要搭配 Web 效能測試使用的 Web 瀏覽器。 例如 Internet Explorer 9.0。
注意事項 Web 效能測試要求 Visual Studio Ultimate。
(選擇性) 啟用的 SELECT [模擬考慮時間] 模擬人類暫停行為的。
(選擇性的)選擇[將要求 URL 的目錄當做 Cookie 的預設路徑使用]。
如果 [使用要求 URL 的目錄為預設路徑為 Cookie。] 已停用,則您的 Web 測試會遵循下列行為:
如果要求,例如 www.abc.com/myapp/abc.aspx,在其回應的 Cookie,且沒有指定路徑,則測試會使用整個要求 URL 做為路徑為該 Cookie。 這表示 Cookie 只傳送具有 URL www.abc.com/myapp/abc.aspx 的後續要求。
如果[使用要求 URL 的目錄為預設路徑為 Cookie。 ] 已啟用,則您的 Web 測試會遵循下列行為:
如果要求,例如 www.abc.com/myapp/abc.aspx,將其回應的 Cookie,且未指定路徑,則測試會使用要求 URL 的目錄做為路徑的 Cookie。 這表示 Cookie 傳送具有子路徑 www.abc.com/myapp 的所有要求 (例如, www.abc.com/myapp/xyz.aspx)。
在 RFC 一致的指定這個行為與 1 版 Cookie 2109。 如需詳細資訊, Comments:2109請參閱
請參閱
工作
HOW TO:從 Microsoft Visual Studio 新增測試設定檔案
HOW TO:從 Microsoft Visual Studio 編輯測試設定檔案
HOW TO:從 Microsoft Visual Studio 選取現用測試設定
概念
其他資源
要測試與 Visual Studio 2012 的連續傳遞–第 6 章:測試工具箱