[发明专利]代码测试覆盖率确定方法和装置有效
申请号: | 201610695321.7 | 申请日: | 2016-08-19 |
公开(公告)号: | CN106326118B | 公开(公告)日: | 2019-03-15 |
发明(设计)人: | 曹曦 | 申请(专利权)人: | 东软集团股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 张大威 |
地址: | 110179 辽*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 字节码文件 探针 历史测试数据 代码测试 方法和装置 覆盖率 测试效率 获知 测试 检测 | ||
本发明公开了一种代码测试覆盖率确定方法和装置,其中,方法包括:生成与指定路径对应的字节码文件,其中,字节码文件包括:与不同字节片段分别对应的探针;在测试字节码文件的过程中,将已执行的字节片段对应的探针设置执行标识;检测历史测试数据中是否对字节码文件中未执行的字节片段对应的探针设置过执行标识;如果获知历史测试数据中对未执行的字节片段对应的探针设置过执行标识,则将与字节码文件中对应的未执行的字节片段的探针设置执行标识。该方法充分利用历史测试数据确定代码测试覆盖率,提高了测试效率。
技术领域
本发明涉及计算机技术领域,尤其涉及一种代码测试覆盖率确定方法和装置。
背景技术
代码测试覆盖作为软件测试中的一种度量被广泛使用,代码测试覆盖率在程式中源代码被测试的比例和程度,代码测试覆盖率越高,表示源代码中被测试的比例越高。
然而,相关技术中,代码测试覆盖率仅仅是根据本次对源代码测试的结果确定的,没有充分利用历史测试数据,测试效率低。
发明内容
本发明的目的旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种代码测试覆盖率确定方法,该方法充分利用历史测试数据确定代码测试覆盖率,提高了测试效率。
本发明的第二个目的在于提出一种代码测试覆盖率确定装置。
为达上述目的,本发明第一方面实施例的代码测试覆盖率确定方法包括:
生成与指定路径对应的字节码文件,其中,所述字节码文件包括:与不同字节片段分别对应的探针;
在测试所述字节码文件的过程中,将已执行的字节片段对应的探针设置执行标识;
检测历史测试数据中是否对所述字节码文件中未执行的字节片段对应的探针设置过执行标识;
如果获知所述历史测试数据中对所述未执行的字节片段对应的探针设置过执行标识,则将与所述字节码文件中对应的未执行的字节片段的探针设置执行标识。
本发明实施例的代码测试覆盖率确定方法,生成与指定路径对应的字节码文件,并将已执行的字节片段对应的探针设置执行标识,检测历史测试数据中是否对字节码文件中未执行的字节片段对应的探针设置过执行标识,如果获知历史测试数据中对未执行的字节片段对应的探针设置过执行标识,则将与字节码文件中对应的未执行的字节片段的探针设置执行标识。由此,合并历史代码测试覆盖率,充分利用了历史测试数据确定代码测试覆盖率,提高了测试效率。
另外,本发明实施例的代码测试覆盖率确定方法,还具有如下附加的技术特征:
在本发明的一个实施例中,所述将已执行的字节片段对应的探针设置执行标识,包括:
将已执行的字节片段对应的探针的布尔值设置为真,或者,
将已执行的字节片段对应的探针值设置为1。
在本发明的一个实施例中,如果所述字节码文件为Java代码文件,
所述生成与指定路径对应的字节码文件,包括:
在tomcat中配置JaCoCo的javaagent代理参数,并启动服务;
在指定路径下生成选定类的被插入探针的字节码文件。
在本发明的一个实施例中,所述在测试所述字节码文件的过程中,将已执行的字节片段对应的探针设置执行标识,包括:
在测试所述字节码文件的过程中,调用相关类分析所述字节码文件,生成jacoco.exec文件,其中,所述jacoco.exec文件记录了已执行的字节片段对应的探针是否设置了执行标识。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东软集团股份有限公司,未经东软集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610695321.7/2.html,转载请声明来源钻瓜专利网。