新創團隊需要自動化測試嗎?

這是新創團隊導入自動化測試之初及面試過程常有人問及的問題,我的結論是『當然需要,絕對需要』.


挑戰一 自動化測試增加開發成本,會影響市場驗證速度?

放長遠來看其實並不然,假設團隊規模不變的狀況下,手動測試的成本隨著每次功能疊加不斷增高,而且無法提早發現問題,回頭解決一個臭蟲的時間可能更長,甚至不可預期,進而影響市場驗證的時程.相反地,同時考慮開發及自動化測試,工時是可預期的,更可確保市場驗證的時程.


挑戰二 市場驗證刻不容緩,待市場驗證後再來補自動化測試?

假定市場驗證成功了,從過去產品需求的經驗可以預想,PO只會規劃更多新功能,絲毫不容等待工程團隊回頭補足自動化測試,更何況設計之初就沒有考慮可測試性(Testability)你覺得還有機會補足自動化測試嗎?還是敷衍了事?


挑戰三 MVP產品規格經常變動,不易維護自動化測試?

的確我也經歷過幾次規格變動,但只要不是捨棄既有產品功能,自動化測試反而讓產品規格變動的成本降低.適當搭配 TDD(Test Driven Development)更有信心規格變動並不影響原有其他功能,很快又可以迭代上線,驗證市場需求.


要如何平衡市場驗證時程及自動化測試涵蓋率呢?

  1. 善用框架及第三方套件增加工作效率,專注商業邏輯的實作及測試.
  2. 搭配 Unit/Integration Test 先測試規格及可預見的錯誤處理,因應 QA 或用戶反饋,適時搭配 TDD 增加新的測試案例,避免開發期間過度測試.

最後,自動化測試是增加工作效率的良方,而技術債是影響工作效率的包袱,兩者並不會因新創團隊有所差異,今日你不做,總有一天它還是要還的,然而產品的期程往往不會改變.