[发明专利]一种轻量级的代码分支覆盖率检测方法在审
申请号: | 201610664607.9 | 申请日: | 2016-08-12 |
公开(公告)号: | CN106294163A | 公开(公告)日: | 2017-01-04 |
发明(设计)人: | 李超;史晓华;王斐 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京永创新实专利事务所11121 | 代理人: | 祗志洁 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明是一种轻量级的代码分支覆盖率检测方法,属于软件测试领域。本方法统计被测代码的分支总数N,在被测函数的入口插入代码,定义数组branch[N/K+1],K为机器字长;在每个分支i插入代码branch[i/K]|=1<<(i%K);在被测函数的出口插入代码,输出数组branch的值;输入测试用例集合,执行测试代码,在测试完成后,统计数组branch中所有元素对应二进制位中1的个数n,获得代码分支覆盖率为n/N。本发明使用1个比特位即可记录1个分支的执行情况,数据量被大幅度的压缩,减少了内存资源的占用,仅在测试程序运行完毕后一次性输出记录结果,大幅度提高测试的执行速度,减少测试的数据量。 | ||
搜索关键词: | 一种 轻量级 代码 分支 覆盖率 检测 方法 | ||
【主权项】:
一种轻量级的代码分支覆盖率检测方法,其特征在于,实现步骤如下:步骤1,输入被测函数的代码,统计被测代码的分支总数N,并对各分支进行编号0,1,…,N‑1;步骤2,在被测函数的入口插入代码,定义数组branch[N/K+1],并设置数组中的元素均为0;K表示机器字长;步骤3,对于每个分支i,插入代码:branch[i/K]|=1<<(i%K),i=0,1,…,N‑1;其中,branch是整型数组;|是按位或运算符,a|=b表示将变量a和b按位或运算后的结果赋值给变量a;<<是左移位运算符,c<<d的结果是将变量c对应的二进制位向左移动d位,右边空缺部分补0;步骤4,在被测函数的出口插入代码,输出数组branch[N/K+1]的值;步骤5,输入测试用例集合,执行测试代码,在测试完成后,统计数组branch[N/K+1]中所有元素对应的二进制位为1的个数n,获得代码分支覆盖率为n/N。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610664607.9/,转载请声明来源钻瓜专利网。