技术新讯 > 计算推算,计数设备的制造及其应用技术 > 代码覆盖率测试方法、装置及系统与流程  >  正文

代码覆盖率测试方法、装置及系统与流程

  • 国知局
  • 2024-07-31 22:53:45

本公开涉及云测试,尤其涉及一种代码覆盖率测试方法、装置及系统。

背景技术:

1、在软件开发过程中,开发人员或者测试人员对于开发项目中各个服务的代码或者整个开发项目的完整代码都需要进行代码覆盖率测试,使得开发人员基于代码覆盖率测试结果进行代码优化,从而开发出优质代码。

2、现有技术中,开发人员开发出的代码一般存储在物理机上,开发平台从物理机上获取代码进行代码覆盖率测试。随着云平台功能的不断优化,很多代码由物理机上存储转移到云平台的容器中存储。然而,开发平台无法直接从云平台的容器中获取代码进行代码覆盖率测试。

3、因此,对于存储在云平台的容器中的代码,有必要提供一种有效的代码覆盖率测试方法,使得在代码开发过程基于代码覆盖率测试结果不断进行代码优化。

技术实现思路

1、为了解决上述技术问题,本公开提供了一种代码覆盖率测试方法、装置及系统。

2、第一方面,本公开提供了一种代码覆盖率测试方法,应用于云平台,所述方法包括:

3、响应于代码覆盖率测试请求,从所述云平台的目标容器中获取服务的镜像数据,其中,所述镜像数据基于所述服务的被测试文件和所述目标容器的容器配置数据生成;

4、基于所述镜像数据包含的所述目标容器的容器配置数据,对所述镜像数据包含的所述服务的被测试文件进行全量覆盖率测试,得到所述服务的全量覆盖率测试结果;

5、将所述服务的全量覆盖率测试结果传输至开发平台,其中,所述开发平台用于从所述全量覆盖率测试结果中分析出所述服务的增量覆盖率测试结果,所述全量覆盖率测试结果和所述增量覆盖率测试结果构成所述服务的代码覆盖率测试结果。

6、第二方面,本公开提供了一种代码覆盖率测试方法,应用于开发平台,所述方法包括:

7、响应于增量测试请求,获取云平台传输的服务的全量覆盖率测试结果,其中,所述服务的全量覆盖率测试结果由所述云平台响应于代码覆盖率测试请求,从所述云平台的目标容器中获取服务的镜像数据,并基于所述镜像数据包含的所述目标容器的容器配置数据,对所述镜像数据包含的所述服务的被测试文件进行全量覆盖率测试确定,所述镜像数据基于所述服务的被测试文件和所述目标容器的容器配置数据生成;

8、基于所述增量测试请求中的增量分支提取参数,从所述全量覆盖率测试结果中提取对应的增量代码分支,作为所述服务的增量代码覆盖率测试结果,其中,所述全量覆盖率测试结果和所述增量覆盖率测试结果构成所述服务的代码覆盖率测试结果。

9、第三方面,本公开提供了一种代码覆盖率测试装置,配置于云平台,所述装置包括:

10、第一获取模块,用于响应于代码覆盖率测试请求,从所述云平台的目标容器中获取服务的镜像数据,其中,所述镜像数据基于所述服务的被测试文件和所述目标容器的容器配置数据生成;

11、第一测试模块,用于基于所述镜像数据包含的所述目标容器的容器配置数据,对所述镜像数据包含的所述服务的被测试文件进行全量覆盖率测试,得到所述服务的全量覆盖率测试结果;

12、第二测试模块,用于将所述服务的全量覆盖率测试结果传输至开发平台,其中,所述开发平台用于从所述全量覆盖率测试结果中分析出所述服务的增量覆盖率测试结果,所述全量覆盖率测试结果和所述增量覆盖率测试结果构成所述服务的代码覆盖率测试结果。

13、第四方面,本公开提供了一种代码覆盖率测试装置,配置于开发平台,所述装置包括:

14、第二获取模块,用于响应于增量测试请求,获取云平台传输的服务的全量覆盖率测试结果,其中,所述服务的全量覆盖率测试结果由所述云平台响应于代码覆盖率测试请求,从所述云平台的目标容器中获取服务的镜像数据,并基于所述镜像数据包含的所述目标容器的容器配置数据,对所述镜像数据包含的所述服务的被测试文件进行全量覆盖率测试确定,所述镜像数据基于所述服务的被测试文件和所述目标容器的容器配置数据生成;

