单元测试覆盖率计算
上一篇 /
下一篇 2012-12-22 21:34:33
/ 个人分类:单元/集成测试
一、逻辑覆盖
1、语句覆盖:走了几个语句?
2、分支(判定覆盖):至少走了一次判定的真或者假
3、条件覆盖:至少走了一个条件的真或者假,复合条件则累加
4、条件组合覆盖(分支条件覆盖):至少走了一次判定的真和假,同时至少走了一个条件的真和假,即同时考虑条件的组合值和判定结果的检验
5、路径覆盖:一次至少走了一条路径
二、功能覆盖
1、需求覆盖
2、面向对象覆盖:函数覆盖,继承上下文覆盖,基于状态的类的覆盖
三、覆盖率计算: XX覆盖 = 走了XX个/实际存在的XX总数
四、例子:
void DoWork (int x,int y,int z)
{
int k=0,j=0;
if ( (x>3)&&(z<10) )
{ k=x*y-1;
j=sqrt(k); //语句块1
}
if ( (x==4)||(y>5) )
{
j=x*y+10;
} //语句块2
j=j%3; //语句块3
}
语句覆盖为:4/4=100%
判定覆盖:(1+1)/4=50%
条件覆盖:(1+1+1+1)/8=50%
条件组合覆盖:(2+4)/(4+8)=50%
路径覆盖:1/4=25%
特别注意:当存在多种测试用例的时候,计算这些覆盖率的时候,需要合并各种情况一并计算!
收藏
举报
TAG: