代码覆盖率监测方法、装置、电子设备及存储介质制造方法及图纸

技术编号:24852940 阅读:17 留言:0更新日期:2020-07-10 19:06
本发明专利技术涉及测试技术领域,提供一种代码覆盖率监测方法、装置、电子设备及存储介质。该方法能够在目标动态脚本的代码中布置代理节点,当接收到对所述目标动态脚本的调用请求时,执行所述目标动态脚本,并通过所述代理节点记录所述目标动态脚本的代码执行信息,进一步获取并解析所述代码执行信息,得到代码覆盖率数据集,以便通过代理节点实现对代码覆盖率的实时监测,且解决了代码覆盖率丢失的问题。

【技术实现步骤摘要】
代码覆盖率监测方法、装置、电子设备及存储介质
本专利技术涉及测试
,尤其涉及一种代码覆盖率监测方法、装置、电子设备及存储介质。
技术介绍
随着人工智能的浪潮席卷全球,检验代码测试质量显得十分重要。代码覆盖率作为表征代码测试质量的指标,对其实时获取和监控的需求正在日渐凸显。在传统的代码覆盖率统计方案中,一般采用人工分析的方式对动态脚本的代码覆盖率统计,效率低下,且准确度较低。因此,业内大多使用开源的覆盖率统计工具对代码覆盖率进行统计,这些统计工具工作模式是定时去收集代码覆盖率数据,代码覆盖率统计数据可能会丢失,如:应用重启时会丢失代码覆盖率数据,导致代码覆盖率统计较为被动且滞后。
技术实现思路
鉴于以上内容,有必要提供一种代码覆盖率监测方法、装置、电子设备及存储介质,能够通过代理节点实现对代码覆盖率的实时监测,且解决了代码覆盖率丢失的问题。为了解决上述问题,本专利技术提出一种代码覆盖率监测方法,所述方法包括:在目标动态脚本的代码中布置代理节点;当接收到对所述目标动态脚本的调用请求时,执行所述目标动态脚本;通过所述代理节点记录所述目标动态脚本的代码执行信息;获取并解析所述代码执行信息,得到代码覆盖率数据集。根据本专利技术优选实施例,所述在目标动态脚本的代码中布置代理节点包括:确定所述目标动态脚本的各个代码段的代码类型;将各个代码类型在预设的配置规则中进行匹配;在匹配的代码类型所对应的代码段上布置代理节点。根据本专利技术优选实施例,所述确定所述目标动态脚本的各个代码段的代码类型包括:确定所述目标动态脚本的各个代码分支,并确定每个代码分支的每个子代码段的代码类型。根据本专利技术优选实施例,所述通过所述代理节点记录所述目标动态脚本的代码执行信息包括:通过所述代理节点监控接入层日志,并传输接入层调用的分配拓扑信息;或者通过所述代理节点对应用程序调用的拓扑进行探测,并传输数据;或者通过所述代理节点,基于SNMP协议(SimpleNetworkManagementProtocol,简单网络管理协议)对网络逻辑拓扑进行探测,并传输数据;或者通过所述代理节点,基于接口流量分析法对物理端口进行探测,并传输数据。根据本专利技术优选实施例,在通过所述代理节点记录所述目标动态脚本的代码执行信息后,所述方法还包括:对所述代码执行信息进行数据压缩,得到所述代码执行信息的压缩文件集合;将所述压缩文件集合存储至数据库。根据本专利技术优选实施例,所述获取并解析所述代码执行信息,得到代码覆盖率数据集包括:从所述数据库中获取所述压缩文件集合;对所述压缩文件集合进行数据解压,得到所述代码执行信息;从所述代码执行信息中获取所述目标动态脚本的测试用例标识;将所述调用请求与所述测试用例标识进行关键字匹配,得到匹配结果;基于所述匹配结果计算每个时段的代码覆盖率;集成计算的代码覆盖率,得到所述代码覆盖率数据集。根据本专利技术优选实施例,所述方法还包括:根据所述预设的配置规则对所述代码覆盖率数据集中的代码覆盖率进行标签处理,得到标签集合;对所述标签集合进行可视化处理,得到处理结果;实时显示所述处理结果。为了解决上述问题,本专利技术还提出一种代码覆盖率监测装置,所述装置包括:布置单元,用于在目标动态脚本的代码中布置代理节点;执行单元,用于当接收到对所述目标动态脚本的调用请求时,执行所述目标动态脚本;记录单元,用于通过所述代理节点记录所述目标动态脚本的代码执行信息;解析单元,用于获取并解析所述代码执行信息,得到代码覆盖率数据集。根据本专利技术优选实施例,所述布置单元在目标动态脚本的代码中布置代理节点包括:确定所述目标动态脚本的各个代码段的代码类型;将各个代码类型在预先设定的配置规则中进行匹配;在匹配的代码类型所对应的代码段上布置代理节点。根据本专利技术优选实施例,所述确定所述目标动态脚本的各个代码段的代码类型包括:确定所述目标动态脚本的各个代码分支,并确定每个代码分支的每个子代码段的代码类型。根据本专利技术优选实施例,所述记录单元具体用于:通过所述代理节点监控接入层日志,并传输接入层调用的分配拓扑信息;或者通过所述代理节点对应用程序调用的拓扑进行探测,并传输数据;或者通过所述代理节点,基于SNMP协议对网络逻辑拓扑进行探测,并传输数据;或者通过所述代理节点,基于接口流量分析法对物理端口进行探测,并传输数据。根据本专利技术优选实施例,所述装置还包括:压缩单元,用于在通过所述代理节点记录所述目标动态脚本的代码执行信息后,对所述代码执行信息进行数据压缩,得到所述代码执行信息的压缩文件集合;存储单元,用于将所述压缩文件集合存储至数据库。根据本专利技术优选实施例,所述解析单元具体用于:从所述数据库中获取所述压缩文件集合;对所述压缩文件集合进行数据解压,得到所述代码执行信息;从所述代码执行信息中获取所述目标动态脚本的测试用例标识;将所述调用请求与所述测试用例标识进行关键字匹配,得到匹配结果;基于所述匹配结果计算每个时段的代码覆盖率;集成计算的代码覆盖率,得到所述代码覆盖率数据集。根据本专利技术优选实施例,所述装置还包括:处理单元,用于根据所述预设的配置规则对所述代码覆盖率数据集中的代码覆盖率进行标签处理处理,得到标签集合;所述处理单元,还用于对所述标签集合进行可视化处理,得到处理结果;显示单元,用于实时显示所述处理结果。为了解决上述问题,本专利技术还提出一种电子设备,所述电子设备包括:存储器,存储至少一个指令;及处理器,执行所述存储器中存储的指令以实现所述代码覆盖率监测方法。为了解决上述问题,本专利技术还提出一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现所述代码覆盖率监测方法。由以上技术方案可以看出,本专利技术能够在目标动态脚本的代码中布置代理节点,当接收到对所述目标动态脚本的调用请求时,执行所述目标动态脚本,并通过所述代理节点记录所述目标动态脚本的代码执行信息,进一步获取并解析所述代码执行信息,得到代码覆盖率数据集,以便通过代理节点实现对代码覆盖率的实时监测,且解决了代码覆盖率丢失的问题。附图说明图1是本专利技术代码覆盖率监测方法的较佳实施例的流程图。图2是本专利技术代码覆盖率监测装置的较佳实施例的功能模块图。图3是本专利技术实现代码覆盖率监测方法的较佳实施例的电子设备的结构示意图。具体实施方式为了使本专利技术的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本专利技术进行详细描述。如图1所示,是本专利技术代码覆盖率监测方本文档来自技高网...

