在開發的過程中真的要做單元測試嗎?

最近有許多的朋友跟我討論這個問題,先將大家的疑問整理如下:

  • 專案時間不夠,那來的時間做(寫)測試
  • 沒有足夠測試人員(請不起)
  • 如果請了測試人員,程式師就會馬虎而寫出問題更多的程式
  • 有資格可以勝任的人都不想做測試人員
  • 品質不是驗收的項目
  • 有的朋友便說之前團隊就是用了測試導向開發,最後團隊成員覺得太麻煩,便一個一個離職了

這些問題也確實存在我們現實的生活中,相信有做過專案及開發的朋友,覺得感同身受,即然會有那麼多的問題,那是不是就不要做單元測試了呢?

對筆者個人而言一定建議大家一定要做單元測試。但注意以下事項:

  1. 請先對自己的開發團隊做分析及規劃。建議選擇公司中的菁英分子當先期部隊,從一個小元件做起,等先期部隊成功後再將經驗移植到同事身上。因為改變會影響到整個開發團隊及開發的流程,所以請小心
  2. 與團隊成員溝通清楚為何而戰、為誰而戰。要清楚的向成員說明為何要做單元測試,再用先期部隊成功的故事向大家說明,這樣可以帶來什麼好處,讓大家都有相同的理念後才容易成功

單元測試有何好處?

  1. 快速得到程式執行的結果:在程式做過修改後,可以協助檢測是否會影響到其它的功能
  2. 做自動化測試:重覆執行及整合建置過程中執行

P.S. 在 Visual Studio 2008 專業版中即內建有做單元測試的功能

歡迎大家留言一起討論