在開發的過程中真的要做單元測試嗎?
最近有許多的朋友跟我討論這個問題,先將大家的疑問整理如下:
- 專案時間不夠,那來的時間做(寫)測試
- 沒有足夠測試人員(請不起)
- 如果請了測試人員,程式師就會馬虎而寫出問題更多的程式
- 有資格可以勝任的人都不想做測試人員
- 品質不是驗收的項目
- 有的朋友便說之前團隊就是用了測試導向開發,最後團隊成員覺得太麻煩,便一個一個離職了
這些問題也確實存在我們現實的生活中,相信有做過專案及開發的朋友,覺得感同身受,即然會有那麼多的問題,那是不是就不要做單元測試了呢?
對筆者個人而言一定建議大家一定要做單元測試。但注意以下事項:
- 請先對自己的開發團隊做分析及規劃。建議選擇公司中的菁英分子當先期部隊,從一個小元件做起,等先期部隊成功後再將經驗移植到同事身上。因為改變會影響到整個開發團隊及開發的流程,所以請小心
- 與團隊成員溝通清楚為何而戰、為誰而戰。要清楚的向成員說明為何要做單元測試,再用先期部隊成功的故事向大家說明,這樣可以帶來什麼好處,讓大家都有相同的理念後才容易成功
單元測試有何好處?
- 快速得到程式執行的結果:在程式做過修改後,可以協助檢測是否會影響到其它的功能
- 做自動化測試:重覆執行及整合建置過程中執行
P.S. 在 Visual Studio 2008 專業版中即內建有做單元測試的功能
歡迎大家留言一起討論
Comments
Anonymous
September 28, 2007
PingBack from http://www.artofbam.com/wordpress/?p=3823Anonymous
September 28, 2007
PingBack from http://www.artofbam.com/wordpress/?p=3834Anonymous
October 07, 2007
自動化測試目前試行在Web 專案上有困擾
- Web UI 動作不好寫測試程式
- user 經常變動需求
- 專案時程太趕 但是如果是component base元件, 當導入自動化測試, 對於穩定性,在相容性, bug fix 是否會導致問題, 我是覺的有很大的幫助 Randy
- Anonymous
October 07, 2007
同意 Randy 對底層元件做單元測試是必要的,唯有這樣才有辦法可以確保元件的品質 對 Web 測試的部份,可以用在兩個地方:
- 開發人員可以使用 Web 測試工具看自己開發的網頁的效能如何,在網頁做調整前後的反應時間及網頁大小是否有改變
- Visual Studio Team Tester當初就是設計給不會寫程式的人使用,若公司有做黑箱測試的人員,可以在做測試的過程,順便使用 Team Tester 將過程記錄下來,也可以用於自動化測試或是在 Night Build 的過程中使用 謝謝 Randy 的留言