[发明专利]代码测试覆盖率显示方法、装置、计算机设备及存储介质在审
申请号: | 202011601433.4 | 申请日: | 2020-12-29 |
公开(公告)号: | CN112631926A | 公开(公告)日: | 2021-04-09 |
发明(设计)人: | 贺建雄;吴学亮;梅强强;赵冬伟 | 申请(专利权)人: | 平安银行股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 深圳众鼎专利商标代理事务所(普通合伙) 44325 | 代理人: | 谭果林 |
地址: | 518000 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 测试 覆盖率 显示 方法 装置 计算机 设备 存储 介质 | ||
1.一种代码测试覆盖率显示方法,其特征在于,包括:
当接收到覆盖率分析指令后,从代码仓库管理系统中获取功能分支对应的主分支代码;
获取所述功能分支对应的全量代码,根据所述全量代码和所述主分支代码,确定所述功能分支的增量代码;
对所述功能分支的全量代码进行代码插桩处理,得到测试代码文件;
执行所述测试代码文件,以通过插桩代码获取执行到所述全量代码的第一代码行时对应的第一运行信息,以及执行到所述增量代码的第二代码行时对应的第二运行信息,所述第一代码行为所述全量代码的任一代码行,所述第二代码行为所述增量代码的任一代码行;
根据所述第一运行信息,获取执行到所述第一代码行时对应的全量代码覆盖率;并,根据所述第二运行信息,获取执行到所述第二代码行时对应的增量代码覆盖率;
实时显示执行到所述第一代码行时对应的全量代码覆盖率,并在所述第二代码行时对应的增量代码覆盖率。
2.如权利要求1所述的代码测试覆盖率显示方法,其特征在于,所述根据所述第一运行信息,获取执行到所述第一代码行时对应的全量代码覆盖率,包括:
解析所述第一运行信息,获取执行到所述第一代码行时,所述第一代码行之前的代码被执行过至少一次的类的数量,以及所述全量代码中所包含的所有类的数量;
计算所述第一代码行之前的代码被执行过至少一次的类的数量,与所述全量代码中所包含的所有类的数量的比值,获得执行到所述第一代码行时对应的全量代码覆盖率;
所述根据所述第二运行信息,获取执行到所述第二代码行时对应的增量代码覆盖率,包括:
解析所述第二运行信息,获取执行到所述第二代码行时,所述第二代码行之前的代码被执行过至少一次的类的数量,以及所述增量代码中所包含的所有类的数量;
计算所述第二代码行之前的代码被执行过至少一次的类的数量,与所述增量代码中所包含的所有类的数量的比值,获得执行到所述第二代码行时对应的增量代码覆盖率。
3.如权利要求1所述的代码测试覆盖率显示方法,其特征在于,所述从代码仓库管理系统中获取所述功能分支对应的主分支代码之前,所述方法还包括:
接收所述代码发布工具反馈的覆盖率分析指令,所述覆盖率分析指令为用户通过所述代码发布工具,发布所述功能分支的代码至测试环境进行测试时所发送。
4.如权利要求1所述的代码测试覆盖率显示方法,其特征在于,所述第一运行信息包括执行到所述第一代码行时的未覆盖代码信息和已覆盖代码信息,所述对所述测试代码文件进行测试,以通过插桩代码获取执行到全量代码的第一代码时对应的第一运行信息之后,还包括:
利用所述未覆盖代码信息和已覆盖代码信息,对应确定执行到所述第一代码行时,所述全量代码中的未覆盖代码和已覆盖代码;
实时对所述未覆盖代码和已覆盖代码进行区别染色显示。
5.如权利要求1-4任一项所述的代码测试覆盖率显示方法,其特征在于,所述根据所述第一运行信息,获取执行到所述第一代码行时对应的全量代码覆盖率;并,根据所述第二运行信息,获取执行到所述第二代码行时对应的增量代码覆盖率之后,所述方法还包括:
按照设定的统计时长,收集所述全量代码覆盖率和增量代码覆盖率;
生成所述统计时长对应的代码覆盖率报告,并将代码覆盖率报告定时上报至代码覆盖率分析系统;
检测各所述功能分支对应的代码覆盖率报告,以确定出所述代码覆盖率报告中不达标的功能分支对应的应用;
对所述代码覆盖率报告不达标的功能分支对应的应用进行预警提示,所述预警提示用于提示所述不达标的功能分支对应的应用禁止发布至生产环境中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安银行股份有限公司,未经平安银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011601433.4/1.html,转载请声明来源钻瓜专利网。