SDK测试方法、装置、电子设备及存储介质制造方法及图纸

技术编号:37665939 阅读:26 留言:0更新日期:2023-05-26 04:24
本公开实施例提供一种SDK测试方法、装置、电子设备及存储介质,通过在检测到调用指令时,获取调用指令对应的调用信息,其中,调用指令用于表征目标应用对目标SDK的调用请求,调用信息用于表征调用请求的调用参数;对调用信息进行保存,生成测试文件,测试文件用于对目标调用接口进行测试。由于在目标应用运行过程中,通过获取目标应用对SDK的调用信息,并进行保存,生成测试文件,实现了测试文件的预录制,从而在之后的测试过程中,可以基于测试文件进行回归测试,避免业务因素的干扰,且无需手动构建测试程序进行测试,提高测试效率。提高测试效率。提高测试效率。

【技术实现步骤摘要】
SDK测试方法、装置、电子设备及存储介质


[0001]本公开实施例涉及互联网
,尤其涉及一种SDK测试方法、装置、电子设备及存储介质。

技术介绍

[0002]在应用(Application,APP)开发的过程中,对于应用中的各项业务功能,通常是基于各类软件开发工具包(Software Development Kit,SDK)来实现的,因此,应用中针对SDK的测试,是软件开发过程重要的环节。
[0003]当前,针对SDK的测试,通常需要为待测试的SDK构建一套“简化版”的应用,来模拟真实应用对SDK的调用过程,实现对SDK的手动测试。然而,由于应用中的各类SDK的开发是一个长期迭代和完善的过程,因此可能导致SDK的频繁改动,因此,现有技术中通过手动构建测试程序对待测试的SDK进行测试的方案,存在测试效率低、测试耗时长等问题。

技术实现思路

