[发明专利]代码覆盖率统计方法、装置、设备及计算机可读存储介质在审
申请号: | 202010914407.0 | 申请日: | 2020-09-01 |
公开(公告)号: | CN112069066A | 公开(公告)日: | 2020-12-11 |
发明(设计)人: | 张朝;陈展文;周杰;杨德鑫;肖洁;曾奶举;王二蒙 | 申请(专利权)人: | 招商银行股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 王韬 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 覆盖率 统计 方法 装置 设备 计算机 可读 存储 介质 | ||
本发明公开了一种代码覆盖率统计方法、装置、设备及计算机可读存储介质,本发明代码覆盖率统计方法包括:当检测到待测应用运行时,对所述待测应用中的应用实例对应的打桩数据进行实时收集;若检测到所述待测应用的转存指令被触发时,则根据所述转存指令停止对所述打桩数据的实时收集,并将已收集的所有打桩数据转换为覆盖率元数据;对各所述覆盖率元数据进行合并,以获取总覆盖率元数据,基于所述总覆盖率元数据确定所述待测应用对应的代码覆盖率。从而提高了对应用的代码覆盖率统计的准确性。
技术领域
本发明涉及通信网络技术领域,尤其涉及一种代码覆盖率统计方法、装置、设备及计算机可读存储介质。
背景技术
应用软件进入生产环境前,需要进行自动化测试和手工回归测试等测试环节的操作,目前是通过JaCoCo(覆盖率工具)的方式对测试环节的代码覆盖率进行统计的,但是采用这种方式存在一定的缺陷,如只能进行单次代码覆盖率统计,缺少对累计覆盖率统计等,从而使得获取到的测试数据比较片面,无法获取到精准的测试数据,导致对应用的代码覆盖率统计的准确性较低,使得测试环节中的测试准确性降低。
发明内容
本发明的主要目的在于提出一种代码覆盖率统计方法、装置、设备及计算机可读存储介质,旨在提高对应用的代码覆盖率统计的准确性。
为实现上述目的,本发明提供一种代码覆盖率统计方法,所述代码覆盖率统计方法包括如下步骤:
当检测到待测应用运行时,对所述待测应用中的应用实例对应的打桩数据进行实时收集;
若检测到所述待测应用的转存指令被触发时,则根据所述转存指令停止对所述打桩数据的实时收集,并将已收集的所有打桩数据转换为覆盖率元数据;
对各所述覆盖率元数据进行合并,以获取总覆盖率元数据,基于所述总覆盖率元数据确定所述待测应用对应的代码覆盖率。
可选地对所述待测应用中的应用实例对应的打桩数据进行实时收集的步骤,包括:
确定所述待测应用中是否存在多个应用实例;
若存在多个应用实例,则依次遍历各所述应用实例,并确定遍历的应用实例对应的运行环境是否为容器环境;
若是容器环境,则基于所述容器环境确定所述遍历的应用实例对应的镜像,并根据所述镜像确定所述遍历的应用实例对应的覆盖率代理程序,根据所述覆盖率代理程序对所述遍历的应用实例对应的打桩数据进行实时收集。
可选地,基于所述容器环境确定所述遍历的应用实例对应的镜像的步骤,包括:
获取所述遍历的应用实例对应的配置文件和覆盖率代理程序,将所述配置文件和所述覆盖率代理程序注入至所述遍历的应用实例,并对具有所述配置文件和所述覆盖率代理程序的遍历的应用实例进行镜像构建,以获取所述遍历的应用实例对应的镜像。
可选地,确定遍历的应用实例对应的运行环境是否为容器环境的步骤之后,包括:
若所述遍历的应用实例的运行环境是虚拟机环境,则将所述遍历的应用实例对应的配置文件和覆盖率代理程序注入至所述遍历的应用实例,并启动所述覆盖率代理程序对所述遍历的应用实例对应的打桩数据进行实时收集。
可选地,基于所述总覆盖率元数据确定所述待测应用对应的代码覆盖率的步骤,包括:
基于预设的覆盖率收集器将所述总覆盖率元数据解析转换为目标报告文件,根据所述应用实例对应的配置文件对所述目标报告文件进行过滤处理,以获取所述待测应用对应的代码覆盖率。
可选地,根据所述应用实例对应的配置文件对所述目标报告文件进行过滤处理,以获取所述待测应用对应的代码覆盖率的步骤,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于招商银行股份有限公司,未经招商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010914407.0/2.html,转载请声明来源钻瓜专利网。