在現代軟體開發中,測試已不再是開發完成後才啟動的獨立階段,而是必須貫穿整個開發流程的核心實踐。
但隨著前後端分離、微服務架構的普及,以及 AI 輔助開發的崛起,「應該怎麼分配測試資源」這個問題也開始有了不同的答案。測試金字塔(Testing Pyramid)作為敏捷時代的經典模型,正在被測試獎盃(Testing Trophy)、測試蜂窩(Honeycomb)、測試鑽石(Diamond)、測試螃蟹(Crab)等新模型挑戰與補充。
本文將從歷史脈絡出發,梳理這些模型的起源、適用場景與侷限,幫助你在不同的架構與團隊情境下,做出更合適的測試策略決策。
測試金字塔
起源與架構邏輯
測試金字塔最早由 Mike Cohn 在其 2009 年的著作《Succeeding with Agile》中以「The Automation Pyramid」的形式提出,後來經過 Martin Fowler 等人的推廣,逐漸成為敏捷開發時代的測試策略基礎。