AI 驅動的測試工具的出現正在重塑開發者對網路應用質量保證的方法。Magnitude,一個利用視覺 AI 代理的開源測試框架,最近在開發者中引發了關於確定性測試和 AI 適應性平衡的重要討論。
雙模型架構:規劃與執行
Magnitude 方法的核心是規劃和執行功能的明確分離。該框架採用兩種不同的 AI 模型:規劃器(通常是更大、更強大的模型,如 Gemini 2.5 Pro)負責制定整體測試策略,而執行器(Moondream,一個較小的 2B 引數模型)則負責以畫素級精度處理實際的 UI 互動。
這種架構解決了 AI 測試的一個基本挑戰:如何使測試既具有適應性又保持一致性。正如 Magnitude 團隊在社群討論中所解釋的,規劃器制定一個總體計劃,然後由執行器執行。關鍵創新在於,這個計劃可以被儲存,並且在後續測試中只使用執行器重新執行,使重複執行變得更快、更便宜且更一致。
「有趣的是,如果計劃足夠具體,我們可以儲存大模型制定的執行計劃,並且只使用 Moondream 執行。如果某些操作路徑需要調整,則可以切換回大模型。」
當介面發生可能破壞傳統測試的變化時,系統可以動態地回退到規劃器模型來調整測試策略,提供傳統測試框架難以實現的一致性和適應性的結合。
Magnitude 的雙模型測試架構
-
規劃模型
- 推薦: Gemini 2.5 Pro
- 替代選擇:來自 Anthropic、OpenAI、AWS Bedrock 等的模型
- 功能:制定整體測試策略並適應介面變化
-
執行模型
- 目前僅支援 Moondream(2B 引數)
- 功能:以畫素級精度處理 UI 互動
- 優勢:執行快速、成本低、一致性高
- 定價: Moondream 每天提供 5,000 次免費請求(雲版本)
主要特點
- 自然語言測試用例建立
- 計劃快取以確保測試執行一致性
- 當介面發生變化時動態回退到規劃模型
- 類似 Playwright 的 CI/CD 整合
- 可用於 Moondream 的自託管選項
確定性爭論
社群討論中提出的最突出的關切之一集中在測試確定性上。傳統的自動化測試因其一致性和可預測性而受到重視,而基於 AI 的方法則固有地引入了一定程度的非確定性。
Magnitude 的開發者透過解釋他們的架構是專門考慮確定性而設計的,來回應這一關切。與生成易碎的、在介面變化時會失效的基於程式碼的測試不同,Magnitude 快取了用自然語言描述的網路操作計劃。例如,快取的輸入操作可能包括目標的自然語言描述和要輸入的內容,使執行器模型能夠可靠地找到目標,而不依賴於 DOM 選擇器。
這種方法意味著,只要介面基本保持不變,測試就可以使用快取的計劃一致地執行。當發生重大介面變化時,系統會智慧地回退到規劃器模型來調整測試,建立一個新的快取計劃,該計劃可以一致地執行,直到下一次重大變化。
超越傳統測試:無障礙性和可用性
社群討論中一個有趣的線索探討了基於 AI 的測試如何擴充套件到傳統功能測試之外,進入無障礙性和可用性評估領域。一位評論者指出,僅依靠視覺測試可能會讓開發者在無障礙性問題上鬆懈。
對此,Magnitude 團隊承認了這一侷限性,並表示有興趣開發與視覺測試並行執行的無障礙性測試,但這些測試將僅限於使用無障礙性樹。這種方法可以透過模擬不同型別的殘障或限制,幫助開發者更有效地識別無障礙性問題。
一些社群成員還建議,AI 測試的非確定性特性實際上可以作為可用性測試的優勢。透過分析多次測試執行的成功率,開發者可能會洞察 AI 代理和人類如何與他們的介面互動,潛在地揭示確定性測試會錯過的可用性問題。
成本和效能考慮
社群對 Magnitude 如何平衡成本和效能表現出特別的興趣。雙模型方法直接解決了這一問題:昂貴、強大的規劃器模型僅用於開發和調整測試策略,而較小、更快的執行器模型則處理大部分測試執行。
與完全依賴 OpenAI 的 Computer Use 或 Anthropic 的 Claude 等大型模型的解決方案相比,這種方法顯著降低了成本。Moondream 作為僅有 2B 引數的模型,執行更快、成本更低,併為有特定部署需求的團隊提供了自託管選項。
隨著網路應用測試的不斷發展,像 Magnitude 這樣的框架代表了傳統自動化測試和完全 AI 驅動方法之間的一個有趣中間地帶。透過智慧地結合不同 AI 模型的優勢並快取執行計劃,它們提供了測試如何演變為更具適應性和更高效的未來願景。
參考:Magnitude: The open source, Al-native testing framework for web apps