Magnitude 的 AI 測試框架引發確定性與適應性的爭論

BigGo Editorial Team
Magnitude 的 AI 測試框架引發確定性與適應性的爭論

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