[发明专利]一种代码覆盖率采集方法、装置及设备在审
申请号: | 202210297289.2 | 申请日: | 2022-03-24 |
公开(公告)号: | CN114706767A | 公开(公告)日: | 2022-07-05 |
发明(设计)人: | 赵立;高峰;张伟斌 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F8/60;G06F9/455 |
代理公司: | 北京清源汇知识产权代理事务所(特殊普通合伙) 11644 | 代理人: | 刘瑞英 |
地址: | 310052 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 覆盖率 采集 方法 装置 设备 | ||
本申请公开了一种代码覆盖率采集方法、装置及设备。所述方法,包括:获得用于在集群中部署目标应用服务的部署文件;在所述部署文件中增加用于注入代码覆盖率工具的初始化容器的设置信息;所述初始化容器,在POD容器启动之前启动,并且所述初始化容器的启动命令为用于注入所述代码覆盖率工具的命令;使增加所述设置信息后的部署文件生效,以创建所述POD容器并使其运行于所述集群中的至少部分节点,运行于所述节点的POD容器提供所述目标应用服务;针对所述目标应用服务执行测试用例,基于注入的所述代码覆盖率工具采集所述目标应用服务对应的代码覆盖率。采用所述方法,解决了引入风险的问题以及降低了软件测试的人力成本。
技术领域
本申请涉及测试技术领域,具体涉及一种代码覆盖率采集方法、装置及设备。
背景技术
代码覆盖率是衡量软件测试工作充分性和完整性的重要指标之一。所谓代码覆盖率是指测试过程中已经被执行过的代码占准备测试总代码量的比例和程度。代码覆盖率关注的是哪些代码被执行到了,哪些代码没有被执行到。而目前,也有越来越多的应用服务采用Kubernets(即K8s)平台进行管理部署。因而,在K8s中采集应用服务的代码覆盖率以评估其软件质量显得非常重要。
现有技术中,通过代码覆盖率采集工具对基于K8s的应用服务进行代码覆盖率采集,在覆盖率采集工具的启动中,一般需要修改应用的镜像,在镜像中增加覆盖率采集工具,并修改应用进程启动命令。在覆盖率采集测试完成后正式上线前需要恢复修改过的进程启动命令,重新打包一个镜像。因而,容易增加镜像指令风险及引入线上问题,并且处理效率较低。另外,通过K8s的kubectl命令行工具执行命令以生成和采集代码覆盖率,因此需要人工介入,带来了学习成本及人工成本。
因此,如何在基于K8s的应用服务的代码覆盖率采集中降低风险是需要解决的问题。
发明内容
本申请实施例提供的代码覆盖率采集方法,针对基于K8s的应用服务的代码覆盖率采集提供了更合理方案,降低了代码覆盖率采集引入问题的风险,提高了代码覆盖率采集效率。
本申请实施例提供一种代码覆盖率采集方法,包括:获得用于在集群中部署目标应用服务的部署文件;所述部署文件为用于创建与所述目标应用服务对应的POD容器的资源清单文件;在所述部署文件中增加用于注入代码覆盖率工具的初始化容器的设置信息;所述初始化容器,在POD容器启动之前启动,并且所述初始化容器的启动命令为用于注入所述代码覆盖率工具的命令;使增加所述设置信息后的部署文件生效,以创建所述POD容器并使其运行于所述集群中的至少部分节点,运行于所述节点的POD容器提供所述目标应用服务;针对所述目标应用服务执行测试用例,基于注入的所述代码覆盖率工具采集所述目标应用服务对应的代码覆盖率。
可选的,还包括:在所述部署文件中增加第一存储资源的信息以及第二存储资源的信息;其中,所述第一存储资源用于存放所述代码覆盖率工具;所述第二存储资源用于所述目标应用服务对应的POD容器共享使用。
可选的,所述初始化容器的启动命令,为包含用于注入所述代码覆盖率工具的命令的可执行脚本,所述可执行脚本在所述初始化容器启动时执行以下步骤,以注入所述代码覆盖率工具:确定所述目标应用服务正式运行对应的第一可执行文件的环境目录,将所述环境目录及其内容拷贝到第二存储资源;将存储于所述第一存储资源中的带有代码覆盖率工具的第二可执行文件拷贝到第二存储资源的环境目录中,以使提供所述目标应用服务的POD容器中的进程在启动时由第一可执行文件进程替换为第二可执行文件进程。
可选的,还包括:在所述部署文件中将所述第二存储资源中环境目录的信息增加至与所述目标应用服务对应的容器资源的路径环境变量的起始位置,以使得根据所述容器资源创建的所述POD容器启动后能够通过环境变量将POD容器启动命令的查找指向于所述第二存储资源;所述POD容器启动命令在所述POD容器启动时使用所述第二存储资料中的所述第二可执行文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210297289.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种大口径特种管道加工装置
- 下一篇:一种工业自动化控制设备