用于SDK接口测试的异常注入方法、装置、设备及存储介质与流程

文档序号:37004164发布日期:2024-02-09 12:49阅读:16来源:国知局
用于SDK接口测试的异常注入方法、装置、设备及存储介质与流程

本发明涉及计算机软件测试,具体涉及一种用于sdk接口测试的异常注入方法、装置、设备及存储介质。


背景技术:

1、在测试工作中,部分场景在正常测试流程下覆盖不了,因此需要构造mock场景,对难以覆盖的进行高效覆盖,但现有技术中构造mock是接口维度mock,通过mock下游系统的返回报文构造异常,这种方式的局限在于无法抛出指定方法的异常,且较多场景无法构造,mock工作效率较低。


技术实现思路

1、基于此,有必要针对上述问题,提出一种sdk接口测试的异常注入方法、装置、设备及存储介质。

2、为实现上述目的,本申请第一方面提供一种用于sdk接口测试的异常注入方法,所述方法包括:

3、生成待注入的异常信息;

4、将所述待注入的异常信息转换为第一url格式信息;

5、将所述第一url格式信息注入sdk接口;

6、所述sdk接口接收第一url格式信息后返回返回响应报文。

7、在一些实施方式中,所述生成待注入的异常信息,具体包括:获取待注入异常的应用所在的ip、端口、服务名、类路径、方法名、异常类型。

8、在一些实施方式中,所述将所述待注入的异常信息转换为第一url格式信息,具体为:将所述ip、端口、服务名、类路径、方法名、异常类型插入到第一url格式:http://{ip}:{端口}/chaosblade?cmd=create jvm throwcustomexception--process{服务名}--timeout 300--classname={类路径}--methodname={方法名}--exceptionjava.lang.exception--exception-message{异常类型}内,得到第一url格式信息。

9、在一些实施方式中,所述sdk接口接收第一url格式信息后返回返回响应报文,之后,所述方法还包括:

10、解析响应报文确定异常id;

11、根据所述异常id以及异常的应用所在的ip、端口转换为第二url格式信息;

12、根据第二url格式信息请求销毁异常信息。

13、在一些实施方式中,所述解析响应报文确定异常id,具体包括:查找响应报文中的exceptionid字段,根据exceptionid字段确定异常id。

14、在一些实施方式中,所述根据所述异常id以及异常的应用所在的ip、端口转换为第二url格式信息,具体包括:将所述异常id、的ip、端口插入到第一url格式:http://{ip}:{端口}/chaosblade?cmd=destroy{exceptionid}内,得到第二url格式信息。

15、在一些实施方式中,所述方法还包括:如果解析响应报文不存在无异常id或者是失败的reponse信息则返回直接失败。

16、为实现上述目的,本申请第二方面提供一种用于sdk接口测试的异常注入装置,所述装置包括:

17、生成模块,所述生成模块用于生成待注入的异常信息;

18、转换模块,所述转换模块用于将所述待注入的异常信息转换为第一url格式信息;

19、注入模块,所述注入模块用于将所述第一url格式信息注入sdk接口;

20、返回模块,所述返回模块用于所述sdk接口接收第一url格式信息后返回返回响应报文。

21、为实现上述目的,本申请第三方面提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:

22、生成待注入的异常信息;

23、将所述待注入的异常信息转换为第一url格式信息;

24、将所述第一url格式信息注入sdk接口;

25、所述sdk接口接收第一url格式信息后返回返回响应报文。

26、为实现上述目的,本申请第四方面提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:

27、生成待注入的异常信息;

28、将所述待注入的异常信息转换为第一url格式信息;

29、将所述第一url格式信息注入sdk接口;

30、所述sdk接口接收第一url格式信息后返回返回响应报文。

31、采用本发明实施例,具有如下有益效果:

32、本发明通过生成待注入的异常信息;将所述待注入的异常信息转换为第一url格式信息,将所述第一url格式信息注入sdk接口,利用此url发起http请求,调用阿里开源的chaosblade工具,该工具部署在被测应用所在的服务器上,能够实现对指定的类中的方法注入指定的异常,sdk接口接收第一url格式信息后返回响应报文。实现调用该函数的方法抛出nullpointerexception异常,提升覆盖的场景。



技术特征:

1.一种用于sdk接口测试的异常注入方法,其特征在于,所述方法包括:

2.根据权利要求1所述的用于sdk接口测试的异常注入方法,其特征在于,所述生成待注入的异常信息,具体包括:获取待注入异常的应用所在的ip、端口、服务名、类路径、方法名、异常类型。

3.根据权利要求1所述的用于sdk接口测试的异常注入方法,其特征在于,所述将所述待注入的异常信息转换为第一url格式信息,具体为:将所述ip、端口、服务名、类路径、方法名、异常类型插入到第一url格式:http://{ip}:{端口}/chaosblade?cmd=create jvmthrowcustomexception--process{服务名}--timeout 300--classname={类路径}--methodname={方法名}--exception java.lang.exception--exception-message{异常类型}内,得到第一url格式信息。

4.根据权利要求1-3任意一项所述的用于sdk接口测试的异常注入方法,其特征在于,所述sdk接口接收第一url格式信息后返回返回响应报文,之后,所述方法还包括:

5.根据权利要求4所述的用于sdk接口测试的异常注入方法,其特征在于,所述解析响应报文确定异常id,具体包括:查找响应报文中的exceptionid字段,根据exceptionid字段确定异常id。

6.根据权利要求5所述的用于sdk接口测试的异常注入方法,其特征在于,所述根据所述异常id以及异常的应用所在的ip、端口转换为第二url格式信息,具体包括:将所述异常id、的ip、端口插入到第一url格式:http://{ip}:{端口}/chaosblade?cmd=destroy{exceptionid}内,得到第二url格式信息。

7.根据权利要求1所述的用于sdk接口测试的异常注入方法,其特征在于,

8.一种用于sdk接口测试的异常注入装置,其特征在于,所述装置包括:

9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。

10.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。


技术总结
本发明实施例公开了一种SDK接口测试的异常注入方法、装置、设备及存储介质,该方法包括:生成待注入的异常信息;将所述待注入的异常信息转换为第一URL格式信息;将所述第一URL格式信息注入SDK接口;所述SDK接口接收第一URL格式信息后返回返回响应报文。该方案,通过注入异常,能够成功覆盖异常代码,构造较多场景,提高mock工作效率。

技术研发人员:刘遵长
受保护的技术使用者:平安银行股份有限公司
技术研发日:
技术公布日:2024/2/8
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1