【技术保护点】
1.一种代码覆盖率监测方法,其特征在于,所述方法包括:/n在目标动态脚本的代码中布置代理节点;/n当接收到对所述目标动态脚本的调用请求时,执行所述目标动态脚本;/n通过所述代理节点记录所述目标动态脚本的代码执行信息;/n获取并解析所述代码执行信息,得到代码覆盖率数据集。/n

【技术特征摘要】
1.一种代码覆盖率监测方法,其特征在于,所述方法包括:
在目标动态脚本的代码中布置代理节点;
当接收到对所述目标动态脚本的调用请求时,执行所述目标动态脚本;
通过所述代理节点记录所述目标动态脚本的代码执行信息;
获取并解析所述代码执行信息,得到代码覆盖率数据集。


2.如权利要求1所述的代码覆盖率监测方法,其特征在于,所述在目标动态脚本的代码中布置代理节点包括:
确定所述目标动态脚本的各个代码段的代码类型;
将各个代码类型在预设的配置规则中进行匹配;
在匹配的代码类型所对应的代码段上布置代理节点。


3.如权利要求2所述的代码覆盖率监测方法,其特征在于,所述确定所述目标动态脚本的各个代码段的代码类型包括::
确定所述目标动态脚本的各个代码分支,并确定每个代码分支的每个子代码段的代码类型。


4.如权利要求1所述的代码覆盖率监测方法,其特征在于,所述通过所述代理节点记录所述目标动态脚本的代码执行信息包括:
通过所述代理节点监控接入层日志,并传输接入层调用的分配拓扑信息;或者
通过所述代理节点对应用程序调用的拓扑进行探测,并传输数据;或者
通过所述代理节点,基于SNMP协议对网络逻辑拓扑进行探测,并传输数据;或者
通过所述代理节点,基于接口流量分析法对物理端口进行探测,并传输数据。


5.如权利要求1所述的代码覆盖率监测方法,其特征在于,在通过所述代理节点记录所述目标动态脚本的代码执行信息后,所述方法还包括:
对所述代码执行信息进行数据压缩,得到所述代码执行信息的压缩文件集合;
将所述压缩文件集合存储至数据库。


6....

【专利技术属性】
技术研发人员:胡东闻全佳君赵冬伟
申请(专利权)人:平安银行股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1