本发明涉及数据监控,具体涉及一种代码覆盖率监控方法和设备。
背景技术:
1、基于k8s容器化部署的持续集成,能确保服务器资源利用率且提高测试效率,但同时也带来了一些挑战。依赖于jacoco实现的代码覆盖率工具,在采集覆盖率信息前需于镜像中引入覆盖率采集工具,并修改应用进程启动命令,采集覆盖率信息时需通过配置的socket ip及端口拉取覆盖率数据。在多应用多个环境执行多轮测试条件下,如何确保覆盖率准确性,减少覆盖率工具前置人工介入及基于k8s动态编排的ip获取等问题,在维护工作量及对jacoco、k8s知识的掌握都存在挑战。
技术实现思路
1、有鉴于此,本发明的目的在于提供一种代码覆盖率监控方法和设备,以克服目前无法自动对应用进行代码覆盖率监控的问题。
2、为实现以上目的,本发明采用如下技术方案:
3、第一方面,本申请提供了一种代码覆盖率监控方法,包括:
4、通过持续集成平台打包并部署应用,所述部署应用启动后将自动注册到自动化测试平台;
5、在所述自动化测试平台创建覆盖率监控任务,确定需要监控的目标应用;
6、启动所述覆盖率监控任务,对所述目标应用进行代码覆盖率监控。
7、进一步的,以上所述的方法,所述通过持续集成平台打包并部署应用,并获取部署所述应用的信息,包括:
8、通过持续集成平台打包并部署应用,在打包时镜像中引入改造后的jacocoagent.jar文件;
9、通过agent识别并推送部署的所述应用的信息和应用名称信息到数据库服务注册表中。
10、进一步的,以上所述的方法,所述应用的信息至少包括:应用的ip信息、port信息、运行环境信息和应用名称信息。
11、进一步的,以上所述的方法,所述在自动化测试平台创建覆盖率监控任务,确定需要监控的目标应用,包括:
12、在自动化测试平台创建覆盖率监控任务,在所述数据库服务注册表中选择目标应用、运行环境信息、任务定时采集时间、分支名称和报告过滤规则字段信息。
13、进一步的,以上所述的方法,所述启动所述覆盖率监控任务,对所述目标应用进行代码覆盖率监控,包括:
14、启动所述覆盖率监控任务,支持被测服务中断重启,对所述目标应用进行多轮覆盖率实时监控定时采集覆盖率信息和多环境覆盖率实时监控定时采集覆盖率信息,并支持跨环境继承、过程失败提醒;
15、对所述目标应用进行多轮覆盖率和多环境测试覆盖率进行合并;
16、根据所述报告过滤规则字段信息,刷新所述目标应用的覆盖率信息。
17、进一步的,以上所述的方法,还包括:
18、当所述目标应用的覆盖率信息达到监控截止时间时自动停止覆盖率监控任务。
19、第二方面,本申请提供了一种代码覆盖率监控设备,包括处理器和存储器,所述处理器与存储器相连:
20、其中,所述处理器,用于调用并执行所述存储器中存储的程序;
21、所述存储器,用于存储所述程序,所述程序至少用于执行以上任一项所述的代码覆盖率监控方法。
22、本发明的有益效果为:
23、本申请首先通过持续集成平台打包并部署应用,部署应用启动后将自动注册到自动化测试平台,在自动化测试平台创建覆盖率监控任务,确定需要监控的目标应用,启动覆盖率监控任务,对目标应用进行代码覆盖率监控,从而实现对目标应用进行自动的代码覆盖率监控,减少了人工的介入。
1.一种代码覆盖率监控方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述通过持续集成平台打包并部署应用,并获取部署所述应用的信息,包括:
3.根据权利要求2所述的方法,其特征在于,所述应用的信息至少包括:应用的ip信息、port信息、运行环境信息和应用名称信息。
4.根据权利要求3所述的方法,其特征在于,所述在自动化测试平台创建覆盖率监控任务,确定需要监控的目标应用,包括:
5.根据权利要求4所述的方法,其特征在于,所述启动所述覆盖率监控任务,对所述目标应用进行代码覆盖率监控,包括:
6.根据权利要求5所述的方法,其特征在于,还包括:
7.一种代码覆盖率监控设备,其特征在于,包括处理器和存储器,所述处理器与存储器相连: