[发明专利]一种增量代码覆盖率检测方法及业务开发方法、装置在审
申请号: | 202110645298.1 | 申请日: | 2021-06-09 |
公开(公告)号: | CN113282504A | 公开(公告)日: | 2021-08-20 |
发明(设计)人: | 黄进 | 申请(专利权)人: | 北京自如信息科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京三聚阳光知识产权代理有限公司 11250 | 代理人: | 胡晓静 |
地址: | 101500 北京市密云区经济开*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 增量 代码 覆盖率 检测 方法 业务 开发 装置 | ||
本发明实施例提供了一种增量代码覆盖率检测方法及业务开发方法、装置,该增量代码覆盖率检测方法包括:获取待检测代码的第一编译文件及待检测代码对应原始代码的第二编译文件;对第一编译文件和第二编译文件进行分析对比,得到增量方法列表;基于增量方法列表对第一编译文件进行标记,并基于标记后的第一编译文件生成测试安装包;对测试安装包进行测试,得到测试结果;基于测试结果中包含的标记信息与增量方法列表对应的标记信息,生成增量代码覆盖率检测结果。通过测试结果的标记信息得到代码方法维度的增量代码覆盖率,使得修改的代码可以直接定位到方法的维度,相比定位到文件维度,差异对比更加精准,相比定位到行维度,覆盖率逻辑更加完整。
技术领域
本发明涉及计算机应用技术领域,具体涉及一种增量代码覆盖率检测方法及业务开发方法、装置。
背景技术
在客户端项目开发过程中,需要对对开发代码进行修改,并对修改后的代码进行自测和测试。但是自测和测试的完整度:是否覆盖了所有新增或修改的代码简称增量代码,并不能进行有效的确认;当一个迭代包含多个需求的时候,未经确认的代码合并到代码库当前迭代的分支,将会导致当前迭代的线上崩溃等风险增加。
目前,已有的增量代码覆盖率检测方法检测颗粒度较粗通常是从全量或者文件维度进行检测,无法精准定位到代码块。
发明内容
有鉴于此,本发明实施例提供了一种增量代码覆盖率检测方法及业务开发方法、装置,以克服现有技术中增量代码覆盖率检测方法检测颗粒度较粗无法精准定位到代码块的问题。
本发明实施例提供了一种增量代码覆盖率检测方法,包括:
获取待检测代码的第一编译文件及所述待检测代码对应原始代码的第二编译文件,所述待检测代码为所述原始代码修改后的代码;
对所述第一编译文件和所述第二编译文件进行分析对比,得到增量方法列表,所述增量方法列表为引起编译文件变化的方法集合;
基于所述增量方法列表对所述第一编译文件进行标记,并基于标记后的第一编译文件生成测试安装包;
对所述测试安装包进行测试,得到测试结果;
基于所述测试结果中包含的标记信息与所述增量方法列表对应的标记信息,生成增量代码覆盖率检测结果。
可选地,所述基于所述增量方法列表对所述第一编译文件进行标记,包括:
依次对所述第一编译文件中所述增量方法列表中各个方法所对应的编译内容进行标记。
可选地,所述基于所述测试结果中包含的标记信息与所述增量方法列表对应的标记信息,生成增量代码覆盖率检测结果,包括:
比较所述测试结果中包含的标记信息与所述增量方法列表对应的标记信息,确定所述增量方法列表中已测试的方法;
获取所述已测试的方法对应第一编译文件的第一编译内容以及所述增量方法列表中所有方法对应第一编译文件的第二编译内容;
从所述待检测代码中提取所述第一编译内容对应的第一源代码行以及所述第二编译内容对应的第二源代码行;
基于所述第一源代码行与所述第二源代码行的行数关系,生成所述增量代码覆盖率检测结果。
本发明实施例还提供了一种业务开发方法,包括:
获取业务代码并进行编译,所述业务代码为基于待开发业务的预设业务需求开发的业务代码;
采用如本发明另一实施例所述的增量代码覆盖率检测方法对所述业务代码进行检测,生成对应的增量代码覆盖率检测结果;
判断所述增量代码覆盖率检测结果是否满足预设检测要求;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京自如信息科技有限公司,未经北京自如信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110645298.1/2.html,转载请声明来源钻瓜专利网。