testbed9.4.1 与 c++test9.0 的区别
1. 在语句覆盖率的计算上不同```
int fun(int a,int b,int c)
{
if (a&&(b||c))
x=1;
else
x=0;
return x;
}
使用2个用例 : a=0 b=0 c=1
a=1 b=1 c=1
在testbend中语句覆盖率为95%
而c++test中语句覆盖率为100%
2.在分支覆盖率上的不同
int fun(int a,int b,int c)
{
if (a&&b)
x=1;
else
x=0;
return x;
}
使用2个用例 : a=0 b=0
a=1 b=1
在testbend中分支覆盖率为100%(判断中的最后一个条件只需要覆盖,不要求覆盖真假0
而c++test中简单条件覆盖率为不到75%
3.覆盖率的删除
testbed中通过菜单 source->delete LDRA testbed workfiles…可以选择将覆盖率删除。
删除后,执行用例,覆盖率从0开始计算
c++test在coverage视图删除覆盖率后,执行用例,依然会在之前的基础上累加。除非将源代码文件修改后保存,该文件的所有覆盖率从0开始计算。