單元測試知識問答[1] 軟件測試
為什么要進行單元測試?
單元測試保證局部代碼的質量
單元測試改良項目代碼的整體結構
單元測試降低測試、維護升級的成本
單元測試使開發過程適應頻繁變化的需求
單元測試有助于提升程序員的能力
由誰進行測試?開發部門還是測試部門?
應該由開發部門進行單元測試!
由測試部門進行單元測試的問題:代價高,人手不足,耽誤了測試部門對其他測試的準備工作。
由開發部門進行單元測試的問題:擔心影響開發進度,程序員不習慣做單元測試,測試自己編寫的代碼,難于保證測試的效果。
無論由哪個部門做單元測試,都要面對一些問題,但開發部門所面對的問題可以借助工具來解決,而由測試部門進行單元測試,要么無法真正實施,要么代價昂貴。
由測試部門進行單元測試為什么成本昂貴?
需多次重復理解程序
反復溝通需要大量時間成本
不利于發揮單元測試對代碼結構的約束機制
耽誤測試部門對其他測試的準備工作
即使測試部門人手充裕,僅僅從效益來考慮,也不應該由測試部門進行單元測試。如果測試部門本來就人力不充裕(進行單元測試的人員需具備編碼能力),勉強由測試部門進行單元測試,結果往往是----沒有結果。
由開發部門進行單元測試能保證測試效果嗎?
程序員測試自己編寫的代碼,往往只考慮“正常狀況”,這當然會影響測試效果。但如果所用的單元測試工具能夠統計各種白盒覆蓋率,就能檢查測試效果。當然,只做到這一點還是不夠的,因為白盒覆蓋具有逾后逾難的特點,達到一定的覆蓋率后,覆蓋率的提升會很困難。如果測試工具功能足夠強大,能提供工具幫助用戶快速地設計測試用例,達到完整的白盒覆蓋,那么測試效果就能得到完全的保證。
實際上,如果沒有充分的統計數據,沒有達到足夠的測試完整性,那么由誰做單元測試,效果都不能保證。
文章來源于領測軟件測試網 http://www.kjueaiud.com/