GitHub 這篇文章介紹「左移測試」(shift left testing),核心概念是把品質檢查提前到開發流程的早期階段,從需求蒐集階段就開始,而不是像傳統瀑布式開發那樣,把測試留到上線前才做。文章指出,傳統做法讓錯誤的修復成本又貴又耗時,左移測試的目標就是讓問題在早期、修起來便宜又快的時候就被抓出來。
文章列出四種測試方式:傳統型,測試人員與開發者在需求與設計階段就合作;漸進型,隨著程式碼分段上線就測試已完成的部分;模型導向型,在產生程式碼之前先驗證設計模型;以及敏捷/DevOps 型,在每個 sprint 裡持續反覆測試並取得回饋。文章也提到左移測試會影響需求蒐集、設計與架構審查、邊寫程式碼邊做單元測試,以及持續整合等多個階段,實際做法包括測試驅動開發(先寫測試再寫程式碼)、單元測試、整合測試、端對端測試、AI 輔助的自動化測試、靜態程式碼分析,以及把這些測試整進 CI/CD 流程。
文章主張左移測試能降低成本、提升效率、加快開發速度、改善團隊合作、強化安全性與整體品質,並特別點出左移測試和「右移」(上線後監控)是互補的,兩者合起來才是完整的品質策略。
對正在學程式的孩子來說,這是個很實用的觀念:與其把程式全部寫完才測試,不如一邊寫一邊確認每個小功能是否正確,例如寫一個函式就順手試幾組輸入看結果對不對,這樣出錯時比較容易抓到是哪一段程式碼的問題,也是許多專業工程師的日常習慣。
軟體工程開發工具程式教育