使用 Amazon Nova Act 加速軟件交付的代理式 QA 自動化 – 第 2 部分
本文擴展了之前的基礎,展示了 QA Studio 如何通過測試套件組織並並行執行批量回歸測試,以及命令行界面(CLI)如何將代理式測試集成到自動化 CI/CD 流水線中。
在之前的文章中,我們介紹了 QA Studio,這是一個基於 Amazon Nova Act 構建的代理式 QA 自動化參考解決方案,展示瞭如何用自然語言定義單個測試用例、按需運行並通過 AI 驅動的視覺導航查看執行軌跡。本文進一步擴展,重點講解 QA Studio 如何通過測試套件實現批量回歸測試以及如何通過命令行界面(CLI)將代理式測試集成到 CI/CD 流水線中。
測試套件用於組織迴歸測試
在 QA Studio 中,您可以將驗證特定用户旅程的單個測試用例分組為測試套件,這些套件一起運行並支持跨功能區域的迴歸測試。套件以批次方式執行並支持並行處理:當套件運行時,每個測試用例在其自己的 Amazon ECS on AWS Fargate 工作任務上獨立執行。例如,一個包含 20 個測試的套件可以併發執行,而不是串行執行,從而顯著縮短總執行時間。
您可以按功能領域、發佈階段或測試目的組織套件,例如用於每次部署驗證關鍵路徑的冒煙測試、覆蓋整個應用的迴歸套件,以及發佈前驗證跨功能工作流的集成測試。
創建和管理測試套件
在 QA Studio Web 界面中,通過提供名稱、描述和可選標籤來創建測試套件,然後添加現有測試用例。每個測試用例保留其自己的配置,包括起始 URL、變量、密鑰和標頭。套件執行時,這些配置獨立應用於每個測試用例。
套件執行和結果
套件執行時,QA Studio 為每個測試用例創建獨立的執行記錄並分發到工作隊列。套件執行頁面提供聚合視圖,顯示成功、失敗和仍在運行的測試數量。您可以深入查看單個執行結果,以檢查失敗測試的軌跡日誌、截圖和會話記錄。每個套件維護自己的執行歷史,提供迴歸穩定性的縱向視圖。
CI/CD 集成與 QA Studio CLI
QA Studio 的 Web 界面適用於交互式測試創建和按需執行,但 CI/CD 流水線需要不同的接口:命令行執行、結構化的輸出、非交互式身份驗證以及可與流水線編排器集成的退出代碼。
QA Studio CLI (qa-studio) 提供此接口。它連接到與 Web 應用程序相同的 API 後端,但不同之處在於,它會將測試發送到執行 CLI 的機器(如 CI/CD runner)上的 Amazon Nova Act,而不是發送到 Fargate 工作任務。結果會報告回 QA Studio 部署。
安裝和身份驗證
QA Studio CLI 是項目 GitHub 倉庫的一部分。克隆倉庫後,作為 Python 包安裝 CLI 及其可選的 runner 依賴。對於 CI/CD 環境,CLI 支持 OAuth 2.0 客户端憑證身份驗證。在 QA Studio Web 界面創建具有所需作用域的 OAuth 客户端,並將憑證配置為流水線環境變量。CLI 自動請求和緩存訪問令牌,在過期時刷新,無需交互式瀏覽器登錄。
運行測試和套件
qa-studio run 命令執行單個測試用例或整個測試套件。例如:qa-studio run --suite-id suite-456。CI/CD 流水線通常需要對不同環境運行相同測試,CLI 支持 --base-url 標誌替換起始 URL 的域名,以及 --var 標誌覆蓋模板變量。--region 和 --model-id 用於控制 AWS 區域和模型版本。
標頭和密鑰
測試用例可以定義自定義 HTTP 標頭,在測試執行期間隨每個請求發送。密鑰(如密碼、API 密鑰)存儲在 AWS Secrets Manager 中,加密存儲,並且不會寫入執行日誌或歷史記錄。CI/CD 流水線可以執行需要憑據的測試而不暴露這些憑據。
退出代碼和流水線集成
CLI 使用退出代碼映射到流水線的成功和失敗狀態:0 表示全部通過,1 表示一個或多個測試失敗,2 表示 CLI 錯誤(如身份驗證、配置、API)。這種三態模型允許流水線區分測試失敗和基礎設施問題。--format 標誌控制輸出格式,默認為 json 用於程序消費,human 提供可讀摘要。
CI/CD 平台示例
文章提供了 GitHub Actions、GitLab CI 和 Jenkins 的完整示例,展示瞭如何配置 OAuth 憑據、AWS 憑據、運行測試以及上傳 artifact。例如,在 GitHub Actions 中,使用 if: always() 確保即使測試失敗也保存 artifact;GitLab CI 支持調度觸發;Jenkins 使用 withCredentials 注入密鑰。
結論
測試套件和 CI/CD 集成將 QA Studio 從交互式測試創建工具擴展為持續質量保證平台。測試套件組織迴歸覆蓋範圍並支持並行執行。CLI 將代理式測試引入統一執行歷史,無論測試以何種方式啓動。