由測試部門進行單元測試為什么成本昂貴?
需多次重復理解程序
測試人員進行單元測試時必須理解程序功能甚至代碼邏輯;充分的單元測試通常會發現很多細小的錯誤,程序員修改代碼時,又要再次理解程序。理解程序是很耗費時間的。
反復溝通需要大量時間成本
單元測試發現的錯誤一般是小Bug,但數量可能很多,修改錯誤一般由程序員進行,測試人員還要確認,這些反復溝通也需要很多的時間。
不利于發揮單元測試對代碼結構的約束機制
如果等編碼基本完成再由測試部門進行單元測試,也就不能及時發揮單元測試對代碼整體結構的約束效果,測試部門拿到代碼時,往往會發現難于測試。
耽誤測試部門對其他測試的準備工作:
編碼階段,測試部門要為集成測試、系統測試等做好準備,如果測試部門陷在單元測試的“泥潭”里,很可能影響這些準備工作。
基于以上理由,即使測試部門人手充裕,僅僅從效益來考慮,也不應該由測試部門進行單元測試。如果測試部門本來就人力不充裕(進行單元測試的人員需具備編碼能力),勉強由測試部門進行單元測試,結果往往是----沒有結果。
由開發部門進行單元測試能保證測試效果嗎?
程序員測試自己編寫的代碼,往往只考慮“正常狀況”,這當然會影響測試效果。但如果所用的單元測試工具能夠統計各種白盒覆蓋率,就能檢查測試效果。當然,只做到這一點還是不夠的,因為白盒覆蓋具有逾后逾難的特點,達到一定的覆蓋率后,覆蓋率的提升會很困難。如果測試工具功能足夠強大,能提供工具幫助用戶快速地設計測試用例,達到完整的白盒覆蓋,那么測試效果就能得到完全的保證。
實際上,如果沒有充分的統計數據,沒有達到足夠的測試完整性,那么由誰做單元測試,效果都不能保證。
進行單元測試,關鍵是要達到比較高的輸入覆蓋,這樣,無論由誰測試,效果都是一樣的。
文章來源于領測軟件測試網 http://www.kjueaiud.com/