[0004]本公开实施例提供一种SDK测试方法、装置、电子设备及存储介质,以克服现有技术中对SDK进行测试时存在的测试效率低、测试耗时长的问题。
[0005]第一方面,本公开实施例提供一种SDK测试方法,包括:
[0006]在检测到调用指令时,获取所述调用指令对应的调用信息,其中,所述调用指令用于表征目标应用对目标SDK的调用请求,所述调用信息用于表征所述调用请求的调用参数;对所述调用信息进行保存,生成测试文件,所述测试文件用于对所述目标调用接口进行测试。
[0007]第二方面,本公开实施例提供一种SDK测试方法,包括:
[0008]获取并解析测试文件,生成调用信息,调用信息所述调用信息用于表征调用请求的调用参数;
[0009]基于预设的打桩逻辑信息,对所述调用信息进行处理,生成动态调用信息,所述动态调用信息用于调用所述目标SDK的目标调用接口;
[0010]根据所述动态调用信息,生成调用包,并运行所述调用包,以执行所述目标调用接口的功能。
[0011]第三方面,本公开实施例提供一种SDK测试装置,包括:
[0012]接口模块,用于检测调用指令;
[0013]截获模块,用于在检测到调用指令时,获取所述调用指令对应的调用信息,其中,所述调用指令用于表征目标应用对目标SDK的调用请求,所述调用信息用于表征所述调用请求的调用参数;
[0014]生成模块,用于对所述调用信息进行保存,生成测试文件,所述测试文件用于对所述目标调用接口进行测试。
[0015]第四方面,本公开实施例提供一种SDK测试装置,包括:
[0016]获取模块,用于获取并解析测试文件,生成调用信息,所述调用信息用于表征调用请求的调用参数;
[0017]生成模块,用于基于预设的打桩逻辑信息,对所述调用信息进行处理,生成动态调用信息,所述动态调用信息用于调用所述目标SDK的目标调用接口;
[0018]测试模块,用于根据所述动态调用信息,生成调用包,并运行所述调用包,以执行所述目标调用接口的功能。
[0019]第五方面,本公开实施例提供一种电子设备,包括:
[0020]处理器,以及与所述处理器通信连接的存储器;
[0021]所述存储器存储计算机执行指令;
[0022]所述处理器执行所述存储器存储的计算机执行指令,以实现如上第一方面以及第一方面各种可能的设计所述的SDK测试方法,或者,实现如上第二方面以及第二方面各种可能的设计所述的SDK测试方法。
[0023]第六方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的SDK测试方法,或者,实现如上第二方面以及第二方面各种可能的设计所述的SDK测试方法。
[0024]第七方面,本公开实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上第一方面以及第一方面各种可能的设计所述的SDK测试方法,或者,实现如上第二方面以及第二方面各种可能的设计所述的SDK测试方法。
[0025]本实施例提供的SDK测试方法、装置、电子设备及存储介质,通过在检测到调用指令时,获取所述调用指令对应的调用信息,其中,所述调用指令用于表征目标应用对目标SDK的调用请求,所述调用信息用于表征所述调用请求的调用参数;对所述调用信息进行保存,生成测试文件,所述测试文件用于对所述目标调用接口进行测试。由于在目标应用运行过程中,通过获取目标应用对SDK的调用信息,并进行保存,生成测试文件,实现了测试文件的预录制,从而在之后的测试过程中,可以基于测试文件进行回归测试,避免业务因素的干扰,且无需手动构建测试程序进行测试,提高测试效率。
附图说明
[0026]为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0027]图1为本公开实施例提供的SDK测试方法的一种应用场景图;
[0028]图2为本公开实施例提供的SDK测试方法的流程示意图一;
[0029]图3为图2所示实施例中步骤S101的实现方法流程图;
[0030]图4为图3所示实施例中步骤S1012的实现方法流程图;
[0031]图5为图2所示实施例中步骤S102的实现方法流程图;
[0032]图6为本公开实施例提供的SDK测试方法的流程示意图二;
[0033]图7为图6所示实施例中步骤S202的实现方法流程图;
[0034]图8为图6所示实施例中步骤S203的实现方法流程图;
[0035]图9为本公开实施例提供的SDK测试装置的结构框图;
[0036]图10为本公开实施例提供的SDK测试装置的结构框图;
[0037]图11为本公开实施例提供的一种电子设备的结构示意图;
[0038]图12为本公开实施例提供的电子设备的硬件结构示意图。
具体实施方式
[0039]为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0040]下面对本公开实施例的应用场景进行解释:
[0041]图1为本公开实施例提供的SDK测试方法的一种应用场景图,本公开实施例提供的SDK测试方法,可以应用于对SDK进行回归测试的应用场景中。示例性地,如图1所示,本公开实施例提供的方法,可以应用于测试服务器,测试服务器内运行有SDK测试服务,该SDK测试服务用于实现本实施例提供的SDK测试方法。具体地,SD本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种SDK测试方法,其特征在于,包括:在检测到调用指令时,获取所述调用指令对应的调用信息,其中,所述调用指令用于表征目标应用对目标SDK的调用请求,所述调用信息用于表征所述调用请求的调用参数;对所述调用信息进行保存,生成测试文件,所述测试文件用于对所述目标调用接口进行测试。2.根据权利要求1所述的方法,其特征在于,获取所述调用指令对应的调用信息,包括:获取所述目标SDK的伪调用接口,所述伪调用接口用于代替所述目标SDK的原始调用接口响应所述调用指令;基于所述伪调用接口,截获所述调用指令对应的调用信息。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:获取预设的分析脚本,所述分析脚本用于解析目标SDK,得到所述目标SDK的各原始调用接口;基于所述分析脚本,生成所述目标SDK的各原始调用接口对应的伪调用接口。4.根据权利要求2所述的方法,其特征在于,通过所述伪调用接口,截获所述调用指令对应的调用信息,包括:获取第一引用关系信息,所述第一引用关系信息表征所述目标应用对所述目标SDK的原始调用接口的引用关系;基于所述伪调用接口,修改所述第一引用关系信息,得到第二引用关系信息,所述第二引用关系信息表征所述目标应用对所述目标SDK的伪调用接口的引用关系;根据所述第二引用关系信息,响应所述调用指令,获得所述调用指令对应的调用信息。5.根据权利要求4所述的方法,其特征在于,所述调用信息包括以下至少一种:函数标识、输入参数、线程分布、入栈时间戳、出栈时间戳。6.根据权利要求1所述的方法,其特征在于,所述调用信息包括接口标识和接口输入参数,所述接口标识用于指示调用所述目标调用接口后执行的目标函数,所述接口输入参数用于表征所述目标函数的输入参数;在对所述调用信息进行保存,生成测试文件之前,所述方法还包括:根据所述接口输入参数的类型,确定对应的目标序列化策略;对所述调用信息进行保存,生成测试文件,包括:基于所述目标序列化策略,对所述接口输入参数和所述接口标识进行序列化,生成测试文件。7.根据权利要求1所述的方法,其特征在于,对所述调用信息进行保存,生成测试文件,包括:基于第一线程,将所述调用信息写入缓冲区;基于第二线程,将所述缓冲区中的数据写入测试文件。8.根据权利要求7所述的方法,其特征在于,基于第二线程,将所述缓冲区中的数据写入测试文件,包括:基于第一线程,获取所述缓冲区中的内存占用量;当所述内存占用量大于占用阈值时,基于第二线程将所述缓冲区中的数据写入测试文件。
9.根据权利要求1

8任一项所述的方法,其特征在于,所述方法还包括:调用所述目标SDK的目标调用接口;根据所述目标调用接口的调用结果,生成测试结果信息,所述测试结果信息用于表征所述目标调用接口被调用后,所执行的目标函数的执行结果;对所述调用信息进行保存,生成测试文件,包括:对所述调用信息和测试结果信息进行保存,生成测试文件。10.一种SDK测试方法,其特征在于,包...

【专利技术属性】
技术研发人员:何超吴婷汪志成杨蓬博郑希文
申请(专利权)人:北京字跳网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1