[发明专利]代码覆盖率计算分析方法、装置、设备及存储介质在审
申请号: | 201810569232.7 | 申请日: | 2018-06-05 |
公开(公告)号: | CN108829593A | 公开(公告)日: | 2018-11-16 |
发明(设计)人: | 沈瑶;冯捷;樊丰春;陈铮 | 申请(专利权)人: | 平安壹钱包电子商务有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京英特普罗知识产权代理有限公司 11015 | 代理人: | 林彦之 |
地址: | 518019 广东省深圳市福田区福田*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码覆盖率 覆盖率报告 文件夹 存储介质 计算分析 覆盖率 计算机技术领域 测试覆盖率 工具生成 合并算法 命令生成 文件保存 代码库 打包 编译 变更 合并 保存 | ||
1.一种代码覆盖率计算分析方法,其特征在于,包括以下步骤:
S1、通过git命令从代码库中获取当前版本的代码和所述代码对应的commit id;
S2、对所述代码进行打包以生成相应的测试包,同时编译所述代码以生成编译后的文件,然后将测试包和编译后的文件保存至以该代码对应的commit id命名的文件夹中;
S3、接收测试员上传的测试包进行测试后生成的以代码的commit id命名的覆盖率文件,并将所述覆盖率文件保存至以所述commit id命名的文件夹中;
S4、通过代码覆盖率工具对所述commit id文件中的文件进行计算以生成当前代码的测试覆盖率报告;
S5、通过合并算法将当前版本代码的测试覆盖率报告与前一次版本代码的测试覆盖率报告进行合并,生成全量的覆盖率报告;
S6、通过git diff命令得出当前版本代码与前一次版本代码相比变更部分的代码,从所述全量覆盖率报告中取出与所述变更部分的代码相对应的代码覆盖率,生成增量的覆盖率报告。
2.根据权利要求1所述的代码覆盖率计算分析方法,其特征在于,该方法还包括以下步骤:
S7、将所述增量的覆盖率报告和全量的覆盖率报告发送给对当前版本代码进行测试的测试员。
3.根据权利要求1或2所述的代码覆盖率计算分析方法,其特征在于,所述代码包括应用于IOS端上的安装程序和应用于安卓端上的安装程序。
4.根据权利要求3所述的代码覆盖率计算分析方法,其特征在于,当所述代码为应用于IOS端上的安装程序时,所述编译后的文件为gcno文件,所述覆盖率文件为gcda文件。
5.根据权利要求3所述的代码覆盖率计算分析方法,其特征在于,所述代码为应用于安卓端上的安装程序时,所述编译后的文件包括class文件和source文件,所述覆盖率文件为ec文件。
6.根据权利要求3所述的代码覆盖率计算分析方法,其特征在于,所述全量的覆盖率报告的生成过程如下:
S51、通过git diff命令得出当前版本代码与前一次版本代码相比变更部分的代码,从而计算出代码的偏移量;
S52、根据代码的偏移量,将前一次版本代码的测试覆盖率报告中的代码覆盖率合并到当前版本代码的测试覆盖率报告中。
7.根据权利要求3所述的代码覆盖率计算分析方法,其特征在于,所述覆盖率文件由测试员在手机终端上安装测试包进行测试后自动生成。
8.一种电子装置,其特征在于,所述电子装置上存储有代码覆盖率计算分析系统,所述代码覆盖率计算分析系统包括:
代码获取模块,用于通过git命令从代码库中获取当前版本的代码和该代码对应的commit id;
打包编译模块,用于对所述代码进行打包以生成相应的测试包,同时编译所述代码以生成编译后的文件,然后将测试包和编译后的文件保存至以该代码对应的commit id命名的文件夹中;
覆盖率文件接收模块,用于接收测试员上传的测试包进行测试后生成的以代码的commit id命名的覆盖率文件,并将所述覆盖率文件保存至以所述commit id命名的文件夹中;
当前报告生成模块,用于通过代码覆盖率工具对所述commit id文件中的文件进行计算以生成当前代码的测试覆盖率报告;
全量报告生成模块,用于通过合并算法将当前版本代码的测试覆盖率报告与前一次版本代码的测试覆盖率报告进行合并,生成全量的覆盖率报告;
增量报告生成模块,用于通过git diff命令得出当前版本代码与前一次版本代码相比变更部分的代码,从所述全量覆盖率报告中取出与所述变更部分的代码相对应的代码覆盖率,生成增量的覆盖率报告。
9.一种计算机设备,包括存储器和处理器,其特征在于,所述存储器上存储有可被所述处理器执行的代码覆盖率计算分析系统,所述系统被所述处理器执行时实现如权利要求1-7中任一项所述的代码覆盖率计算分析方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有代码覆盖率计算分析系统,所述代码覆盖率计算分析系统可被至少一个处理器所执行,以使所述至少一个处理器执行如权利要求1-7中任一项所述的代码覆盖率计算分析方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安壹钱包电子商务有限公司,未经平安壹钱包电子商务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810569232.7/1.html,转载请声明来源钻瓜专利网。