轉(zhuǎn)帖|行業(yè)資訊|編輯:龔雪|2014-10-17 09:21:00.000|閱讀 323 次
概述:C/C++單元測試費(fèi)錢、費(fèi)力、誤事。商業(yè)測試框架雖然昂貴,但的確是最好的選擇!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
傳統(tǒng)的C/C++單元測試,跟騎自行車很像,也是費(fèi)錢、費(fèi)力、誤事。
費(fèi)錢:工具可以免費(fèi),人才不能免費(fèi),相反,人才極昂貴,而且越來越最昂貴。一個程序員,如果月薪1萬,企業(yè)實(shí)際要支付的全部成本為1.5到2萬,折 算成每小時的成本,大概是100元,也就是說,寫1小時的測試代碼,企業(yè)要付出100元,這是使用開源框架的成本,是不是比自動化工具昂貴得多?[反駁: 用工資低的實(shí)習(xí)生或初級程序員來寫測試代碼,成本不就降低了嗎?答:那就別做單元測試了,單元測試是程序員自己做的,要邊開發(fā)邊做,越是重要的程序員越要 做(因?yàn)樗麑懙拇a也越重要),事后讓別人做單元測試,那是毫無意義的,除非每個函數(shù)都有非常詳細(xì)的文檔,可是誰做得到?
費(fèi)力:程序員為什么不愿“寫”單元測試?請注意,是“寫”單元測試,不是“做”單元測試。程序員不是不知道單元測試的好,而是不愿意寫測試代碼,因 為太煩了。程序員不怕難,最怕煩。創(chuàng)造往往很難,但卻是程序員的最愛,也是程序員的價值所在。測試代碼既然用工具都可以生成,自然沒有創(chuàng)造性,程序員怎么 可能喜歡寫呢?讓程序員做自己很不喜歡做的事,這是很累人的,特別費(fèi)力。
誤事:誤事表現(xiàn)在三方面:
一、花很多時間來寫測試代碼,延長了項(xiàng)目的周期,嚴(yán)重時可能失去市場機(jī)會。
二、太費(fèi)力,程序員可能消極應(yīng)對,最終做不下去,折騰很長時間,又回到原點(diǎn)。
三、測試不充分,很多測試點(diǎn),是手工編寫代碼難以達(dá)到的,舉個簡單的例子,要讓malloc()在第一個用例返回NULL,其他用例正常申請內(nèi)存,手工編寫代碼就很難做到。用開源框架,完成代碼覆蓋都幾乎不可能,而使用合適的商業(yè)工具,完成MCDC覆蓋一點(diǎn)也不困難。
現(xiàn)慧都控件網(wǎng)代理的PRQA與Parasoft都提供性價比非常高的C/C++單元測試測試框架,敬請關(guān)注!
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn