[发明专利]代码覆盖率计算分析方法、装置、设备及存储介质在审
申请号: | 201810569232.7 | 申请日: | 2018-06-05 |
公开(公告)号: | CN108829593A | 公开(公告)日: | 2018-11-16 |
发明(设计)人: | 沈瑶;冯捷;樊丰春;陈铮 | 申请(专利权)人: | 平安壹钱包电子商务有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京英特普罗知识产权代理有限公司 11015 | 代理人: | 林彦之 |
地址: | 518019 广东省深圳市福田区福田*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码覆盖率 覆盖率报告 文件夹 存储介质 计算分析 覆盖率 计算机技术领域 测试覆盖率 工具生成 合并算法 命令生成 文件保存 代码库 打包 编译 变更 合并 保存 | ||
本发明公开了一种代码覆盖率计算分析方法、装置、设备及存储介质,属于计算机技术领域。该方法包括以下步骤:通过git命令从代码库中获取当前版本的代码和该代码对应的commit id;对所述代码打包和编译,保存至以该代码对应的commit id命名的文件夹中;接收以代码的commit id命名的覆盖率文件保存至以所述commit id命名的文件夹中;通过代码覆盖率工具生成当前代码的测试覆盖率报告;通过合并算法生成全量的覆盖率报告;通过git diff命令生成增量的覆盖率报告。本发明支持代码频繁变更后,不同代码之间覆盖率情况的合并,从而可以得到某版本精确的覆盖率文件。
技术领域
本发明涉及计算机技术领域,涉及一种代码覆盖率计算分析方法、装置、设备及存储介质。
背景技术
覆盖率是度量测试完整性的一个手段,是测试有效性的一个度量。通过已执行代码表示,用于可靠性、稳定性以及性能的评测。
测试覆盖是对测试完全程度的评测。测试覆盖是由测试需求和测试用例的覆盖或已执行代码的覆盖表示的。建立在对测试结果的评估和对测试过程中确定的变更请求(缺陷)的分析的基础上。
目前,覆盖率工具只有在代码不变更的情况下,才能计算覆盖率数据。但是,手机系统开发会在测试阶段因为需求变更或者缺陷修复而改动代码,从而一个版本会有多个测试包;而且,在同一时间也无法保证每个测试人员测试手机上安装的测试包一样,从而导致收集上来的覆盖率数据不准确,无法得出当前这个版本正确的覆盖率。
发明内容
本发明要解决的技术问题是为了克服现有技术中针对手机系统的代码覆盖率数据计算不准确的问题,提出了一种代码覆盖率计算分析方法、装置、设备及存储介质,通过对某个版本下的所有commit id下面的覆盖率文件进行合并计算,得到某版本精确的覆盖率文件。
本发明是通过下述技术方案来解决上述技术问题:
一种代码覆盖率计算分析方法,包括以下步骤:
S1、通过git命令从代码库中获取当前版本的代码和所述代码对应的 commit id;
S2、对所述代码进行打包以生成相应的测试包,同时编译所述代码以生成编译后的文件,然后将测试包和编译后的文件保存至以该代码对应的 commit id命名的文件夹中;
S3、接收测试员上传的测试包进行测试后生成的以代码的commit id命名的覆盖率文件,并将所述覆盖率文件保存至以所述commit id命名的文件夹中;
S4、通过代码覆盖率工具对所述commit id文件中的文件进行计算以生成当前代码的测试覆盖率报告;
S5、通过合并算法将当前版本代码的测试覆盖率报告与前一次版本代码的测试覆盖率报告进行合并,生成全量的覆盖率报告;
S6、通过git diff命令得出当前版本代码与前一次版本代码相比变更部分的代码,从所述全量覆盖率报告中取出与所述变更部分的代码相对应的代码覆盖率,生成增量的覆盖率报告。
优选地,该方法还包括以下步骤:
S7、将所述增量的覆盖率报告和全量的覆盖率报告发送给对当前版本代码进行测试的测试员。
优选地,所述代码包括应用于IOS端上的安装程序和应用于安卓端上的安装程序。
优选地,当所述代码为应用于IOS端上的安装程序时,所述编译后的文件为gcno文件,所述覆盖率文件为gcda文件。
优选地,所述代码为应用于安卓端上的安装程序时,所述编译后的文件包括class文件和source文件,所述覆盖率文件为ec文件。
优选地,所述全量的覆盖率报告的生成过程如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安壹钱包电子商务有限公司,未经平安壹钱包电子商务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810569232.7/2.html,转载请声明来源钻瓜专利网。