代碼覆蓋率:80%,不能少 推薦者:怕冷的南瓜 (積分 54755) | 原作者:外刊IT評(píng)論 7
頂一下
收藏
一大早,一個(gè)年輕的程序員問大師:
“我準(zhǔn)備寫一些單元測試用例。代碼覆蓋率應(yīng)該達(dá)到多少為好?”
大師回答道:
“不要考慮代碼覆蓋率,只要寫出一些好的測試用例即可。”
年輕的程序員很高興,鞠躬,離去。
之后沒多久,第二個(gè)程序員問了大師同樣的問題。
大師指著一鍋燒沸的水說:
“我應(yīng)該往這個(gè)鍋里放多少米?”
這個(gè)程序員看起來被難住了,回答道:
“我怎么會(huì)有答案?這取決于要給多少人吃,他們餓不餓,有什么菜,你有多少米,等等。”
“完全正確,” 大師說。
第二個(gè)程序員很高興,鞠躬,離去。
末了,來了第三個(gè)程序員問了大師同樣的關(guān)于代碼覆蓋率的問題。
“百分之八十,不能少!” 大師一拳錘在桌子上,用嚴(yán)厲的口氣回答道。
第三個(gè)程序員很高興,鞠躬,離去。
回復(fù)完這個(gè)之后,一個(gè)年輕的實(shí)習(xí)生走到大師身邊:
“大師,今天我無意中聽到了你對(duì)同一個(gè)代碼覆蓋率問題給出了三個(gè)不同的答案。為什么?”
大師從椅子上站起來:
“給我泡點(diǎn)新茶,我們聊聊這個(gè)。”
當(dāng)杯子里倒?jié)M了冒著熱氣的綠茶后,大師開始說:
“這第一個(gè)程序員是個(gè)新手,剛剛開始學(xué)測試。目前他有大量的程序都沒有測試用例。他有很長的路要走;現(xiàn)在對(duì)他要求代碼覆蓋率只會(huì)打擊他,沒有什么用處。最好是讓他慢慢的學(xué)會(huì)寫一些測試用例,測試一下。他可以以后再考慮代碼覆蓋率。”
“而這第二個(gè)程序員,不論對(duì)編程還是測試都是十分的有經(jīng)驗(yàn)。我以問作答,問她應(yīng)該往鍋里放多少米,使她明白決定測試用例多少的因素有很多,她比我更知道這些因素——畢竟是她自己的代碼。對(duì)這個(gè)問題沒有一個(gè)簡單的、直接的答案。以她的聰明完全能明白這個(gè)道理,正確的完成任務(wù)。”
“我明白了,” 年輕的實(shí)習(xí)生說, “但是如果沒有一個(gè)簡單直接的答案,那你為什么告訴第三個(gè)程序員‘百分之八十,不能少’呢?”
大師笑的前仰后合,綠茶都噴了出來。
“這第三個(gè)程序員只想得到一個(gè)簡單的答案——即使根本沒有簡單的答案 … 而且即使有答案她也不會(huì)按答案做。”
年輕的實(shí)習(xí)生和頭發(fā)斑白的大師在沉思中喝完茶。 [ 關(guān)鍵詞:程序員 代碼 原文/來源鏈接 ]
來源:草根網(wǎng)(www.) - 互聯(lián)網(wǎng)界的讀者文摘
|