测试SDK的方法、测试台架、装置、设备及存储介质与流程

文档序号:36915955发布日期:2024-02-02 21:43阅读:17来源:国知局
测试SDK的方法、测试台架、装置、设备及存储介质与流程

本发明涉及自动测试,具体涉及测试sdk的方法、测试台架、装置、设备及存储介质。


背景技术:

1、目前汽车行业智能化技术飞速发展,车端智能化应用快速集成迭代,其一般集成多个sdk(software development kit,软件开发工具包),并需要对这些sdk进行测试。

2、传统测试sdk的方法,一般是写一个简单的模拟程序,手动控制输入不同参数执行测试程序,再实时去查看调用程序的打印信息等来判断输出是否符合预期,再人工标注测试结果及整理测试报告。由于技术的快速迭代,底层的协议或设计逻辑变更时,都需要对sdk对外提供的接口功能及性能全遍历,手工执行的方式非常耗时且容易漏测,测试效率较低。


技术实现思路

1、有鉴于此,本发明提供了一种测试sdk的方法、测试台架、装置、设备及存储介质,以解决sdk测试效率较低的问题。

2、第一方面,本发明提供了一种测试sdk的方法,包括:

3、确定测试设备的接口驱动包,所述接口驱动包包括控制类接口和断言类接口;

4、获取被测app,所述被测app集成被测sdk;

5、将所述被测app部署至所述测试设备;

6、通过所述控制类接口控制所述被测app的运行状态,通过所述断言类接口获取测试所述被测app的过程中生成的测试数据;

7、根据所述测试数据确定所述被测sdk的测试结果。

8、在一些可选的实施方式中,所述获取被测app,包括:

9、生成用于调用被测sdk中被测api的接口调用代码;

10、确定集成所述被测sdk和所述接口调用代码的被测app。

11、在一些可选的实施方式中,所述生成用于调用被测sdk中被测api的接口调用代码,包括:

12、获取被测sdk的相关文档,提取出所述被测sdk对外提供的被测api,形成api文档;所述api文档包括每个所述被测api的api地址和api固有参数;

13、对所述api文档进行遍历,生成接口调用主体;所述接口调用主体包括每个所述被测api所对应的运行分支;

14、为所述接口调用主体拼接应用程序的代码模板头部和代码模板尾部,形成覆盖所有所述被测api的接口调用代码。

15、在一些可选的实施方式中,所述api文档还包括每个所述被测api的性能扩展参数;

16、所述根据所述测试数据确定所述被测sdk的测试结果,包括:

17、根据所述测试数据中与性能消耗相关的性能数据,确定相应的性能结果;

18、将所述性能结果与所需的性能指标进行对比,确定所述被测sdk的性能测试结果。

19、在一些可选的实施方式中,所述测试设备的数量为多个,且至少部分测试设备采用不同的操作系统;

20、所述将所述被测app部署至所述测试设备,包括:

21、将所述被测app部署至能够运行所述被测app的测试设备。

22、在一些可选的实施方式中,所述方法还包括:

23、获取服务端程序;所述服务端程序是基于所述被测sdk的服务端代码生成的;

24、将所述服务端程序发送至能够运行所述服务端程序的测试设备,以部署所述被测sdk的服务端。

25、在一些可选的实施方式中,所述方法还包括:

26、确定场景配置文件;所述场景配置文件包括被测app的第一运行环境以及所述服务端的第二运行环境;

27、所述将所述被测app部署至能够运行所述被测app的测试设备,包括:

28、确定与所述第一运行环境相匹配的第一测试设备,并确定能够运行在所述第一运行环境的被测app;以及,调用所述控制类接口,将能够运行在所述第一运行环境的被测app部署至所述第一测试设备;

29、所述将所述服务端程序发送至能够运行所述服务端程序的测试设备,包括:

30、确定与所述第二运行环境相匹配的第二测试设备,并确定能够运行在所述第二运行环境的服务端程序;以及,调用所述控制类接口,将能够运行在所述第二运行环境的服务端程序部署至所述第二测试设备;

31、其中,所述第一测试设备与所述第二测试设备是相同或不同的测试设备。

32、在一些可选的实施方式中,所述获取被测app,包括:

33、从交叉编译服务器获取被测app;所述交叉编译服务器用于向能够运行在不同测试设备的被测app提供统一的编译环境。

34、在一些可选的实施方式中,所述被测sdk的代码存储在代码仓库;

35、所述获取被测app,包括:

36、根据所述代码仓库中用于存储所述被测sdk的代码的存储地址,获取所述被测sdk的代码,并根据所述被测sdk的代码确定集成所述被测sdk的被测app;所述存储地址是在生成或修改所述被测sdk后提供的。

37、在一些可选的实施方式中,所述控制类接口至少包括:app部署接口、app启动接口和app停止接口;所述断言类接口至少包括:日志文件解析接口。

38、第二方面,本发明提供了一种测试台架,包括:测试设备和测试控制台;所述测试设备与所述测试控制台通信连接;

39、所述测试设备被配置为部署被测app;所述被测app集成被测sdk;

40、所述测试控制台被配置为执行第一方面所述的测试sdk的方法。

41、在一些可选的实施方式中,所述测试设备的数量为多个,且至少部分测试设备采用不同的操作系统。

42、在一些可选的实施方式中,测试台架还包括:交叉编译服务器;

43、所述交叉编译服务器与所述测试控制台通信连接,并被配置为:向能够运行在不同测试设备的被测app提供统一的编译环境。

44、第三方面,本发明提供了一种测试sdk的装置,包括:

45、确定模块,用于确定测试设备的接口驱动包,所述接口驱动包包括控制类接口和断言类接口;

46、获取模块,用于获取被测app,所述被测app集成被测sdk;

47、部署模块,用于将所述被测app部署至所述测试设备;

48、测试模块,用于通过所述控制类接口控制所述被测app的运行状态,通过所述断言类接口获取测试所述被测app的过程中生成的测试数据;

49、处理模块,用于根据所述测试数据确定所述被测sdk的测试结果。

50、第四方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的测试sdk的方法。

51、第五方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的测试sdk的方法。

52、本发明通过在测试控制台上设置控制类接口和断言类接口,基于控制类接口控制被测app的运行状态,实现数据驱动,并基于断言类接口获取被测app的测试数据,可以实现自动化测试,提高对sdk的测试效率。并且,在实现自动化测试的同时,可以将被测app与实现自动测试的控制代码分离,由测试控制台控制测试过程,测试设备只运行被测app即可,从而可以降低测试设备的负载;测试设备可以不支持用于开发控制代码的python等语言,能够在资源有限且不支持python等语言的测试设备上进行测试,适用于车端设备的测试场景。

53、通过遍历api文档,可以自动生成接口调用代码,不需要手动编写每个被测api的调用程序,可以减少测试人员的重复工作,从而可以提高测试效率。利用多个测试设备,可以按需将测试app和其服务端部署在相应的测试设备中,从而可以在多种场景下进行测试,能够提高测试场景覆盖率。以代码仓库存储被测sdk的代码、服务端的代码等,在回归测试时,重新提供相应的存储地址即可,基于新提供的存储地址即可完成回归测试,输出新的测试报告,能够提高回归测试效率。本发明可以实现功能测试、性能测试和场景测试,能够比较全面地对被测sdk进行测试。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1