[发明专利]代码测试覆盖率统计方法及装置在审
申请号: | 202110712769.6 | 申请日: | 2021-06-25 |
公开(公告)号: | CN113360394A | 公开(公告)日: | 2021-09-07 |
发明(设计)人: | 周晔;穆海洁;冯纪坤;胡军 | 申请(专利权)人: | 汇付天下有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 陶玉龙;陆嘉 |
地址: | 200233 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 测试 覆盖率 统计 方法 装置 | ||
本发明涉及测试研发技术领域,更具体的说,涉及一种代码测试覆盖率统计方法及装置。本发明提供了一种代码测试覆盖率统计方法,包括以下步骤:构建应用,收集测试覆盖数据与参数信息;通过On‑the‑fly模式插桩,部署应用自动注入agent;测试执行;通过覆盖率工具Jacoco,实现获取代码与解析覆盖率;显示全量和/或增量报告。本发明提供的一种代码测试覆盖率统计方法及装置,通过在线模式插桩,可以无需修改源代码,在系统不停机的情况下,准实时收集代码覆盖率信息,不仅支持应用的全量代码覆盖率测试,而且实现了基于代码仓库的增量代码覆盖率测试,提升分析效率,支持多维度统计、易于集成接入,功能强大。
技术领域
本发明涉及测试研发技术领域,更具体的说,涉及一种代码测试覆盖率统计方法及装置。
背景技术
代码测试覆盖率,是一种通过计算测试过程中被执行的源代码占全部源代码的比例,进而间接度量软件质量的方法。
中国发明专利CN201910226405.X公开了一种获取代码测试覆盖率的装置及方法,装置包括:标记模块,执行于测试线程启动处,适于获取测试线程上下文内容中包含的方法名称,并对方法名称进行标记处理;判断模块,执行于测试线程中各方法结束处,适于获取测试线程的上下文内容,判断上下文内容中当前执行的方法名称是否已进行标记处理;获取模块,适于若判断模块判断出上下文内容中当前执行的方法名称已进行标记处理,则确定测试完成,获取测试线程的上下文内容中记载的测试覆盖数据;确定模块,适于根据测试覆盖数据确定测试线程的代码测试覆盖率。在测试线程执行过程中,通过对代码入口方法名称的标记,判断测试线程执行是否完成,进而自动获取代码测试覆盖率。上述发明难以在系统不停机情况下,准实时查看覆盖率数据报告。
现有技术中,覆盖率测试方式存在如下问题:
1)覆盖率离线收集,无法在系统不停机情况下,准实时查看覆盖率数据报告;
2)在整个测试中,只能体现单一环境的覆盖率数据,不能实现单应用、多环境或者多应用、多环境覆盖率报告合并;
3)在系统重启或者发布时,会造成部分测试覆盖率数据丢失,无法精确保证覆盖率数据报告的准确性;
4)只有全量和增量报告,每次迭代依靠全量、增量报告无法精准定位迭代上线的测试点;
5)各种环境配置比较繁琐,造成测试的效率反而低下。
发明内容
本发明的目的是提供一种代码测试覆盖率统计方法及装置,解决现有技术的代码覆盖率测试方式难以实时查看、测试环境单一的问题。
为了实现上述目的,本发明提供了一种代码测试覆盖率统计方法,包括以下步骤:
构建应用,收集测试覆盖数据与参数信息;
通过On-the-fly模式插桩,部署应用自动注入agent;
测试执行;
通过覆盖率工具Jacoco,实现获取代码与解析覆盖率;
显示全量和/或增量报告。
在一实施例中,所述获取代码并解析覆盖率,进一步包括:
获取版本全量代码;
过滤文件;
解析生成全量报告。
在一实施例中,所述获取代码并解析覆盖率,进一步包括:
提取diff代码;
过滤文件并切割方法粒度;
解析生成增量报告。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于汇付天下有限公司,未经汇付天下有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110712769.6/2.html,转载请声明来源钻瓜专利网。