從測試計劃執行自動化測試

Azure DevOps Services |Azure DevOps Server 2022 - Azure DevOps Server 2019 |TFS 2018

自動執行測試計劃中的測試案例,並直接從Azure Test Plans執行。 自動化測試提供下列優點:

  • 對於可能不熟悉在組建或發行工作流程中執行測試的測試人員而言,使用者易記的程式。
  • 視需要執行所選測試,而不是在符合篩選準則的所有測試的組建或發行工作流程中排定測試的彈性。
  • 重新執行一些因為測試基礎結構問題而失敗的測試,或您有包含失敗測試修正的新組建。

Prerequisites

若要深入瞭解,請參閱 手動測試存取權和許可權

此外,您將需要:

設定您的環境

  1. [Test Plans] 頁面中,選擇您的測試計劃、開啟快捷方式功能表,然後選擇 [測試計劃設定]。

    選擇測試計劃設定

  2. 在 [測試計劃設定] 對話方塊中,選取產生包含測試二進位檔之組建的組建管線。 然後,您可以選取要測試的特定組建編號,或讓系統在執行測試時自動使用最新的組建。

    選取組建和組建編號

  3. 您需要從 [從 Test Manager 執行自動化測試] 範本建立的發行管線,以從測試計劃執行測試,Azure Test Plans 。 如果您有使用此範本建立的現有發行管線,請加以選取,然後在將執行測試的發行管線中選取現有的階段。 否則,請選擇對話方塊中的 [ 建立新 ] 連結,以建立包含已新增 Visual Studio 測試 工作之單一階段的新發行管線。

    選取發行管線或建立新的發行管線

    如何?從組建或發行管線將參數傳遞至我的測試程式碼?

  4. 視需要將有意義的名稱指派給發行管線和階段。

  5. 您需要在代理程式電腦上安裝 Visual Studio 測試平臺。 如果已在代理程式電腦上安裝 Visual Studio,您可以略過此步驟。 如果沒有,您必須將 Visual Studio Test Platform Installer 工作 新增至管線定義。

  6. Visual Studio 測試工作 新增至發行管線,並將其設定如下:

    • 確認已選取第 2 版的 Visual Studio 測試工作。 版本號碼會顯示在工作設定面板左上方的下拉式清單中。

      檢查工作版本號碼設定

    • 確認 [ 使用 選取測試 ] 已設定為 [測試回合]。 此設定的意義為何?

      檢查測試選取方法設定

    • 針對 [測試平臺版本 ] 設定,選取 [工具安裝程式已安裝]。

      設定安裝程式選項

    • 如果您有在 實體瀏覽器粗用戶端上執行的 UI 測試,請確定代理程式設定為以啟用自動登入的互動式進程執行。 設定代理程式以互動方式執行必須先完成,才能將組建或發行排入佇列, (設定 [測試混合包含 UI 測試 ] 核取方塊並不會自動將代理程式設定為互動式模式,它只會用來提醒您適當地設定代理程式,以避免) 失敗。

    • 如果您是在 無周邊瀏覽器上執行 UI 測試,則不需要互動式進程設定。

    • 選取測試平臺的布建方式,以及安裝于測試電腦上的 Visual Studio 版本或測試平臺的位置

    • 如果您的測試需要 輸入參數 ,例如應用程式 URL 或資料庫連接字串,請從組建成品中選取相關的設定檔。 如果成品中未包含此檔案,您可以使用組建管線中的 [發佈組建成品 ] 工作,在置放位置發佈設定檔。 在如下所示的範例中,應用程式 URL 會在回合設定檔中公開,並覆寫以使用 覆寫測試回合參數 設定將其設定為預備 URL。

      指定 Visual Studio 測試工作的屬性

      如需 Visual Studio 測試工作之選項設定的相關資訊,請參閱 Visual Studio 測試工作

  7. 選擇 [代理程式] 作業 專案,並確認部署佇列已設定為包含您要執行測試的電腦。 如果您的測試需要代理程式組件區中的特殊電腦,您可以新增將在執行時間選取這些需求。

    指定 Agent 作業的屬性

    您可以將 [平行 處理原則] 設定為 [ 多個執行 ],並指定代理程式數目,藉此將測試時間分散到多個代理程式,藉此將測試時間降到最低。

    注意

    如果您要在實體瀏覽器上執行 CodeUI 或 Selenium 之類的 UI 測試,例如 IE、Firefox 或 Chrome,機器上的代理程式必須以互動式模式執行,而不是以服務的形式執行。 其他詳細資訊

  8. 在發行管線的 [ 管線 ] 頁面中,確認包含測試二進位檔的組建管線已連結至此發行管線作為成品來源。

    驗證連結的組建成品

  9. 儲存發行管線。

  10. 如果您在此範例的步驟 2 的 [測試計劃設定] 對話方塊中選擇 [ 新建 ],請返回包含測試計劃設定的瀏覽器頁面。 在 [測試計劃設定] 對話方塊中,選取您剛才儲存的發行管線和階段。

    選取發行管線和階段

