本技术涉及测试监控,具体涉及一种基于代码覆盖率的测试监控方法、装置、设备和存储介质。
背景技术:
1、代码覆盖率是对目标域的集成测试、自动化测试过程结果的重要度量,因此通常需要一个单独的代码覆盖率生成系统。在对测试过程进行度量、评估时,代码覆盖率生成系统一般需要进行各种操作,还需要进行结果的展示,并且这些过程都需要在代码覆盖率生成系统中单独进行。
2、但是在代码覆盖率系统中进行操作和结果展示就需要用户反复去代码覆盖率系统中查看,严重降低用户的工作效率,并且在代码覆盖率系统中进行操作和结果展示都是单独进行的过程,不利于整体操作的流畅性和结果反馈的及时性。
技术实现思路
1、有鉴于此,本技术提供了一种基于代码覆盖率的测试监控方法、装置、设备和存储介质,用于解决在代码覆盖率系统中进行操作和结果展示需要用户反复去代码覆盖率系统中查看,严重降低用户的工作效率,并且在代码覆盖率系统中进行操作和结果展示都是单独进行的过程,不利于整体操作的流畅性和结果反馈的及时性的问题。
2、为实现以上目的,现提出的方案如下:
3、第一方面,一种基于代码覆盖率的测试监控方法,包括:
4、实时监控目标域中的每一个测试步骤,并获取每一个所述测试步骤的初始消息;
5、根据每一个所述测试步骤的初始消息,分别判断每一个所述测试步骤是否属于触发代码覆盖率生成的步骤;
6、将属于触发代码覆盖率生成的各个测试步骤作为各个目标步骤;
7、从各个所述目标步骤的初始信息中获取所述目标域的各个域信息,并建立所述目标域的平台配置;
8、基于所述目标域的各个域信息以及平台配置,确定所述目标域的代码覆盖率;
9、利用所述代码覆盖率确定所述目标域的测试完成度。
10、优选地,所述获取每一个所述测试步骤的初始消息,包括:
11、针对每一个所述测试步骤,获取与所述目标域对应的整体域消息;
12、在该测试步骤的开始执行时刻,确定与该测试步骤在所述开始执行时刻对应的第一执行消息;
13、在该测试步骤的结束执行时刻,确定与该测试步骤在所述结束执行时刻对应的第二执行消息;
14、将所述整体域消息、第一执行消息以及第二执行消息进行汇总,得到该测试步骤的初始消息。
15、优选地,所述根据每一个所述测试步骤的初始消息,分别判断每一个所述测试步骤是否属于触发代码覆盖率生成的步骤,包括:
16、判断所述目标域的每一个所述测试步骤的初始消息中是否存在预设的部署消息;
17、将存在所述部署信息的测试步骤确定为属于触发代码覆盖率生成的步骤;
18、将不存在所述部署信息的测试步骤确定为不属于触发代码覆盖率生成的步骤。
19、优选地,所述从各个所述目标步骤的初始信息中获取所述目标域的各个域信息,包括:
20、从各个所述目标步骤中将所述目标域的域名、分支名称、环境名称、代码提交名称、代码提交用户名、代码类型以及代码仓库地址作为所述目标域的各个域信息。
21、优选地,所述基于所述目标域的各个域信息以及平台配置,确定所述目标域的代码覆盖率,包括:
22、从每一个所述目标步骤的初始消息中分别提取每一个所述目标步骤的目标消息;
23、将每一个所述目标步骤的目标消息与所述目标域的各个域信息进行结合,得到每一个所述目标步骤的结合信息;
24、确定各个所述目标步骤的结合信息的待配置属性;
25、按照所述平台配置,并根据所述待配置属性,对各个所述目标步骤的结合信息进行配置,以确定各个所述目标步骤的代码信息;
26、基于各个所述目标步骤的代码信息生成所述目标域的代码覆盖率。
27、优选地,所述从每一个所述目标步骤的初始消息中分别提取每一个所述目标步骤的目标消息,包括:
28、针对每一个所述目标步骤的初始消息,对该目标步骤的初始消息进行拆解,得到所述初始消息中的各条第一消息;
29、获取各条所述第一消息的消息类型以及消息阶段;
30、从各条所述第一消息中,将所述第一消息的消息类型为预设的目标类型,且所述消息阶段为预设的目标阶段的第一消息作为与该第一消息对应的第二消息;
31、将各条所述第二消息作为与该目标步骤对应的目标消息。
32、优选地,所述利用所述代码覆盖率确定所述目标域的测试完成度,包括:
33、利用所述代码覆盖率计算所述目标域的代码全量覆盖率、代码差异覆盖率以及代码行覆盖率;
34、判断所述代码全量覆盖率是否大于第一预设阈值,且所述代码差异覆盖率大于第二预设阈值,同时所述代码行覆盖率不小于第三预设阈值;
35、若是,则确定所述目标域的测试完成度为合格;
36、若否,则确定所述目标域的测试完成度为不合格。
37、第二方面,一种基于代码覆盖率的测试监控装置,包括:
38、初始消息获取模块,用于实时监控目标域中的每一个测试步骤,并获取每一个所述测试步骤的初始消息;
39、判断模块,用于根据每一个所述测试步骤的初始消息,分别判断每一个所述测试步骤是否属于触发代码覆盖率生成的步骤;
40、目标步骤确定模块,用于将属于触发代码覆盖率生成的各个测试步骤作为各个目标步骤;
41、信息和配置确定模块,用于从各个所述目标步骤的初始信息中获取所述目标域的各个域信息,并建立所述目标域的平台配置;
42、代码覆盖率确定模块,用于基于所述目标域的各个域信息以及平台配置,确定所述目标域的代码覆盖率;
43、测试完成度确定模块,用于利用所述代码覆盖率确定所述目标域的测试完成度。
44、第三方面,一种基于代码覆盖率的测试监控设备,包括存储器和处理器;
45、所述存储器,用于存储程序;
46、所述处理器,用于执行所述程序,实现如第一方面所述的基于代码覆盖率的测试监控方法的各个步骤。
47、第四方面,一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如第一方面所述的基于代码覆盖率的测试监控方法的各个步骤。
48、从上述技术方案可以看出,本技术实时监控目标域中的每一个测试步骤,并获取每一个所述测试步骤的初始消息;根据每一个所述测试步骤的初始消息,分别判断每一个所述测试步骤是否属于触发代码覆盖率生成的步骤;将属于触发代码覆盖率生成的各个测试步骤作为各个目标步骤;从各个所述目标步骤的初始信息中获取所述目标域的各个域信息,并建立所述目标域的平台配置;基于所述目标域的各个域信息以及平台配置,确定所述目标域的代码覆盖率;利用所述代码覆盖率确定所述目标域的测试完成度。该方案通过实时监控目标域中的测试步骤,并且获取消息,再根据消息生成代码覆盖率,以将目标域的测试过程和代码覆盖率的生成过程进行紧密的连接,节省了用户反复登录代码覆盖率系统查看的步骤,提升用户的工作效率,有利于提升整体操作的流畅性和测试完成度结果反馈的及时性;另外,通过从各个测试步骤中确定需要生成代码覆盖率的目标步骤,可以提高代码覆盖率的生成效率,省去对不需要生成代码覆盖率步骤的操作过程。
49、在另一方面,在代码覆盖率的生成过程中不仅仅是根据测试步骤的情况,还考虑到目标域的域信息以及平台配置,因此可以更加准确的确定目标域真实的代码覆盖率,以便更好的判断目标域的测试完成度。