- 授課品牌:
深圳達(dá)內(nèi)教育
- 機(jī)構(gòu)級(jí)別:代理會(huì)員
- 信譽(yù)等級(jí):
學(xué)校評(píng)價(jià)(我要提問/點(diǎn)評(píng))
- 學(xué)校被點(diǎn)評(píng):0 次
- 好評(píng)(0%)
- 中評(píng)(0%)
- 差評(píng)(0%)
資料認(rèn)證
未通過身份證認(rèn)證
未通過辦學(xué)許可認(rèn)證
- 學(xué)校瀏覽人次:次
- 加盟時(shí)間:2020年11月05日
軟件測(cè)試需要100%的覆蓋率嗎?
多少測(cè)試才算夠用呢?答案因人而異。有人會(huì)告訴你要做到100%的測(cè)試覆蓋率。另一些人卻不這么想,他們認(rèn)為這個(gè)問題的答案因測(cè)試代碼質(zhì)量的不同而不同,而衡量測(cè)試覆蓋率并不能說明這些測(cè)試及被測(cè)試代碼的質(zhì)量。深圳軟件測(cè)試培訓(xùn)(sz.qa.tedu.cn)專家就來和大家說說軟件測(cè)試覆蓋率的問題。
“如果你正在進(jìn)行真正的TDD,那么你的測(cè)試覆蓋率應(yīng)該很高,因?yàn)槟阒挥芯帉懗霎a(chǎn)品級(jí)代碼才能滿足測(cè)試的部分!边@很巧妙地表明,TDD對(duì)已有代碼的測(cè)試覆蓋率幾乎沒有什么影響。
我并不是說代碼覆蓋率應(yīng)該很低,只是說隨著我們的進(jìn)展,我們寫的每個(gè)獨(dú)立的測(cè)試應(yīng)該對(duì)我們的代碼覆蓋率影響非常小。這是一個(gè)很令我感興趣的想法。
通過示例,Andy Glover向我們說明了代碼覆蓋的度量可能會(huì)給我們帶來了錯(cuò)誤的安全感。對(duì)于代碼覆蓋的度量可能會(huì)告訴你哪些代碼沒有被測(cè)試,但不能準(zhǔn)確地告訴你哪些代 碼被測(cè)試過了。同樣地,Tobias Schlitt認(rèn)為:對(duì)代碼覆蓋的度量是很重要的,因?yàn)樗鼤?huì)告訴我們哪部分是我們沒有覆蓋到的。
誠(chéng)然,一個(gè)測(cè)試套件的高代碼覆蓋率根本不能說明代碼經(jīng)過了很好的測(cè)試(假如你自己不寫代碼和測(cè)試的話)。但是反過來說是成立的:一個(gè)較低的代碼覆蓋率毫無 疑問還是意味著這個(gè)測(cè)試套件并不充分。就讓我來深入分析一下代碼覆蓋率問題,看看它會(huì)給你帶來什么吧。
測(cè)試大師Testivus認(rèn)為“結(jié)果因情況而異”是最好的解釋。對(duì)于那些剛開始寫測(cè)試的人來說:
現(xiàn)在他寫了很多代碼,但還沒有測(cè)試代碼,那他還有很長(zhǎng)的路要走。此時(shí)把重點(diǎn)放在代碼覆蓋率上的話將會(huì)很郁悶,而且毫無用處。他現(xiàn)在最好開始寫一些測(cè)試并運(yùn)行這些測(cè)試,覆蓋率問題是他之后才需要考慮的事情。
對(duì)于那些有經(jīng)驗(yàn)的開發(fā)者來說:……所需的測(cè)試數(shù)量依賴于很多因素,而且在“需要考慮哪些因素”這個(gè)問題上,她比我更清楚,畢竟代碼是她寫的。雖然沒有那種簡(jiǎn)單明了的答案,但她還是足以應(yīng)付這個(gè)事實(shí)。
最后,對(duì)于那些只想得到答案的人來說:第三個(gè)程序員想得到僅僅是簡(jiǎn)簡(jiǎn)單單的答案??即便事實(shí)上簡(jiǎn)簡(jiǎn)單單的答案并不存在……而且(即便有)他在稍后并不會(huì)遵循這些答案。
就象在這些Blog中說的那樣,測(cè)試的關(guān)注點(diǎn)在于測(cè)試給質(zhì)量檢驗(yàn)帶來的益處。從這個(gè)角度出發(fā),我們應(yīng)該意識(shí)到,對(duì)測(cè)試覆蓋率的度量可以告訴我們遺漏了什么,而不是告訴我們哪些做的很好。