測試自動化 - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

測試自動化

使用專門的架構和工具進行自動化測試,可以減少人工介入並最大限度地提高品質。自動化效能測試與單元測試和整合測試等自動化測試並無不同。

在不同的階段使用 DevOps 管道進行效能測試。

流程圖顯示五個階段。

測試自動化管道的五個階段為:

  1. 設定 – 使用此階段測試資料產生一節所述的測試資料方法。產生逼真的測試資料對於取得有效的測試結果至關重要。您必須仔細建立涵蓋各種使用案例的多樣化測試資料,並緊密符合即時生產資料。在執行完整規模的效能測試之前,您可能需要執行初始試驗測試,以驗證測試指令碼、環境和監控工具。

  2. 測試工具 – 若要執行效能測試,請選取適當的負載測試工具,例如 JMeter 或 ghz。在模擬真實世界使用者負載方面,考慮最適合您的業務需求。

  3. 測試執行 – 建立測試工具和環境後,在一系列預期的使用者負載和持續時間中執行end-to-end效能測試。在整個測試過程中,請密切監控要測試之系統的運作狀態。這通常是長時間執行的階段。監控自動測試失效的錯誤率,如果有太多錯誤,請停止測試。

    負載測試工具提供資源使用率、回應時間和潛在瓶頸的洞見。

  4. 測試報告 – 收集測試結果以及應用程式和測試組態。自動化應用程式組態、測試組態和結果的收集,有助於記錄效能測試相關資料並將其集中儲存。集中維護效能資料有助於提供良好的洞見,並支援以程式設計方式為您的業務定義成功條件。

  5. 清除 – 完成效能測試執行後,請重設測試環境和資料,以準備後續執行。首先,您可以還原執行期間對測試資料所做的任何變更。您必須將資料庫和其他資料存放區還原為其原始狀態,還原測試期間產生的任何新、更新或刪除的記錄。

您可以重複使用管道重複測試多次,直到結果反映您想要的效能。您也可以使用管道來驗證程式碼變更不會破壞效能。您可以在非上班時間執行程式碼驗證測試,並使用可用於故障診斷的測試和可觀測性資料。

最佳實務包括下列項目:

  • 記錄開始和結束時間,並自動產生用於記錄URLs,這可協助您篩選適當的時段內的可觀測性資料。 監控和追蹤系統。

  • 叫用測試時,在 標頭中注入測試識別符。應用程式開發人員可以使用識別符做為後端的篩選條件,來豐富其記錄、監控和追蹤資料。

  • 將管道限制為一次只能執行一次一次。執行並行測試會產生噪音,在故障診斷期間可能會導致混淆。在專用效能環境中執行測試也很重要。

測試自動化工具

測試工具在任何測試自動化中都扮演重要角色。開放原始碼測試工具的熱門選擇包括下列項目:

  • Apache JMeter 是經驗豐富的、功能強大的工具。多年來,Apache JMeter 變得更加可靠並新增了功能。使用圖形介面,您無需了解程式設計語言即可建立複雜的測試。BlazeMeter 等公司支援 Apache JMeter。

  • K6 是一種免費工具,可提供支援、負載來源託管以及用於組織、執行和分析負載測試的整合式 Web 介面。

  • Vegeta 負載測試遵循不同的概念。您可以定義特定速率,而不是定義並行或向系統施加負載。然後,此工具會建立獨立於系統回應時間的負載。

  • Apache HTTP 伺服器工作台標記工具 - 嘿,ab 是您可以從命令列使用的基本工具,在單一端點上執行指定的負載。如果您具有伺服器來執行這些工具,這是產生負載的最快方法。即使本機筆記型電腦也能執行,儘管它可能不足以產生高負載。

  • ghz 是一種命令列公用程式和 Go 套件,用於負載測試和標竿標記 gRPC 服務。

AWS 提供 AWS 解決方案上的分散式負載測試。解決方案會建立和模擬數千個連線的使用者,以固定的速度產生交易記錄,而不需要佈建伺服器。如需詳細資訊,請參閱 AWS 解決方案程式庫

您可以使用 AWS CodePipeline 來自動化效能測試管道。如需使用 CodePipeline 自動化 API 測試的詳細資訊,請參閱 AWS DevOps 部落格AWS 文件