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