[发明专利]代码覆盖率分析方法及应用服务器有效
申请号: | 201710933579.0 | 申请日: | 2017-10-10 |
公开(公告)号: | CN107797923B | 公开(公告)日: | 2019-04-26 |
发明(设计)人: | 熊星 | 申请(专利权)人: | 平安科技(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 深圳市沃德知识产权代理事务所(普通合伙) 44347 | 代理人: | 高杰;于志光 |
地址: | 518000 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 覆盖率 分析 方法 应用 服务器 | ||
1.一种代码覆盖率分析方法,应用于应用服务器,其特征在于,所述方法包括:
当接收到终端设备发送的程序源代码时,分析所述源代码的结构;
根据所述源代码的结构生成所述源代码的功能逻辑分支,包括:分析所述源代码的结构,形成所述源代码的语法树,根据所述语法树查找功能函数及与功能函数的调用关系,及根据所述功能函数的调用关系,生成所述源代码的功能逻辑分支;
将所述源代码的功能逻辑分支与预存储在所述应用服务器的测试项目逻辑分支进行比较;
根据比较结果生成所述源代码的功能逻辑分支覆盖率报告;
将所述功能逻辑分支覆盖率报告反馈至所述终端设备。
2.如权利要求1所述的代码覆盖率分析方法,其特征在于,所述将所述源代码的功能逻辑分支与预存储在应用服务器的测试案例逻辑分支进行比较,生成所述源代码的功能逻辑分支覆盖率报告的步骤之前,还包括如下步骤:
当接收到所述终端设备发送的程序源代码时,获取所述源代码的标识;
根据所述标识匹配预存储在所述应用服务器的测试项目逻辑分支;
调取所述测试项目逻辑分支。
3.如权利要求1所述的代码覆盖率分析方法,其特征在于,所述生成所述源代码的功能逻辑分支覆盖率报告的步骤,具体包括:
判断所述源代码的功能逻辑分支是否已经全部覆盖所述测试项目逻辑分支;
当所述源代码的功能逻辑分支没有全部覆盖所述测试项目逻辑分支时,标注未覆盖的测试项目逻辑分支;
生成包含有标注有未覆盖的测试项目逻辑分支的功能逻辑分支覆盖率报告。
4.如权利要求1-3任一项所述的代码覆盖率分析方法,其特征在于,所述方法还包括:
设定一个存储空间;
存储所述功能逻辑分支覆盖率报告以及所述源代码至所述存储空间。
5.一种应用服务器,其特征在于,所述应用服务器包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的代码覆盖率分析系统,所述代码覆盖率分析系统被所述处理器执行时实现如下步骤:
当接收到终端设备发送的程序源代码时,分析所述源代码的结构;
根据所述源代码的结构生成所述源代码的功能逻辑分支,包括:分析所述源代码的结构,形成所述源代码的语法树,根据所述语法树查找功能函数及与功能函数的调用关系,及根据所述功能函数的调用关系,生成所述源代码的功能逻辑分支;
将所述源代码的功能逻辑分支与预存储在所述应用服务器的测试项目逻辑分支进行比较;
根据比较结果生成所述源代码的功能逻辑分支覆盖率报告;
将所述功能逻辑分支覆盖率报告反馈至所述终端设备。
6.如权利要求5所述的应用服务器,其特征在于,所述将所述源代码的功能逻辑分支与预存储在应用服务器的测试案例逻辑分支进行比较,生成所述源代码的功能逻辑分支覆盖率报告的步骤之前,还包括如下步骤:
当接收到所述终端设备发送的程序源代码时,获取所述源代码的标识;
根据所述标识匹配预存储在所述应用服务器的测试项目逻辑分支;
调取所述测试项目逻辑分支。
7.如权利要求5所述的应用服务器,其特征在于,所述生成所述源代码的功能逻辑分支覆盖率报告的步骤,具体包括:
判断所述源代码的功能逻辑分支是否已经全部覆盖所述测试项目逻辑分支;
当所述源代码的功能逻辑分支没有全部覆盖所述测试项目逻辑分支时,标注未覆盖的测试项目逻辑分支;
生成包含有标注有未覆盖的测试项目逻辑分支的功能逻辑分支覆盖率报告。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有代码覆盖率分析系统,所述代码覆盖率分析系统可被至少一个处理器执行,以使所述至少一个处理器执行如权利要求1-4中任一项所述的代码覆盖率分析方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安科技(深圳)有限公司,未经平安科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710933579.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:性能测试脚本生成方法及装置
- 下一篇:一种SQL脚本的异常检测方法及其终端