執行自動化測試

  1. Test Plans入口網站中,開啟測試計劃,然後選取包含自動化測試的測試套件。

  2. 選取您要執行的測試 () ,開啟 [ 執行 ] 功能表,然後選擇 [ 執行測試]。

    選取 [執行測試]

    這些測試的測試二進位檔必須可在組建管線所產生的組建成品中使用。

  3. 選擇 [確定 ] 以開始測試程式。 系統會檢查在) 忽略任何手動測試 (只選取自動化測試、驗證階段以確保 Visual Studio 測試工作存在,並具有有效的設定、檢查使用者為所選發行管線建立發行的許可權、建立測試回合,然後觸發發行至所選階段的建立。

    啟動測試執行

  4. 選擇 [檢視測試回合 ] 以檢視測試進度並分析失敗的測試。 測試結果具有偵錯失敗測試的相關資訊,例如錯誤訊息、堆疊追蹤、主控台記錄和附件。

  5. 測試執行完成之後,Azure Test Plans的 [執行]頁面會顯示測試結果。 [ 執行摘要 ] 頁面會顯示執行的概觀。

    檢視測試回合摘要

    發行 有用來執行 測試的連結,可讓您輕鬆地找到執行測試的版本,如果您稍後需要返回並分析結果。 如果您想要開啟版本以檢視發行記錄,也請使用此連結。

    注意 :自動化測試結果不支援手動附加檔案。

    如果測試未執行,我應該查看的一般錯誤案例或問題為何?

  6. [ 測試結果] 頁面會列出測試回合中每個測試的結果。 選取測試以查看失敗測試的偵錯資訊,例如錯誤訊息、堆疊追蹤、主控台記錄和附件。

    檢視測試結果詳細資料

  7. 開啟[Test Plans] 頁面,然後選取測試計劃,以查看測試是否在測試執行完成後更新測試的狀態。 選取測試以查看最近的測試結果。

    檢視測試計劃

常見問題集

問:我需要哪些許可權才能從Azure Test Plans執行自動化測試?

您必須是專案參與者,或具有下列許可權:

  • 建立版本
  • 管理版本
  • 編輯發行階段
  • 管理部署

如需詳細資訊,請參閱 設定發行管線 的許可權和 發行許可權

問:我可以覆寫測試回合特定實例的測試計劃層級上設定的組建或階段嗎?

答: 是,您可以使用 [搭配 選項執行] 命令來執行此動作。 開啟左側資料行中測試套件的快捷方式功能表,然後選擇 [ 以選項執行]。

設定 [使用選項執行] 對話方塊

在 [使用選項執行] 對話方塊中輸入下列值,然後選擇 [ 確定]:

  • 測試類型和執行器使用發行階段選取 [自動化測試]。

  • 組建:選取具有測試二進位檔的組建。 測試結果將會與此組建相關聯。

  • 發行管線:從可取用所選組建成品的發行管線清單中選取管線。

  • 發行階段:選取發行管線中設定的階段名稱。

已設定 [使用選項執行] 對話方塊。

問:為何使用發行階段來執行測試?

答: Azure Pipelines 提供吸引人的協調流程工作流程,以取得測試二進位檔作為成品並執行測試。 此工作流程共用排程測試工作流程中使用的相同概念,這表示使用者在排程工作流程中執行測試會發現容易調整;例如,藉由複製現有的排程測試發行管線。

另一個主要優點是工作目錄中有一組豐富的工作,可讓一系列活動在執行測試之前和之後執行。 範例包括準備和清除測試資料、建立和清除組態檔等等。

問:在 Visual Studio 測試工作第 2 版中選取 [測試回合] 如何運作?

答: 測試管理子系統會使用測試回合物件來傳遞選取要執行的測試清單。 測試工作會查閱測試回合識別碼、擷取測試執行資訊,例如容器和測試方法名稱、執行測試、更新測試結果,以及設定與測試回合中測試結果相關聯的測試點。 從稽核的觀點來看,Visual Studio 工作會從歷程記錄版本和測試回合識別碼提供追蹤,以及針對隨選測試執行提交的測試。

問:代理程式應該以互動式模式或服務的形式執行?

答: 如果您正在執行自動程式 化 UISelenium 測試等 UI 測試,測試電腦上的代理程式必須在啟用自動登入的互動式模式中執行,而不是以服務方式執行,才能允許代理程式啟動網頁瀏覽器。 如果您使用無周邊瀏覽器,例如 PhantomJS,代理程式就可以以服務或互動式模式執行。 請參閱建置和發行代理程式在 Windows 上部署代理程式和代理程式組件區

問:哪裡可以找到有關如何執行 Selenium 測試的詳細檔?

答: 請參閱 開始使用 Selenium 測試

問:如果我為相同的測試選取多個設定,會發生什麼事?

答: 目前,隨選工作流程無法感知設定。

問:如果我需要從不同的組建下載產品二進位檔並測試二進位檔,該怎麼辦? 或者,如果我需要從 Jenkins 之類的來源取得成品嗎?

答: 目前的功能已針對使用 Azure Pipelines 工作流程隨選測試的單一小組組建進行優化。 我們會根據使用者意見反應評估多成品版本的支援,包括非 Azure Pipelines 成品,例如 Jenkins。

問:我已經有排程的測試發行管線。 我可以重複使用相同的管線以視需要執行測試,還是應該建立如上所示的新管線?

答:建議您針對隨選自動化測試使用個別發行管線和階段,從Azure Test Plans,因為:

  • 您可能不想每次想要執行一些隨選測試時部署應用程式。 排程測試階段通常會設定為部署產品,然後執行測試。

  • 每個隨選執行都會觸發新版本。 如果您每天有許多測試人員執行一些隨選測試回合,排程的測試發行管線可能會隨著這些回合的版本多載,因此很難找到針對包含排程測試和部署到生產環境的管線觸發的版本。

  • 您可能想要使用測試回合識別碼做為輸入來設定 Visual Studio 測試工作,以便追蹤觸發發行的專案。 請參閱 Visual Studio 測試工作中如何針對隨選執行選取 [測試回合 () ?]。

問:是否可以觸發這些執行,並在 Microsoft Test Manager 中檢視結果?

答:否。 Microsoft Test Manager 不支援針對 Team Foundation 組建執行自動化測試。 它只適用于 Azure Pipelines 和 TFS 的 Web 型介面。 所有新的手動和自動化測試產品開發投資都會在 Web 介面中。 Microsoft Test Manager 不會再進行進一步的開發。 請參閱 Microsoft Test Manager 使用方式的指引

問:我的小組中有多個測試人員。 他們是否可以使用相同的發行管線,從不同的測試套件或測試計劃平行執行測試?

答: 他們可以使用相同的發行管線,在下列狀況下平行觸發多個測試執行:

  • 與階段相關聯的代理程式組件區有足夠的代理程式來滿足平行要求。 如果沒有足夠的代理程式可用,仍然可以觸發執行,但發行會排入佇列以進行處理,直到代理程式可用為止。

  • 您有足夠的作業可啟用平行作業。 如需詳細資訊,請參閱 Azure Pipelines 中的平行作業TFS 中的平行作業

  • 測試人員不會平行執行相同的測試。 這樣做可能會導致根據執行順序覆寫結果。

若要讓多個不同的測試回合以平行方式執行,請在 多個發行等候部署時 設定 Azure Pipelines 階段觸發程式選項,如下所示:

  • 如果您的應用程式支援從不同來源平行執行的測試,請將此選項設定為 [允許同時部署多個版本]。

  • 如果您的應用程式不支援從不同來源平行執行的測試,請將此選項設定為 一次只允許一個作用中的部署

問:如何?從組建或發行管線將參數傳遞至測試程式碼?

答:使用 runsettings 檔案將值當做參數傳遞至測試程式碼。 例如,在包含數個階段的版本中,您可以將適當的應用程式 URL 傳遞給每個階段中的每個測試工作。 Runsettings 檔案和比對參數必須在 Visual Studio 測試工作中指定。

傳遞參數以從組建或發行管線測試程式碼

問:如果測試未執行,我應該查看的一般錯誤案例或問題為何?

答: 檢查並解決問題,如下所示:

  • 在選取組建之後,不會顯示要執行測試的發行管線和階段。

    • 請確定產生組建的組建管線已連結為發行管線之 [ 成品 ] 索引標籤中的主要成品。

  • 我收到錯誤,指出我沒有足夠的許可權可以觸發發行。

    • 在發行管線的 [安全性] 功能表中,設定 [建立發行管理使用者的部署許可權]。 請參閱 發行許可權

  • 我收到找不到自動化測試的錯誤。

    • 檢查所選測試的自動化狀態。 請在測試案例的工作專案中執行此動作,或使用Azure Test Plans中的 [資料行] 選項連結,將[自動化狀態] 欄新增至測試清單。 如需自動化手動測試的相關資訊 ,請參閱必要條件一節

  • 我的測試未執行,而且我懷疑發行管線不正確。

    • 使用 [ 執行摘要 ] 頁面中的連結來存取用來執行測試的發行實例,並檢視發行記錄。

  • 我的測試會進入錯誤狀態,或即使在發行至階段之後仍維持「進行中」狀態。

    • 檢查您選取的發行階段是否已選取正確的工作和版本。 您必須使用第 2 版或更新版本的 Visual Studio 測試 工作。 不支援工作第 1 版和 執行功能測試 工作。

另請參閱