System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及代码测试,特别是涉及一种前后端综合代码覆盖率生成方法、系统、装置及存储介质。
技术介绍
1、代码覆盖率(code coverage)是软件测试中的常用指标,用于衡量测试的质量和测试覆盖的范围。由于安卓(android)应用是以http进行前后端信息交互,为了保障测试过程中的网络接口功能正常性,开发人员通常不会对应用接口进行修改,而是通过在前端和后端分别运行本地脚本,从而分别获得前端的代码覆盖率和后端的代码覆盖率。
2、但是,由于应用中的部分代码的测试过程需要借助前后端交互实现,而现有的前后端分别生成代码覆盖率的方式跳过了前后端交互过程,而是仅基于交互结果生成的代码覆盖率,这就使得现有方式存在遗漏后端交互接口的风险,进而导致生成的代码覆盖率精度降低。因此,如何提高应用前后端代码覆盖率的精度已成为亟待解决的问题。
技术实现思路
1、本专利技术实施例的目的在于提供一种前后端综合代码覆盖率生成方法、系统、装置及存储介质,以实现提高应用前后端代码覆盖率生成精度的专利技术目的。具体技术方案如下:
2、一种前后端综合代码覆盖率生成方法,所述方法包括:
3、抓取被测应用的后端接收到的测试交互请求,并根据所述测试交互请求生成所述后端的被调用接口地址列表,其中,所述测试交互请求是所述被测应用的前端申请调用所述后端的接口以完成测试交互的请求;
4、基于所述被调用接口地址列表和预设对应关系列表,获取所述后端各被调用接口的后端代码覆盖率,其中,所
5、获取所述前端发送的各前端代码覆盖率,并对各所述前端代码覆盖率和各所述后端代码覆盖率进行去重合并操作,生成前后端综合代码覆盖率。
6、可选的,所述根据所述测试交互请求生成所述后端的被调用接口地址列表,包括:
7、对至少一个所述测试交互请求进行解析,获得所述测试交互请求中存储的所述后端被所述前端调用的至少一个所述被调用接口的接口地址,并将至少一个所述被调用接口的接口地址导入初始被调用接口地址列表;
8、在监测到测试完毕指令的情况下,对所述初始被调用接口地址列表进行地址去重操作,获得所述被调用接口地址列表。
9、可选的,所述基于所述被调用接口地址列表和预设对应关系列表,获取所述后端各被调用接口的后端代码覆盖率,包括:
10、判断所述被调用接口地址列表中是否存在未添加完成处理标签的所述被调用接口,若是,则对所述被调用接口地址列表中未添加所述完成处理标签的各被调用接口:
11、判断所述预设对应关系列表中,是否存在该被调用接口的所述接口地址,若是,则根据所述一一对应关系,调用与该被调用接口的所述接口地址对应的所述接口代码覆盖率生成方法,生成该被调用接口的所述后端代码覆盖率,并对该被调用接口添加所述完成处理标签;
12、在所述预设对应关系列表中不存在该被调用接口的所述接口地址的情况下,将该被调用接口的所述接口地址添加至预设错漏地址列表,并对该被调用接口添加所述完成处理标签。
13、可选的,所述获取所述前端发送的各前端代码覆盖率,包括:
14、在监测到所述前端生成的至少一个前端代码覆盖率检测请求时,调用预设代码覆盖率统计工具,生成至少一个初始代码覆盖率文件;
15、在监测到测试完毕指令的情况下,根据至少一个所述初始代码覆盖率文件、所述被测应用的class文件和所述被测应用的源码文件,利用预设前端代码覆盖率生成组件生成至少一个所述前端代码覆盖率。
16、一种前后端综合代码覆盖率生成系统,所述系统包括:
17、列表获取模块,用于抓取被测应用的后端接收到的测试交互请求,并根据所述测试交互请求生成所述后端的被调用接口地址列表,其中,所述测试交互请求是所述被测应用的前端申请调用所述后端的接口以完成测试交互的请求;
18、第一代码覆盖率生成模块,用于基于所述被调用接口地址列表和预设对应关系列表,获取所述后端各被调用接口的后端代码覆盖率,其中,所述预设对应关系列表中存储有所述后端各接口的地址与各接口代码覆盖率生成方法间的一一对应关系;
19、第二代码覆盖率生成模块,用于获取所述前端发送的各前端代码覆盖率,并对各所述前端代码覆盖率和各所述后端代码覆盖率进行去重合并操作,生成前后端综合代码覆盖率。
20、可选的,所述列表获取模块在根据所述测试交互请求生成所述后端的被调用接口地址列表时被设置为:
21、对至少一个所述测试交互请求进行解析,获得所述测试交互请求中存储的所述后端被所述前端调用的至少一个所述被调用接口的接口地址,并将至少一个所述被调用接口的接口地址导入初始被调用接口地址列表;
22、在监测到测试完毕指令的情况下,对所述初始被调用接口地址列表进行地址去重操作,获得所述被调用接口地址列表。
23、可选的,所述第一代码覆盖率生成模块被设置为:
24、判断所述被调用接口地址列表中是否存在未添加完成处理标签的所述被调用接口,若是,则对所述被调用接口地址列表中未添加所述完成处理标签的各被调用接口:
25、判断所述预设对应关系列表中,是否存在该被调用接口的所述接口地址,若是,则根据所述一一对应关系,调用与该被调用接口的所述接口地址对应的所述接口代码覆盖率生成方法,生成该被调用接口的所述后端代码覆盖率,并对该被调用接口添加所述完成处理标签;
26、在所述预设对应关系列表中不存在该被调用接口的所述接口地址的情况下,将该被调用接口的所述接口地址添加至预设错漏地址列表,并对该被调用接口添加所述完成处理标签。
27、可选的,所述第二代码覆盖率生成模块在获取所述前端发送的各前端代码覆盖率时被设置为:
28、在监测到所述前端生成的至少一个前端代码覆盖率检测请求时,调用预设代码覆盖率统计工具,生成至少一个初始代码覆盖率文件;
29、在监测到测试完毕指令的情况下,根据至少一个所述初始代码覆盖率文件、所述被测应用的class文件和所述被测应用的源码文件,利用预设前端代码覆盖率生成组件生成至少一个所述前端代码覆盖率。
30、一种前后端综合代码覆盖率生成装置,所述装置包括:
31、处理器;
32、用于存储所述处理器可执行指令的存储器;
33、其中,所述处理器被配置为执行所述指令,以实现如上述任一种所述的前后端综合代码覆盖率生成方法。
34、一种计算机可读存储介质,当所述计算机可读存储介质中的指令由前后端综合代码覆盖率生成装置的处理器执行时,使得所述前后端综合代码覆盖率生成装置能够执行如上述任一种所述的前后端综合代码覆盖率生成装置方法。
35、本专利技术实施例提供的一种前后端代码覆盖率的精度方法及系统,可以通过抓取前端与后端间的测试交互请求,并基于测试交本文档来自技高网...
【技术保护点】
1.一种前后端综合代码覆盖率生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述测试交互请求生成所述后端的被调用接口地址列表,包括:
3.根据权利要求2所述的方法,其特征在于,所述基于所述被调用接口地址列表和预设对应关系列表,获取所述后端各被调用接口的后端代码覆盖率,包括:
4.根据权利要求1所述的方法,其特征在于,所述获取所述前端发送的各前端代码覆盖率,包括:
5.一种前后端综合代码覆盖率生成系统,其特征在于,所述系统包括:
6.根据权利要求5所述的系统,其特征在于,所述列表获取模块在根据所述测试交互请求生成所述后端的被调用接口地址列表时被设置为:
7.根据权利要求6所述的系统,其特征在于,所述第一代码覆盖率生成模块被设置为:
8.根据权利要求5所述的方法,其特征在于,所述第二代码覆盖率生成模块在获取所述前端发送的各前端代码覆盖率时被设置为:
9.一种前后端综合代码覆盖率生成装置,其特征在于,所述装置包括:
10.一种计算机可读存储
...【技术特征摘要】
1.一种前后端综合代码覆盖率生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述测试交互请求生成所述后端的被调用接口地址列表,包括:
3.根据权利要求2所述的方法,其特征在于,所述基于所述被调用接口地址列表和预设对应关系列表,获取所述后端各被调用接口的后端代码覆盖率,包括:
4.根据权利要求1所述的方法,其特征在于,所述获取所述前端发送的各前端代码覆盖率,包括:
5.一种前后端综合代码覆盖率生成系统,其特征在于,所述系统包括:
6.根据权利要求5所述的系统,其特征在于,所述列表获取模块在根据所...
【专利技术属性】
技术研发人员:黄赞群,聂清阳,喻昱,
申请(专利权)人:湖南快乐阳光互动娱乐传媒有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。