System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于测试,具体涉及一种基于功能接口的测试方法和装置。
技术介绍
1、本专利技术的测试人员在测试增量功能时缺少一种客观的测试质量评价标准,具体是在新增、修改特定功能后,测试人员无法把握调整过的功能是否测试充分,现有的技术方法只有代码类、方法(函数)的覆盖率数据,单个独立代码结构的数据对全局代码测试质量而言是有限的,其无法确认特定接口的测试是否充分。
技术实现思路
1、本专利技术的目的是要解决上述的现有的技术方法只有代码类、方法(函数)的覆盖率数据,单个独立代码结构的数据对全局代码测试质量而言是有限的,其无法确认特定接口测试是否充分的技术问题,提供一种基于功能接口的测试方法和装置。
2、为了解决上述问题,本专利技术按以下技术方案予以实现的:
3、第一方面,本专利技术提供了一种基于功能接口的测试方法,所述基于功能接口的测试方法包括:
4、基于功能接口的代码通过程序插桩插入探针;
5、当检测到客户端请求功能接口时,通过所述探针记录所述代码的执行数据,其中,所述执行数据的唯一标识为方法签名;
6、基于调用链跟踪分析功能接口维度的程序代码,获取涉及调用链路的方法集合的对象列表;
7、基于反射机制得到所述对象列表的方法签名数据,其中,所述方法签名数据用于从所述探针中获取总行数、总分支数、执行行数和执行分支数;
8、基于所述方法签名数据和所述执行数据过滤得到所述探针数据;
9、基于所述探针数据
10、所述调用链路的覆盖率公式包括:
11、调用链路行覆盖率,所述调用链路行覆盖率=所述执行行数/所述调用链路总行数*100%;
12、调用链路分支覆盖率,所述调用链路分支覆盖率=所述执行分支数/所述调用链路总分支数*100%。
13、所述过滤为将所述方法签名数据和所述执行数据的方法签名进行对比,获取方法签名与方法签名数据对应的执行数据。
14、所述记录包括记录正常流程和异常流程的执行数据。
15、所述执行数据包括:
16、执行行和执行分支两者与方法的所属关系;
17、执行行和执行分支两者与类的所属关系。
18、所述维度为微服务架构的不同功能接口。
19、所述功能接口为服务端的功能接口。
20、第二方面,本专利技术还提供了一种基于功能接口的测试装置,所述基于功能接口的测试装置包括:
21、插桩模块,用于基于功能接口的代码通过程序插桩插入探针;
22、记录模块,用于当检测到客户端请求功能接口时,通过所述探针记录所述代码的执行数据,其中,所述执行数据的唯一标识为方法签名;
23、跟踪模块,用于基于调用链跟踪分析功能接口维度的程序代码,获取涉及调用链路的方法集合的对象列表;
24、解析模块,用于基于反射机制得到所述对象列表的方法签名数据,其中,所述方法签名数据用于从所述探针中获取总行数、总分支数、执行行数和执行分支数;
25、过滤模块,用于基于所述方法签名数据和所述执行数据过滤得到所述探针数据;
26、统计模块,用于基于所述探针数据和调用链路的覆盖率公式,得到功能接口维度调用链路的覆盖率。
27、第三方面,本专利技术还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所提供的方法的步骤。
28、第四方面,本专利技术还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所提供的方法的步骤。
29、与现有技术相比,本专利技术的有益效果是:
30、一种基于功能接口的测试方法,所述基于功能接口的测试方法包括基于功能接口的代码通过程序插桩插入探针;当检测到客户端请求功能接口时,通过所述探针记录所述代码的执行数据,其中,所述执行数据的唯一标识为方法签名;基于调用链跟踪分析功能接口维度的程序代码,获取涉及调用链路的方法集合的对象列表;基于反射机制得到所述对象列表的方法签名数据,其中,所述方法签名数据用于从所述探针中获取总行数、总分支数、执行行数和执行分支数;基于所述方法签名数据和所述执行数据过滤得到所述探针数据;基于所述探针数据和调用链路的覆盖率式,得到功能接口维度调用链路的覆盖率。
31、本专利技术利用程序功能接口的调用链路过滤出代码插桩的探针数据,统计接口调用链路的行、分支覆盖率的方法,提高特定接口的测试质量。
本文档来自技高网...【技术保护点】
1.一种基于功能接口的测试方法,其特征在于,所述基于功能接口的测试方法包括:
2.根据权利要求1所述的基于功能接口的测试方法,其特征在于,所述调用链路的覆盖率公式包括:
3.根据权利要求1所述的基于功能接口的测试方法,其特征在于,所述过滤为将所述方法签名数据和所述执行数据的方法签名进行对比,获取方法签名与方法签名数据对应的执行数据。
4.根据权利要求1所述的基于功能接口的测试方法,其特征在于,所述记录包括记录正常流程和异常流程的执行数据。
5.根据权利要求4所述的基于功能接口的测试方法,其特征在于,所述执行数据包括:
6.根据权利要求1所述的基于功能接口的测试方法,其特征在于,所述维度为微服务的架构的不同功能接口。
7.根据权利要求1所述的基于功能接口的测试方法,其特征在于,所述功能接口为服务端的功能接口。
8.一种基于功能接口的测试装置,其特征在于,所述基于功能接口的测试装置包括:
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法的步骤。
...【技术特征摘要】
1.一种基于功能接口的测试方法,其特征在于,所述基于功能接口的测试方法包括:
2.根据权利要求1所述的基于功能接口的测试方法,其特征在于,所述调用链路的覆盖率公式包括:
3.根据权利要求1所述的基于功能接口的测试方法,其特征在于,所述过滤为将所述方法签名数据和所述执行数据的方法签名进行对比,获取方法签名与方法签名数据对应的执行数据。
4.根据权利要求1所述的基于功能接口的测试方法,其特征在于,所述记录包括记录正常流程和异常流程的执行数据。
5.根据权利要求4所述的基于功能接口的测试方法,其特征在于,所述执行数据包括:
6.根据权利要求1所述...
【专利技术属性】
技术研发人员:陈崇桂,
申请(专利权)人:广州宸祺出行科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。