15、第三测试模块,用于基于所述增量测试请求中的增量分支提取参数,从所述全量覆盖率测试结果中提取对应的增量代码分支,作为所述服务的增量代码覆盖率测试结果,其中,所述全量覆盖率测试结果和所述增量覆盖率测试结果构成所述服务的代码覆盖率测试结果。

16、第五方面,本公开实施例还提供了一种代码覆盖率测试系统,包括:

17、云平台,用于响应于代码覆盖率测试请求,从所述云平台的目标容器中获取服务的镜像数据,其中,所述镜像数据基于所述服务的被测试文件和所述目标容器的容器配置数据生成;基于所述镜像数据包含的所述目标容器的容器配置数据,对所述镜像数据包含的所述服务的被测试文件进行全量覆盖率测试,得到所述服务的全量覆盖率测试结果;将所述服务的全量覆盖率测试结果传输至开发平台;

18、开发平台,用于响应于增量测试请求,获取所述云平台传输的服务的全量覆盖率测试结果;基于所述增量测试请求中的增量分支提取参数,从所述全量覆盖率测试结果中提取对应的增量代码分支,作为所述服务的增量代码覆盖率测试结果,其中,所述全量覆盖率测试结果和所述增量覆盖率测试结果构成所述服务的代码覆盖率测试结果。

19、本公开实施例提供的技术方案与现有技术相比具有如下优点:

20、本公开实施例的一种代码覆盖率测试方法、装置及系统,包括:响应于代码覆盖率测试请求,从云平台的目标容器中获取服务的镜像数据,其中,镜像数据基于服务的被测试文件和目标容器的容器配置数据生成;基于镜像数据包含的目标容器的容器配置数据,对镜像数据包含的服务的被测试文件进行全量覆盖率测试,得到服务的全量覆盖率测试结果;将服务的全量覆盖率测试结果传输至开发平台,其中,开发平台用于从全量覆盖率测试结果中分析出服务的增量覆盖率测试结果,全量覆盖率测试结果和增量覆盖率测试结果构成服务的代码覆盖率测试结果。这样,对于存储至云平台不同容器中各服务对应的镜像数据,首先利用云平台基于镜像数据进行全量覆盖率测试,然后利用开发平台基于全量覆盖率测试结果分析出增量覆盖率测试结果,由此可以完成对存储在容器中代码进行代码覆盖率测试,使得在代码开发过程基于代码覆盖率测试结果不断进行代码优化,从而开发出优质代码。

技术特征:

1.一种代码覆盖率测试方法,其特征在于,应用于云平台,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述响应于代码覆盖率测试请求,从所述云平台的目标容器中获取服务的镜像数据,包括:

3.根据权利要求1所述的方法,其特征在于,所述基于所述镜像数据包含的所述目标容器的容器配置数据,对所述镜像数据包含的所述服务的被测试文件进行全量覆盖率测试,得到所述服务的全量覆盖率测试结果,包括:

4.根据权利要求1所述的方法,其特征在于,在所述响应于代码覆盖率测试请求,从所述云平台的目标容器中获取服务的镜像数据之前,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,所述获取所述云平台的目标容器的容器配置代码,生成所述目标容器的容器配置数据,包括:

6.根据权利要求4所述的方法,其特征在于,在所述将所述镜像数据存储至所述目标容器中之后,所述方法还包括:

7.一种代码覆盖率测试方法,其特征在于,应用于开发平台,所述方法包括:

8.一种代码覆盖率测试装置,其特征在于,配置于云平台,所述装置包括:

9.一种代码覆盖率测试装置,其特征在于,配置于开发平台,所述装置包括:

10.一种代码覆盖率测试系统,其特征在于,包括:

技术总结本公开涉及一种代码覆盖率测试方法、装置及系统,包括:响应于代码覆盖率测试请求,从云平台的目标容器中获取服务的镜像数据,其中,镜像数据基于服务的被测试文件和目标容器的容器配置数据生成;基于镜像数据包含的目标容器的容器配置数据,对镜像数据包含的服务的被测试文件进行全量覆盖率测试,得到服务的全量覆盖率测试结果;将服务的全量覆盖率测试结果传输至开发平台,其中,开发平台用于从全量覆盖率测试结果中分析出服务的增量覆盖率测试结果,全量覆盖率测试结果和增量覆盖率测试结果构成服务的代码覆盖率测试结果。能够对容器中的代码进行测试,使得在代码开发过程基于测试结果优化代码,以开发出优质代码。技术研发人员:田书婷,张彬彬,生兆花,杨文新受保护的技术使用者:北京易真学思教育科技有限公司技术研发日:技术公布日:2024/7/29

本文地址:https://www.jishuxx.com/zhuanli/20240730/195223.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。