說說軟件測(cè)試覆蓋率統(tǒng)計(jì)的相關(guān)事情
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2012/4/13 9:22:10 ] 推薦標(biāo)簽:
What?
先說說什么是代碼覆蓋率: 它是反映測(cè)試用例對(duì)被測(cè)軟件覆蓋程度的重要指標(biāo),也是衡量測(cè)試工作進(jìn)展情況的重要指標(biāo)。它是對(duì)測(cè)試工作進(jìn)行量化的重要指標(biāo)之一。
我們平時(shí)所說的測(cè)試覆蓋率分為三大類:
1、行覆蓋率度量被測(cè)代碼中每個(gè)可執(zhí)行語句是否被執(zhí)行到
intfoo(inta,intb)
{ return a / b;
}
測(cè)試用例:
TeseCase: a = 10, b = 5
2、分支覆蓋率:度量程序中每一個(gè)判定的分支是否都被測(cè)試到
3、條件覆蓋率:度量判定中的每個(gè)子表達(dá)式結(jié)果true和false是否被測(cè)試到
intfoo(inta,intb)
{ if(a < 10 || b < 10)// 判定 { return0;// 分支一 } else { return1;// 分支二 }
}
分支覆蓋率
TestCaes1: a = 5, b = 任意數(shù)字 覆蓋了分支一
TestCaes2: a = 15, b = 15 覆蓋了分支二
條件覆蓋率
TestCase1: a = 5, b = 5 true, true
TestCase2: a = 15, b = 15 false,false
我想這里,大家可能會(huì)問這樣的幾個(gè)問題。的行覆蓋率能證明代碼是正確的嗎?
的條件覆蓋能否代表的分支覆蓋?
當(dāng)然,答案非常明顯,測(cè)試覆蓋率僅僅能夠告訴我們什么沒有被測(cè)試,根本回答不了軟件是否經(jīng)過了有效測(cè)試!上面條件覆蓋的例子都只覆蓋率分支一,對(duì)于分支二都沒有涉及到。
WHY
為什么我們要做覆蓋率統(tǒng)計(jì)?
相關(guān)推薦
最新發(fā)布
性能測(cè)試之測(cè)試環(huán)境搭建的方法
2020/7/21 15:39:32軟件測(cè)試是從什么時(shí)候開始被企業(yè)所重視的呢?
2020/7/17 9:09:11Android自動(dòng)化測(cè)試框架有哪些?有什么用途?
2020/7/17 9:03:50什么樣的項(xiàng)目適合做自動(dòng)化?自動(dòng)化測(cè)試人員應(yīng)具備怎樣的能力?
2020/7/17 8:57:06幾大市面主流性能測(cè)試工具測(cè)評(píng)
2020/7/17 8:52:11RPA機(jī)器人能夠快速響應(yīng)企業(yè)需求,是怎么做到的?
2020/7/17 8:48:05Bug可以真正消滅嗎?為什么?
2020/7/17 8:43:03軟件測(cè)試基本概念是怎么來的?軟件測(cè)試生命周期的形成歷經(jīng)了什么?
2020/7/16 9:11:10