【測試不是萬靈藥】

提昇軟體品質,不只是靠測試。

錢要花在刀口上,測試是測不完的。

測試只是用來提昇品質、降低風險的手段之一。

當然,當你打通任督二脈之後,你還可以拿測試來加速開發。

資源有限、時間有限,所以測試的投資,需要考慮 ROI(投資報酬比)。

就像你不會(也不該)把畢生積蓄,全都拿去買意外險一樣

不要「只」想透過「測試」來提昇「品質」,是很吃力的,測試只是其中一個實踐。

要提昇品質,產品開發過程中還有許多你該落實的實踐,例如:

  • ☑ Specification by Examples
  • ☑ ATDD/TDD
  • ☑ Unit Testing
  • ☑ Code Review
  • ☑ Pair Programming
  • ☑ Commit Frequently
  • ☑ Continuous Integration
  • ☑ Exploration Testing
  • ☑ API/Integration Testing
  • ☑ Manual Testing (你沒看錯)
  • ☑ Production Monitoring
  • ☑ Third-Party Services Monitoring
  • ☑ Exception Monitoring and Analyzing

所以,找到導入的 road map,找到綜效甜頭比較大、抗拒比較小的切入點,還是相當重要的。

不要忘記、也不該企圖,只用自動化測試,來防止一切 bug 的發生。

你應該還要有 pair programming, code review, 其他的自動化迴歸測試、各個環境的手動測試,都通過之後,才 deliver to production。

如果經過這一連串的把關, production 還發生邏輯上的 bug,那我敢跟你保證,那個 bug 絕對不是主要流程,影響範圍小,甚至不影響你的價值或業務。

那時你應該把重點放在,如何快速 fix 它,快速的交付與部署,而不是糾結在還沒交付前,考慮「把畢生積蓄拿來買意外險」。


或許您會對下列培訓課程感興趣:

  1. 2019/12/21(六)~2019/12/22(日):演化式設計:測試驅動開發與持續重構 第七梯次(台北)
  2. 2020/1/4(六)~2020/1/5(日):Clean Coder:DI 與 AOP 進階實戰 第三梯次(台北)
  3. 2020/02/08(六):【針對遺留代碼加入單元測試的藝術】 第八梯次(台北)
  4. 2020/02/09(日):【極速開發+】 第九梯次(台北)
  5. 2020/02/28(五)~2020/3/1(日) C#進階設計-從重構學會高易用性與高彈性API設計 第三梯次(台北)

想收到第一手公開培訓課程資訊,或想詢問企業內訓、顧問、教練、諮詢服務的,請洽 Facebook 粉絲專頁:91敏捷開發之路