[发明专利]一种基于插装技术统计测试覆盖率的方法在审
申请号: | 201510694988.0 | 申请日: | 2015-10-23 |
公开(公告)号: | CN105224460A | 公开(公告)日: | 2016-01-06 |
发明(设计)人: | 赵霞 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 张靖 |
地址: | 250101 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 技术 统计 测试 覆盖率 方法 | ||
1.一种基于插装技术统计测试覆盖率的方法,其特征在于:所述方法在保证被测程序原有逻辑完整性的基础上在程序中插入一些探针,通过探针的执行并抛出程序运行的特征数据,通过对这些数据的分析,获得程序的控制流和数据流信息,进而得到动态信息测试覆盖率,从而实现测试目的;所述测试覆盖率采用层次覆盖率,按照程序粒度划分为三个层次:api覆盖率、函数覆盖率、代码条件分支覆盖率,三个层次的覆盖率由粗到细,相互关联。
2.根据权利要求1所述的一种基于插装技术统计测试覆盖率的方法,其特征在于:所述api覆盖率,以程序接口为单位,在每一个接口执行前插入探针,探针信息包括接口编号、执行次数变量X(i),在程序详细设计时,记录编号为i的接口被调用的次数,计为总数A(i),api(i)=X(i)/A(i),当api(i)>1时,视该接口被完全覆盖剔除i接口在总api覆盖率中的计算,
总api覆盖率=[X(1)+X(2)+…+X(n-1)+X(n)]/[A(1)+A(2)+…+A(n-1)+A(n)]。
3.根据权利要求1所述的一种基于插装技术统计测试覆盖率的方法,其特征在于:所述函数覆盖率,以函数为单位,在每一个函数开始执行之前插入探针,探针信息包含函数编号、执行次数X(i)(函数每被调用一次该变量加1,初始值为0),在程序详细设计时,记录编号为i的函数被调用的次数,计为总数A(i),函数覆盖率=X(i)/A(i)。
4.根据权利要求1所述的一种基于插装技术统计测试覆盖率的方法,其特征在于:所述代码条件分支覆盖率,以函数内分支为单位,在每个分支执行时插入探针,探针信息包括分支编号,在编码阶段,记录分支数量,分支覆盖率=执行的编号总数/总的分支数量。
5.根据权利要求1-4任一所述的一种基于插装技术统计测试覆盖率的方法,其特征在于:所述方法在计算程序测试覆盖率时,综合这三种层次的覆盖率,判断该轮测试是否为有效的测试,对于覆盖率与有效测试的关系,根据测试的不同阶段来具体定义,在测试后期,程序功能趋于完善时,三种覆盖率基本上要达到90%以上,测试才算有效。
6.根据权利要求5所述的一种基于插装技术统计测试覆盖率的方法,其特征在于,所述方法操作步骤如下:
1)项目详细设计阶段,根据详细设计图,给api编号,并记录api将被调用情况的数量;给函数编号,并记录函数被调用的情况数量;
2)在编码阶段,给函数的分支编号;
3)在编码阶段,在api接口开始、函数开始及函数的分支开始,插入探针:System.out.println语句,输入信息到指定的文件,包括但不限于编号及执行次数;
4)在测试结束后,分别计算api覆盖率、函数覆盖率及分支覆盖率,综合考量目前项目功能的完成情况及三种覆盖率,对测试是否有效做出判断。
7.根据权利要求6所述的一种基于插装技术统计测试覆盖率的方法,其特征在于:所述系统测试持续5轮以上,比较轮次之间的测试覆盖率,当测试覆盖率逐渐升高的情况下,判断项目在朝好的方向发展;当测试覆盖率下降,在排除测试原因时,判断程序质量出现后退,需要引起项目经理的重视。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510694988.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于精简配置的存储空间分配方法及装置
- 下一篇:记录测试场景的方法和装置