從現有的動作記錄產生自動程式碼 UI 測試
手動系統測試可以自動化。 您可以從手動測試回合的錄製產生程式碼測試 (錄製是使用 Microsoft Test Manager 建立),也可以將測試案例連結至現有的程式碼測試。 自動化測試可以做為 Team Build 的一部分執行,而且結果會加入至測試案例的報告,就像手動測試回合一樣。
需求
- Visual Studio Ultimate 或 Visual Studio Premium
為什麼要自動化系統測試?
您會想要定期重複系統測試,確保最新的開發工作未引入 Bug。 但是,當應用程式隨著專案發展而越來越大時,您就必須執行越來越多測試。 為避免手動測試變成難以想像的負擔,最好將多項測試自動化。
一般而言,手動測試用於測試新功能較有效率,而自動化測試則適合用於驗證已經過手動測試的功能。
有兩種方式可將手動測試案例自動化:
從手動測試回合的錄製內容產生自動程式碼 UI 測試。您可以接著進行編輯。 例如,您可以使用多個測試資料集執行測試。
這個方法的優點:
可以快速產生測試。
測試程式碼可精確呈現手動動作。
測試包括使用者介面及其包含的所有邏輯。
即使與撰寫程式碼相較之下,您比較熟悉測試,仍然可以建立和編輯測試。
缺點:
- 如果使用者介面的配置大幅改變,測試可能會變成無效。 您可能必須再次建立測試,或是編輯呈現動作的程式碼。
將測試案例連結至現有的測試程式碼。這可以是測試總管能夠執行的任何方法。
優點:
如果已隨應用程式程式碼開發適當的測試方法,這會是最快速的方式。
因為測試通常會透過商務層驅動應用程式,所以使用者介面中的變更並不會影響測試。
缺點:
- 測試程式碼不一定能正確模擬手冊測試案例。 您必須確定測試程式碼是測試案例設計用意的適當實作。
您也可以透過錄製測試回合的方式將部分測試自動化。 在後續情況中,您可以播放錄製的動作。 但是,您必須在現場才可以確認每個步驟的結果。 請參閱 記錄和播放手動測試。
如何自動化手動系統測試?
在 Visual Studio 2013 中,您可以使用 Visual Studio Ultimate 或 Visual Studio Premium 從動作記錄建立自動程式碼 UI 測試。 建立自動程式碼 UI 測試會要求您將自動程式碼 UI 測試專案加入至方案,之後您就可以輕鬆加入從與工作項目相關聯的動作記錄建立的自動程式碼 UI 測試。 建立這些自動程式碼 UI 測試的步驟將在本主題稍後的<從動作記錄產生自動程式碼 UI 測試>中描述。
注意事項 |
---|
您也可以直接從 Visual Studio Ultimate 或 Visual Studio Premium 透過錄製開發中應用程式的方式建立動作記錄。請參閱 如何:在開發期間透過錄製應用程式產生自動程式碼 UI 測試。 |
從動作記錄產生自動程式碼 UI 測試
使用 Microsoft Test Manager:執行要自動化的測試案例。 啟動測試時,務必選取 [建立動作記錄]。 逐步進行測試。 如果您必須在測試過程中處理其他事務,可以使用 [暫停] 按鈕暫停錄製。 即使發生錯誤也不必擔心,只要重複部分程序即可。 您可以在稍後刪去不正確的動作。 完成測試回合時,選擇 [儲存後關閉] 儲存動作記錄。
如需如何建立動作記錄的詳細資訊,請參閱記錄和播放手動測試。
使用 Visual Studio:在 [方案總管] 中,以滑鼠右鍵按一下自動程式碼 UI 測試專案,指向 [加入],然後選擇 [自動程式碼 UI 測試]。 在 [產生自動程式碼 UI 測試的程式碼] 對話方塊顯示後,選擇 [使用現有的動作記錄]。
- 看不見加入自動程式碼 UI 測試的選項。
您可能使用不支援自動程式碼 UI 測試的 Microsoft Visual Studio 2012 版本。 若要建立自動程式碼 UI 測試,您必須使用 Visual Studio Ultimate 或 Visual Studio Premium。
使用 [工作項目選擇器] 對話方塊,尋找具有附加動作記錄的工作項目。
當自動程式碼 UI 測試產生時,會從動作記錄針對測試案例中的每個步驟建立方法。 例如,下列程式碼會根據之前選取的動作記錄中的步驟呼叫三個方法:
[TestMethod]
public void CodedUITestMethod1()
{
this.UIMap.Navigatetocart();
this.UIMap.Changequantity();
this.UIMap.Verifytotalchangescorrectly();
}
此外,UI 控制項會加入至 UI 對應,而動作會加入至您的自動程式碼 UI 測試。
What else should I know?
備註- 如果您目前未連接到 Team Foundation Server 上的 Team 專案,當您嘗試從動作記錄建立自動程式碼 UI 測試時,[連接到 Team 專案] 對話方塊便會出現。 您必須連接到 Team 專案,才能檢視包含動作記錄的工作項目。 請參閱從 Team Explorer 連接到 Team 專案。
秘訣
如果您的方案中沒有自動程式碼 UI 測試專案,可以從 [方案總管] 捷徑功能表選擇 [加入新的專案] 加入專案。 如需詳細資訊,請參閱建立方案與專案。
如有需要,您可以修改動作記錄中的程式碼,或是使用 [自動程式碼 UI 測試編輯器]。 這樣您就能夠執行一些操作,像是在動作之間加入延遲,以及分割方法以便進一步模組化您的測試。 如需詳細資訊,請參閱使用自動程式碼 UI 測試執行系統測試和使用自動程式碼 UI 測試編輯器,編輯自動程式碼 UI 測試。
如需其他指引,請參閱使用 Visual Studio 2012 測試持續傳遞 – 第 5 章:自動化系統測試。
將測試案例與現有的測試程式碼產生關聯
如果您的測試程式碼能夠實現測試案例的目的,則可將測試案例與該測試方法產生關聯。 通常,測試可能是端對端功能測試。 不一定要是自動程式碼 UI 測試。
警告
如果您要將已有手動測試步驟的測試案例自動化,請確定程式碼執行的測試相當於手動步驟。若手動測試會失敗,則程式碼在任何情況下都應該會失敗。
您只能使用 Visual Studio 將自動化 Visual Studio 系統測試與手動測試案例產生關聯。 您無法使用 Microsoft Test Manager 建立此關聯。 如果您有想要使用的現有測試案例,您必須先使用 Visual Studio 開啟該測試案例,如下圖所示。
然後您才能將測試方法與測試案例產生關聯,如下圖所示。
如需在 Visual Studio 中將測試案例與自動化系統測試產生關聯的詳細資訊,請參閱 在 Microsoft Test Manager 中自動化測試案例。
後續步驟
建立執行測試的測試設定和環境:將手動測試自動化之後,您可以定義測試要收集的其他診斷資料,並指定執行測試的環境。
使用 Microsoft Test Manager 執行自動化測試:從 Microsoft Test Manager 執行您的自動化手動測試。
設定測試計劃以使用您的 Team Build:使用 Microsoft Test Manager 指定特定組建做為自動化手動測試執行的依據。
檢視和更新測試結果:監視您的自動化手動測試,以驗證應用程式的完整性。