说说软件测试覆盖率统计的相关事情
作者:网络转载 发布时间:[ 2012/4/13 9:22:10 ] 推荐标签:
What?
先说说什么是代码覆盖率: 它是反映测试用例对被测软件覆盖程度的重要指标,也是衡量测试工作进展情况的重要指标。它是对测试工作进行量化的重要指标之一。
我们平时所说的测试覆盖率分为三大类:
1、行覆盖率度量被测代码中每个可执行语句是否被执行到
intfoo(inta,intb)
{ return a / b;
}
测试用例:
TeseCase: a = 10, b = 5
2、分支覆盖率:度量程序中每一个判定的分支是否都被测试到
3、条件覆盖率:度量判定中的每个子表达式结果true和false是否被测试到
intfoo(inta,intb)
{ if(a < 10 || b < 10)// 判定 { return0;// 分支一 } else { return1;// 分支二 }
}
分支覆盖率
TestCaes1: a = 5, b = 任意数字 覆盖了分支一
TestCaes2: a = 15, b = 15 覆盖了分支二
条件覆盖率
TestCase1: a = 5, b = 5 true, true
TestCase2: a = 15, b = 15 false,false
我想这里,大家可能会问这样的几个问题。的行覆盖率能证明代码是正确的吗?
的条件覆盖能否代表的分支覆盖?
当然,答案非常明显,测试覆盖率仅仅能够告诉我们什么没有被测试,根本回答不了软件是否经过了有效测试!上面条件覆盖的例子都只覆盖率分支一,对于分支二都没有涉及到。
WHY
为什么我们要做覆盖率统计?

sales@spasvo.com