武學中裡的最高境界便是「無招勝有招」,將所有招式融會貫通後,便可以根據實際情況隨機應變。在自動化測試領域裡,我們也正在從學習單一招式走向一個更寬廣的世界,慢慢靠向需求面的自動化測試,將所有方法融會貫通後,我們便可以達到「無招勝有招」的全新境界。
回顧這 30 天的旅程,我們從最基本的測試案例或測試情境,用 Playwright 撰寫測試腳本,並且到進階的設計模式,是為了讓程式碼容易閱讀並且可維護,最後在捨棄原有的開發流程,重新思考原生的 AI 開發流程。
我們從測試案例和測試情境出發,學習了 Playwright 的基本架構 AAA 和 Gherkin,藉著我們透過 prompt 和 chatmode 讓 AI 幫我們撰寫測試程式碼,並且學習如何將測試腳本模組化,透過 Gherkin 語法,我們可以將需求轉化成所有人都可能溝通的語言,並且對齊所有人對於功能的理解。
為了效率和品質的平衡,我們使用「測試金字塔」測試分層的測試策略,我們探討自動化測試腳本在撰寫時,經常使用的設計模式,包括 Page Object Model (POM) 來提升 UI 測試的可維護性、Fixture 來管理測試環境、Strategy 和 Repository 來處理測試資料,以及 Data-Driven Testing 來擴大測試覆蓋率。這些模式是為了建構高品質的測試框架或是測試程式碼。
引入了「AI 原生測試」的概念,將思維從「手動寫程式」轉變為「意念先行」,透過 Prompt 和 Chat Mode 的撰寫,我們可以產生測試計畫並且由 AI 負責執行測試案例,如果有契約測試 (Contract Testing),也可以透過 OpenAPI 規格來產生測試程式碼。最後,探索了 spec-kit 這樣的實驗性工具,展示如何從高層次的規格描述,如何使 Playwright Agent 產生完整的測試程式碼。
除此之外,為了解決自動化測試的痛點,我們討論如何使用產生測試資料、使用 Mock Server 隔離外部服務,以及診斷與修復 Flaky Test。這些知識點,如果單獨來看,都只是一招一式。但當我們將它們串聯起來,就會發現一個完整的 AI 時代測試哲學正在形成。
其實並不知道最後 AI 會進步到怎樣的程度,但可想未來的重點可能會往意念先行,招式自成,你的核心價值,不再是寫程式碼,而是定義需求與測試意圖。AI 會幫助你找出測試計畫中的盲點、分析 Flaky Test 的原因,甚至根據程式碼的變動推薦需要執行的測試案例。但最終的品質承諾、風險評估與複雜決策,仍需要測試人員來判斷。
這趟旅程,我們從學習招式到融會貫通,從單打獨鬥到與 AI 協作。我們證明了,在軟體品質的這條道路上,AI 不是你的對手,而是你最強大的夥伴。最後,我想借用第一天:天下武功,無堅不破,唯快不破。當你內功深厚,心法通透,就能駕馭任何新技術,並且當修煉到一個極致,只要快,就能有更多的餘力,去化解堅固的防禦,想出擊破強大的力量的方法。