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


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

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

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

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

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

單元測試有何好處?

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

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

歡迎大家留言一起討論

Comments (4)

  1. globelin@msn.com says:

    自動化測試目前試行在Web 專案上有困擾

    1. Web UI 動作不好寫測試程式

    2. user 經常變動需求

    3. 專案時程太趕

    但是如果是component base元件,

    當導入自動化測試, 對於穩定性,在相容性,

    bug fix 是否會導致問題,  

    我是覺的有很大的幫助

    Randy

  2. jchiou says:

    同意 Randy

    對底層元件做單元測試是必要的,唯有這樣才有辦法可以確保元件的品質

    對 Web 測試的部份,可以用在兩個地方:

    1. 開發人員可以使用 Web 測試工具看自己開發的網頁的效能如何,在網頁做調整前後的反應時間及網頁大小是否有改變

    2. Visual Studio Team Tester當初就是設計給不會寫程式的人使用,若公司有做黑箱測試的人員,可以在做測試的過程,順便使用 Team Tester 將過程記錄下來,也可以用於自動化測試或是在 Night Build 的過程中使用

    謝謝 Randy 的留言

Skip to main content