linux下C/C++代码覆盖度检查工具:BullseyeCoverage
主要作用:
a.识别在测试过程中没有完全执行的代码;
b.获取测试完整性相关的一些度量,来帮助判断是否已经充分测试。
BullseyeCoverage 使用步骤一般是:
1)安装BullseyeCoverage, 并使 BullseyeCoverage 工具可用,然后重新编译程序。
因为BullseyeCoverage工具是通过在程序中插桩代码来记录执行信息,所以需要使用工具自带的编译器来重新编译程序。
2)运行被评估程序。
3)产生和查看覆盖率评估报告。
4)重复执行第二和第三个步骤,直到满足测试为止。
具体步骤:
1)安装BullseyeCoverage
2)打开一个终端,
执行:module load BullseyeCoverage/9.5.0
设置cov文件路径:
setenv COVFILE “/users/work/TEST/makefileTest/test.cov”【生成的test.cov所在的路径】
setenv COVDIR “/users/work/TEST/makefileTest”【.c/.cpp文件所在的路径,注意写一给makefile,编译器要使用BullseyeCoverage的】
3)执行:bsub -Is -q linux7 CoverageBrowser,打开工具界面。
点击蓝色开关按钮。下图是点击之后的状态(打开状态)。
4)然后再打开一个终端,执行:make,该文件夹下新生成3个文件:可执行文件program和 test.cov
然后运行可执行文件。
5)点击BullseyeCoverage界面上的file,打开test.cov文件,查看覆盖率即可。
各种符号说明:
--> 没有被执行到的函数、条件判断、switch、while/for、catch等
X 某个函数已被执行,并支持classs内的函数
T/t 某处条件判断为真
F/f 某处条件判断为假
TF/tf 某处条件判断时,真假值都成立过
K 某处条件为常量
covdir: 查看文件夹的覆盖情况
covclass:查看类的覆盖情况