[发明专利]代码增量覆盖率统计方法、装置、电子设备及存储介质在审
申请号: | 202110633131.3 | 申请日: | 2021-06-07 |
公开(公告)号: | CN113204350A | 公开(公告)日: | 2021-08-03 |
发明(设计)人: | 阮文静 | 申请(专利权)人: | 中国银行股份有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/53;G06F8/71 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 藏斌 |
地址: | 100818 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 增量 覆盖率 统计 方法 装置 电子设备 存储 介质 | ||
本申请提供一种代码增量覆盖率统计方法、装置、电子设备及存储介质,基于从获取的待测产品的配置任务信息中获取的当前版本class文件路径获取当前版本class文件;根据当前版本class文件与获取的运行时信息进行全局覆盖率分析,得到行覆盖状态信息;对当前版本class文件进行反编译得到当前版本byte文件;对将当前版本byte文件与对获取的基线包进行反编译得到的当前版本的基线版本byte文件进行比对得到的报告进行分析,得到待测产品的增量代码行;根据行覆盖状态信息和增量代码行,计算待测产品的代码增量覆盖率。本发明,能够提高代码增量覆盖率的统计效率,以及降低统计代码增量覆盖率的成本。
技术领域
本发明涉及计算机技术领域,更具地说,涉及代码增量覆盖率统计方法、装置、电子设备及存储介质。
背景技术
随着计算机技术的不断发展,计算机行业的产品迭代越来越快,为了保证产品的质量,需要不断的对产品进行软件测试,而在软件测试过程中,代码覆盖率是度量测试完整性的一个重要手段。
现有的代码覆盖率统计方法,主要是基于版本管理系统Git,反复读取git diff文件,并将读取到的git diff文件中的代码与源代码进行比对,得到增量代码行的数据结构,最后根据得到的增量代码行的数据结构计算增量代码覆盖率。但是这种方式存在一定的局限性,将读取到的gitdiff文件中的代码与源代码进行比对的过程中需要在本地维护一个代码库的副本,稳定性较差,导致代码覆盖率统计效率低,并且版本管理系统Git的集成依赖于JenKins,集成版本管理系统Git的成本高。
发明内容
有鉴于此,本发明提供一种代码增量覆盖率统计方法、装置、电子设备及存储介质,以提高代码增量覆盖率的统计效率,以及降低统计代码增量覆盖率的成本。
本发明第一方面公开一种代码增量覆盖率统计方法,所述方法包括:
从获取的待测产品的配置任务信息中当前版本class文件路径,并基于所述当前版本class文件路径获取当前版本class文件;
获取所述待测产品的运行时信息,并根据所述当前版本class文件与所述运行时信息进行全局覆盖率分析,得到行覆盖状态信息;
获取基线包,并对所述基线包进行反编译,得到当前版本的基线版本byte文件;
对所述当前版本class文件进行反编译得到当前版本byte文件;
对将所述当前版本byte文件与所述当前版本的基线版本byte文件进行比对得到的报告进行分析,得到所述待测产品的增量代码行;
根据所述行覆盖状态信息和所述增量代码行,计算所述待测产品的代码增量覆盖率,所述待测产品的代码增量覆盖率包括增量类的覆盖率和全局增量总覆盖率。
可选的,所述从获取的待测系统的配置任务信息中当前版本class文件路径,包括:
获取待测系统的配置任务信息;
根据用户选取的产品参数和环境参数从所述配置任务信息中,获取ftp配置信息;
从所述ftp配置信息中获取当前版本class文件路径。
可选的,所述获取基线包,并对所述基线包进行反编译,得到基线版本byte文件,包括:
基于从预先设置的ods_cc_codecersion表中获取基线版本的远程地址获取基线包;
将根据用户选取的产品参数和环境参数进行拼接,得到当前版本的基线版本路径,并将所述基线包存储至所述当前版本的基线版本路径指示的文件夹中;
基于所述当前版本的基线版本路径指示的文件夹中存储的所述基线包,确定当前版本的基线版本byte文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国银行股份有限公司,未经中国银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110633131.3/2.html,转载请声明来源钻瓜专利网。