应用测试方法、装置、电子设备及存储介质转让专利

申请号 : CN202110961538.9

文献号 : CN113419968B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李昕彦

申请人 : 北京达佳互联信息技术有限公司

摘要 :

本公开关于一种应用测试方法、装置、电子设备及存储介质,该方法包括拦截待测试应用对应当前测试请求的目标响应数据,当前测试请求为对待测试应用对应的目标测试接口进行的目标数量个测试请求中的任意一次测试请求,目标数量等于目标篡改次数,目标篡改次数为基于目标响应数据中字段数量和多种异常测试类型对应的类型数量确定的;确定目标响应数据中任一未基于多种异常测试类型对应的预设篡改信息进行篡改过的当前字段数据;基于未用于对当前字段数据进行篡改过的目标篡改信息,对当前字段数据进行篡改,得到篡改响应数据;向待测试应用发送篡改响应数据,并获取测试结果。利用本公开实施例可以实现降低测试的操作复杂度,提升测试全面性和效率。

权利要求 :

1.一种应用测试方法,其特征在于,包括:拦截待测试应用对应当前测试请求的目标响应数据,所述当前测试请求为对所述待测试应用对应的目标测试接口进行的目标数量个测试请求中的任意一次测试请求,所述目标数量等于目标篡改次数,所述目标篡改次数为基于所述目标响应数据中字段数量和多种异常测试类型对应的类型数量确定的;所述目标响应数据包括多个按照预设字段测试顺序排列的字段数据;

从预设响应测试信息中获取所述目标响应数据对应的历史篡改次数,所述预设响应测试信息记录有篡改过的响应数据的响应标识信息和对应的历史篡改次数;将所述历史篡改次数除以所述类型数量,得到目标商;将所述目标商作为所述目标响应数据中历史测试字段数据的数量,所述历史测试字段数据为基于所述多种异常测试类型对应的预设篡改信息,进行篡改过的字段数据;根据所述历史测试字段数据的数量和所述预设字段测试顺序,从所述目标响应数据中确定当前字段数据,所述当前字段数据为所述目标响应数据中,任一未基于所述多种异常测试类型对应的预设篡改信息,进行篡改过的字段数据;

基于目标篡改信息,对所述目标响应数据中的所述当前字段数据进行篡改,得到篡改响应数据;所述目标篡改信息为所述多种异常测试类型对应的预设篡改信息中,未用于对所述当前字段数据进行篡改过的任一预设篡改信息;

向所述待测试应用发送所述篡改响应数据,并获取所述待测试应用基于所述篡改响应数据生成的测试结果。

2.根据权利要求1所述的应用测试方法,其特征在于,在所述当前测试请求为所述目标数量个测试请求中第一次发送的测试请求的情况下,在所述拦截待测试应用对应当前测试请求的目标响应数据之后,所述方法还包括:获取所述目标响应数据中的字段数量和所述多种异常测试类型对应的类型数量;

根据所述字段数量和所述类型数量生成所述目标篡改次数。

3.根据权利要求1所述的应用测试方法,其特征在于,所述多种异常测试类型对应的预设篡改信息为多个按照预设测试类型顺序排列的预设篡改信息;所述方法还包括:从预设响应测试信息中获取所述目标响应数据对应的历史篡改次数,所述预设响应测试信息记录有篡改过的响应数据的响应标识信息和对应的历史篡改次数;

对所述历史篡改次数和所述类型数量进行取模运算处理,得到所述当前字段数据对应的测试次数;

基于所述当前字段数据对应的测试次数,从所述多个按照预设测试类型顺序排列的预设篡改信息中,确定所述目标篡改信息。

4.根据权利要求1至3任一所述的应用测试方法,其特征在于,在所述拦截待测试应用对应当前测试请求的目标响应数据之后,所述方法还包括:在预设响应测试信息中查询所述目标响应数据对应的目标响应标识信息,所述预设响应测试信息记录有篡改过的响应数据的响应标识信息和对应的历史篡改次数;

在所述预设响应测试信息中查询到所述目标响应标识信息的情况下,从所述预设响应测试信息中获取所述目标响应标识信息对应的历史篡改次数;

在所述目标响应标识信息对应的历史篡改次数小于所述目标篡改次数的情况下,执行所述确定所述目标响应数据中的当前字段数据的步骤。

5.根据权利要求4所述的应用测试方法,其特征在于,所述方法还包括:在所述预设响应测试信息中未查询到所述目标响应标识信息的情况下,在所述预设响应测试信息中添加所述目标响应标识信息和所述目标响应标识信息对应的初始篡改次数;

其中,所述初始篡改次数为零。

6.根据权利要求5所述的应用测试方法,其特征在于,在所述基于目标篡改信息,对所述目标响应数据中的所述当前字段数据进行篡改,得到篡改响应数据之后,所述方法还包括:

更新所述预设响应测试信息中,与所述目标响应标识信息对应的历史篡改次数。

7.根据权利要求1至3任一所述的应用测试方法,其特征在于,所述方法还包括:监测所述待测试应用对应的日志数据;

在所述测试结果指示所述待测试应用运行异常的情况下,基于所述日志数据生成异常分析结果。

8.一种应用测试装置,其特征在于,包括:目标响应数据拦截模块,被配置为执行拦截待测试应用对应当前测试请求的目标响应数据,所述当前测试请求为对所述待测试应用对应的目标测试接口进行的目标数量个测试请求中的任意一次测试请求,所述目标数量等于目标篡改次数,所述目标篡改次数为基于所述目标响应数据中字段数量和多种异常测试类型对应的类型数量确定的;所述目标响应数据包括多个按照预设字段测试顺序排列的字段数据;

当前字段数据确定模块包括:历史篡改次数获取单元,被配置为执行从预设响应测试信息中获取所述目标响应数据对应的历史篡改次数,所述预设响应测试信息记录有篡改过的响应数据的响应标识信息和对应的历史篡改次数;计算处理单元,被配置为执行将所述历史篡改次数除以所述类型数量,得到目标商;数量确定单元,被配置为执行将所述目标商作为所述目标响应数据中历史测试字段数据的数量,所述历史测试字段数据为基于所述多种异常测试类型对应的预设篡改信息,进行篡改过的字段数据;当前字段数据确定单元,被配置为执行根据所述历史测试字段数据的数量和所述预设字段测试顺序,从所述目标响应数据中确定所述当前字段数据,所述当前字段数据为所述目标响应数据中,任一未基于所述多种异常测试类型对应的预设篡改信息,进行篡改过的字段数据;

篡改模块,被配置为执行基于目标篡改信息,对所述目标响应数据中的所述当前字段数据进行篡改,得到篡改响应数据;所述目标篡改信息为所述多种异常测试类型对应的预设篡改信息中,未用于对所述当前字段数据进行篡改过的任一预设篡改信息;

测试结果获取模块,被配置为执行向所述待测试应用发送所述篡改响应数据,并获取所述待测试应用基于所述篡改响应数据生成的测试结果。

9.根据权利要求8所述的应用测试装置,其特征在于,在所述当前测试请求为所述目标数量个测试请求中第一次发送的测试请求的情况下,所述装置还包括:数据获取模块,被配置为执行在所述拦截待测试应用对应当前测试请求的目标响应数据之后,获取所述目标响应数据中的字段数量和所述多种异常测试类型对应的类型数量;

目标篡改次数生成模块,被配置为执行根据所述字段数量和所述类型数量生成所述目标篡改次数。

10.根据权利要求8所述的应用测试装置,其特征在于,所述多种异常测试类型对应的预设篡改信息为多个按照预设测试类型顺序排列的预设篡改信息;所述装置还包括:第二数据获取单元,被配置为执行从预设响应测试信息中获取所述目标响应数据对应的历史篡改次数,所述预设响应测试信息记录有篡改过的响应数据的响应标识信息和对应的历史篡改次数;

取模运算处理单元,被配置为执行对所述历史篡改次数和所述类型数量进行取模运算处理,得到所述当前字段数据对应的测试次数;

目标篡改信息确定单元,被配置为执行基于所述当前字段数据对应的测试次数,从所述多个按照预设测试类型顺序排列的预设篡改信息中,确定所述目标篡改信息。

11.根据权利要求8至10任一所述的应用测试装置,其特征在于,所述装置还包括:目标响应标识信息查询模块,被配置为执行在所述拦截待测试应用对应当前测试请求的目标响应数据之后在预设响应测试信息中查询所述目标响应数据对应的目标响应标识信息,所述预设响应测试信息记录有篡改过的响应数据的响应标识信息和对应的历史篡改次数;

历史篡改次数获取模块,被配置为执行在所述预设响应测试信息中查询到所述目标响应标识信息的情况下,从所述预设响应测试信息中获取所述目标响应标识信息对应的历史篡改次数;

所述当前字段数据确定模块还被配置为执行在所述目标响应标识信息对应的历史篡改次数小于所述目标篡改次数的情况下,执行所述确定所述目标响应数据中的当前字段数据的步骤。

12.根据权利要求11所述的应用测试装置,其特征在于,所述装置还包括:测试信息添加模块,被配置为执行在所述预设响应测试信息中未查询到所述目标响应标识信息的情况下,在所述预设响应测试信息中添加所述目标响应标识信息和所述目标响应标识信息对应的初始篡改次数;

其中,所述初始篡改次数为零。

13.根据权利要求12所述的应用测试装置,其特征在于,所述装置还包括:历史篡改次数更新模块,被配置为执行在所述基于目标篡改信息,对所述目标响应数据中的所述当前字段数据进行篡改,得到篡改响应数据之后,更新所述预设响应测试信息中,与所述目标响应标识信息对应的历史篡改次数。

14.根据权利要求8至10任一所述的应用测试装置,其特征在于,所述装置还包括:日志数据检测模块,被配置为执行监测所述待测试应用对应的日志数据;

异常分析结果生成模块,被配置为执行在所述测试结果指示所述待测试应用运行异常的情况下,基于所述日志数据生成异常分析结果。

15.一种电子设备,其特征在于,包括:处理器;

用于存储所述处理器可执行指令的存储器;

其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的应用测试方法。

16.一种计算机可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至7中任一项所述的应用测试方法。

说明书 :

应用测试方法、装置、电子设备及存储介质

技术领域

[0001] 本公开涉及互联网技术领域,尤其涉及一种应用测试方法、装置、电子设备及存储介质。

背景技术

[0002] 随着互联网技术的发展,各种网络应用也越来越多,应用客户端的测试需求也变得越来越重要。相关技术中,常常会通过代理工具,如:Charles工具等,将发送和返回的请
求截获,分析并测试服务端返回请求数据,验证在不同返回请求数据时,客户端是否崩溃或
显示异常。但上述相关技术中,每次测试数据都需要手动去改,耗时耗力,也很容易漏测,导
致相关技术中存在测试操作复杂,测试效率和精准性较低等问题。

发明内容

[0003] 本公开提供一种应用测试方法、装置、电子设备及存储介质,以至少解决相关技术中测试操作复杂,测试效率和精准性较低的问题。本公开的技术方案如下:
[0004] 根据本公开实施例的第一方面,提供一种应用测试方法,包括:
[0005] 拦截待测试应用对应当前测试请求的目标响应数据,所述当前测试请求为对所述待测试应用对应的目标测试接口进行的目标数量个测试请求中的任意一次测试请求,所述
目标数量等于目标篡改次数,所述目标篡改次数为基于所述目标响应数据中字段数量和多
种异常测试类型对应的类型数量确定的;
[0006] 确定所述目标响应数据中的当前字段数据,所述当前字段数据为所述目标响应数据中,任一未基于所述多种异常测试类型对应的预设篡改信息,进行篡改过的字段数据;
[0007] 基于目标篡改信息,对所述目标响应数据中的所述当前字段数据进行篡改,得到篡改响应数据;所述目标篡改信息为所述多种异常测试类型对应的预设篡改信息中,未用
于对所述当前字段数据进行篡改过的任一预设篡改信息;
[0008] 向所述待测试应用发送所述篡改响应数据,并获取所述待测试应用基于所述篡改响应数据生成的测试结果。
[0009] 可选的,在所述当前测试请求为所述目标数量个测试请求中第一次发送的测试请求的情况下,在所述拦截待测试应用对应当前测试请求的目标响应数据之后,所述方法还
包括:
[0010] 获取所述目标响应数据中的字段数量和所述多种异常测试类型对应的类型数量;
[0011] 根据所述字段数量和所述类型数量生成所述目标篡改次数。
[0012] 可选的,所述目标响应数据包括多个按照预设字段测试顺序排列的字段数据,所述确定所述目标响应数据中的当前字段数据包括:
[0013] 从预设响应测试信息中获取所述目标响应数据对应的历史篡改次数,所述预设响应测试信息记录有篡改过的响应数据的响应标识信息和对应的历史篡改次数;
[0014] 将所述历史篡改次数除以所述类型数量,得到目标商;
[0015] 将所述目标商作为所述目标响应数据中历史测试字段数据的数量,所述历史测试字段数据为基于所述多种异常测试类型对应的预设篡改信息,进行篡改过的字段数据;
[0016] 根据所述历史测试字段数据的数量和所述预设字段测试顺序,从所述目标响应数据中确定所述当前字段数据。
[0017] 可选的,所述多种异常测试类型对应的预设篡改信息为多个按照预设测试类型顺序排列的预设篡改信息;所述方法还包括:
[0018] 从预设响应测试信息中获取所述目标响应数据对应的历史篡改次数,所述预设响应测试信息记录有篡改过的响应数据的响应标识信息和对应的历史篡改次数;
[0019] 对所述历史篡改次数和所述类型数量进行取模运算处理,得到所述当前字段数据对应的测试次数;
[0020] 基于所述当前字段数据对应的测试次数,从所述多个按照预设测试类型顺序排列的预设篡改信息中,确定所述目标篡改信息。
[0021] 可选的,在所述拦截待测试应用对应当前测试请求的目标响应数据之后,所述方法还包括:
[0022] 在预设响应测试信息中查询所述目标响应数据对应的目标响应标识信息,所述预设响应测试信息记录有篡改过的响应数据的响应标识信息和对应的历史篡改次数;
[0023] 在所述预设响应测试信息中查询到所述目标响应标识信息的情况下,从所述预设响应测试信息中获取所述目标响应标识信息对应的历史篡改次数;
[0024] 在所述目标响应标识信息对应的历史篡改次数小于所述目标篡改次数的情况下,执行所述确定所述目标响应数据中的当前字段数据的步骤。
[0025] 可选的,所述方法还包括:
[0026] 在所述预设响应测试信息中未查询到所述目标响应标识信息的情况下,在所述预设响应测试信息中添加所述目标响应标识信息和所述目标响应标识信息对应的初始篡改
次数;
[0027] 其中,所述初始篡改次数为零。
[0028] 可选的,在所述基于目标篡改信息,对所述目标响应数据中的所述当前字段数据进行篡改,得到篡改响应数据之后,所述方法还包括:
[0029] 更新所述预设响应测试信息中,与所述目标响应标识信息对应的历史篡改次数。
[0030] 可选的,所述方法还包括:
[0031] 监测所述待测试应用对应的日志数据;
[0032] 在所述测试结果指示所述待测试应用运行异常的情况下,基于所述日志数据生成异常分析结果。
[0033] 根据本公开实施例的第二方面,提供一种应用测试装置,包括:
[0034] 目标响应数据拦截模块,被配置为执行拦截待测试应用对应当前测试请求的目标响应数据,所述当前测试请求为对所述待测试应用对应的目标测试接口进行的目标数量个
测试请求中的任意一次测试请求,所述目标数量等于目标篡改次数,所述目标篡改次数为
基于所述目标响应数据中字段数量和多种异常测试类型对应的类型数量确定的;
[0035] 当前字段数据确定模块,被配置为执行确定所述目标响应数据中的当前字段数据,所述当前字段数据为所述目标响应数据中,任一未基于所述多种异常测试类型对应的
预设篡改信息,进行篡改过的字段数据;
[0036] 篡改模块,被配置为执行基于目标篡改信息,对所述目标响应数据中的所述当前字段数据进行篡改,得到篡改响应数据;所述目标篡改信息为所述多种异常测试类型对应
的预设篡改信息中,未用于对所述当前字段数据进行篡改过的任一预设篡改信息;
[0037] 测试结果获取模块,被配置为执行向所述待测试应用发送所述篡改响应数据,并获取所述待测试应用基于所述篡改响应数据生成的测试结果。
[0038] 可选的,在所述当前测试请求为所述目标数量个测试请求中第一次发送的测试请求的情况下,所述装置还包括:
[0039] 数据获取模块,被配置为执行在所述拦截待测试应用对应当前测试请求的目标响应数据之后,获取所述目标响应数据中的字段数量和所述多种异常测试类型对应的类型数
量;
[0040] 目标篡改次数生成模块,被配置为执行根据所述字段数量和所述类型数量生成所述目标篡改次数。
[0041] 可选的,所述目标响应数据包括多个按照预设字段测试顺序排列的字段数据,所述当前字段数据确定模块包括:
[0042] 历史篡改次数获取单元,被配置为执行从预设响应测试信息中获取所述目标响应数据对应的历史篡改次数,所述预设响应测试信息记录有篡改过的响应数据的响应标识信
息和对应的历史篡改次数;
[0043] 计算处理单元,被配置为执行将所述历史篡改次数除以所述类型数量,得到目标商;
[0044] 数量确定单元,被配置为执行将所述目标商作为所述目标响应数据中历史测试字段数据的数量,所述历史测试字段数据为基于所述多种异常测试类型对应的预设篡改信
息,进行篡改过的字段数据;
[0045] 当前字段数据确定单元,被配置为执行根据所述历史测试字段数据的数量和所述预设字段测试顺序,从所述目标响应数据中确定所述当前字段数据。
[0046] 可选的,所述多种异常测试类型对应的预设篡改信息为多个按照预设测试类型顺序排列的预设篡改信息;所述装置还包括:
[0047] 第二数据获取单元,被配置为执行从预设响应测试信息中获取所述目标响应数据对应的历史篡改次数,所述预设响应测试信息记录有篡改过的响应数据的响应标识信息和
对应的历史篡改次数;
[0048] 取模运算处理单元,被配置为执行对所述历史篡改次数和所述类型数量进行取模运算处理,得到所述当前字段数据对应的测试次数;
[0049] 目标篡改信息确定单元,被配置为执行基于所述当前字段数据对应的测试次数,从所述多个按照预设测试类型顺序排列的预设篡改信息中,确定所述目标篡改信息。
[0050] 可选的,所述装置还包括:
[0051] 目标响应标识信息查询模块,被配置为执行在所述拦截待测试应用对应当前测试请求的目标响应数据之后在预设响应测试信息中查询所述目标响应数据对应的目标响应
标识信息,所述预设响应测试信息记录有篡改过的响应数据的响应标识信息和对应的历史
篡改次数;
[0052] 历史篡改次数获取模块,被配置为执行在所述预设响应测试信息中查询到所述目标响应标识信息的情况下,从所述预设响应测试信息中获取所述目标响应标识信息对应的
历史篡改次数;
[0053] 所述当前字段数据确定模块还被配置为执行在所述目标响应标识信息对应的历史篡改次数小于所述目标篡改次数的情况下,执行所述确定所述目标响应数据中的当前字
段数据的步骤。
[0054] 可选的,所述装置还包括:
[0055] 测试信息添加模块,被配置为执行在所述预设响应测试信息中未查询到所述目标响应标识信息的情况下,在所述预设响应测试信息中添加所述目标响应标识信息和所述目
标响应标识信息对应的初始篡改次数;
[0056] 其中,所述初始篡改次数为零。
[0057] 可选的,所述装置还包括:
[0058] 历史篡改次数更新模块,被配置为执行在所述基于目标篡改信息,对所述目标响应数据中的所述当前字段数据进行篡改,得到篡改响应数据之后,更新所述预设响应测试
信息中,与所述目标响应标识信息对应的历史篡改次数。
[0059] 可选的,所述装置还包括:
[0060] 日志数据检测模块,被配置为执行监测所述待测试应用对应的日志数据;
[0061] 异常分析结果生成模块,被配置为执行在所述测试结果指示所述待测试应用运行异常的情况下,基于所述日志数据生成异常分析结果。
[0062] 根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如上述第一
方面中任一项所述的方法。
[0063] 根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行本公开实施例的第一方
面中任一所述方法。
[0064] 根据本公开实施例的第五方面,提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本公开实施例的第一方面中任一所述方法。
[0065] 本公开的实施例提供的技术方案至少带来以下有益效果:
[0066] 结合目标响应数据中字段数量和多种异常测试类型对应的类型数量所确定的测试总次数,可以有效避免漏测,提升测试的全面性,且在测试过程中每次针对还未基于多种
异常测试类型对应的预设篡改进行篡改过的当前字段数据,以相应的目标篡改信息进行自
动篡改,可以大大降低测试操作复杂,进而提升测试效率和精准性。
[0067] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

[0068] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
[0069] 图1是根据一示例性实施例示出的一种应用环境的示意图;
[0070] 图2是根据一示例性实施例示出的一种应用测试方法的流程图;
[0071] 图3是根据一示例性实施例示出的另一种应用测试方法的流程图;
[0072] 图4是根据一示例性实施例示出的一种确定目标响应数据中的当前字段数据的流程图;
[0073] 图5是根据一示例性实施例示出的一种确定目标篡改信息的流程图;
[0074] 图6是根据一示例性实施例示出的一种应用测试装置框图;
[0075] 图7是根据一示例性实施例示出的一种用于应用测试的电子设备的框图。

具体实施方式

[0076] 为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
[0077] 需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用
的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或
描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相
一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面
相一致的装置和方法的例子。
[0078] 需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过
各方充分授权的信息和数据。
[0079] 请参阅图1,图1是根据一示例性实施例示出的一种应用环境的示意图,如图6所示,该应用环境可以包括客户端100、测试端200和服务器300。
[0080] 在一个可选的实施例中,客户端100可以运行有待测试应用。测试端200可以用于对待测试应用进行测试。服务器300可以为待测试应用对应的后台服务器。
[0081] 在一个可选的实施例中,客户端100和测试端200可以包括但不限于智能手机、台式计算机、平板电脑、笔记本电脑、智能音箱、数字助理、增强现实(augmented reality,
AR)/虚拟现实(virtual reality,VR)设备、智能可穿戴设备等类型的电子设备。可选的,电
子设备上运行的操作系统可以包括但不限于安卓系统、IOS系统、linux、windows等。
[0082] 在一个可选的实施例中,上述服务器300可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、
云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content 
Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服
务器。
[0083] 本说明书实施例中,上述客户端100、测试端200和服务器300间可以通过有线或无线通信方式进行直接或间接地连接,本公开在此不做限制。
[0084] 图2是根据一示例性实施例示出的一种应用测试方法的流程图,如图2所示,该应用测试方法用于测试端,包括以下步骤。
[0085] 在步骤S201中,拦截待测试应用对应当前测试请求的目标响应数据。
[0086] 在一个可选的实施例中,可以预先建立测试端与运行有待测试应用的客户端间的连接。在一个具体的实施例中,可以将客户端的IP设置为测试端的IP,客户端的端口设置为
8080,进而可以保证测试端可以截获客户端接收的响应数据。在一个可选的实施例中,可以
触发客户端的待测试应用通过测试接口向服务器发送相应的测试请求。具体的,测试接口
可以为待测试应用中,某一需要进行测试的操作功能对应的数据传输接口。
[0087] 在一个具体的实施例中,可以预先结合实际测试需求设置相应的测试脚本,并在需要进行测试时,基于该测试脚本触发相应的测试请求的发送,进而实现测试请求的自动
发送,提升测试的便捷性和效率。
[0088] 本说明书实施例中,针对待测试应用的任一测试接口,可以重复触发目标数量个测试请求,可选的,目标数量个测试请求可以依次发送给服务器。具体的,上述当前测试请
求可以为对待测试应用对应的目标测试接口进行的目标数量个测试请求中的任意一次测
试请求,具体的,目标测试接口可以为待测试应用对应的任一测试接口。
[0089] 在一个可选的实施例中,测试端可以拦截发送给客户端的全部响应数据;在一个具体的实施例中,可以调用预设的拦截方法来执行响应数据的拦截操作。可选的,可以通过
对发送给客户端的响应数据进行域名识别,以识别出待测试应用对应服务器反馈的目标响
应数据。可选的,在响应数据中识别出的域名信息为上述服务器对应的域名信息的情况下,
可以将该响应数据作为目标响应数据。具体的,目标响应数据是待测试应用对应的服务器
对当前测试请求进行处理后返回给待测试应用的数据。
[0090] 在一个可选的实施例中,在确定拦截到的响应数据为待测试应用对应的服务器返回的响应数据的情况下,还可以对拦截的响应数据进行数据格式识别,相应的,在响应数据
的数据格式为目标数据格式的情况下,可以将该响应数据作为目标响应数据。具体的,目标
数据格式可以为预先设置的需要进行测试的数据格式。具体的,目标数据格式可以结合实
际测试需求进行设置,在一个具体的实施例中,目标数据格式可以包括但不限于json格式。
[0091] 在一个具体的实施例中,上述目标数量等于目标篡改次数,目标篡改次数可以为基于目标响应数据中字段数量和多种异常测试类型对应的类型数量确定的。可选的,目标
篡改次数可以在拦截到目标测试接口对应测试请求中第一次发送的测试请求的目标响应
数据后确定,相应的,在上述当前测试请求为目标数量个测试请求中第一次发送的测试请
求的情况下,在拦截待测试应用对应当前测试请求的目标响应数据之后,上述方法还可以
包括:
[0092] 获取目标响应数据中的字段数量和多种异常测试类型对应的类型数量;
[0093] 根据字段数量和类型数量生成目标篡改次数。
[0094] 在一个具体的实施例中,响应数据中往往会具有多个字段,可以对目标响应数据中的每一字段进行篡改,掌握每一字段引起的异常情况,进而可以提升测试的全面性,保证
后续应用的稳定性。相应的,可以多次触发同一测试接口的相同测试请求,进而可以每次对
相应的目标响应数据中某一字段数据进行篡改。
[0095] 本说明书实施例中,单个字段数据的划分可以结合目标响应数据的数据格式确定,以该数据格式对应的最小数据单位来划分字段数据。在一个具体的实施例中,以json格
式的目标响应数据为例,最小数据单位为键值对,相应的,一个键值对可以对应一个字段数
据。
[0096] 在一个具体的实施例中,目标篡改次数可以为对目标测试接口进行测试的总次数。具体的,多种异常测试类型可以与字段数据出现的多种异常情况相对应;可选的,为了
保证对目标响应数据中每一字段数据均结合多种异常测试类型进行测试,可以将目标响应
数据中字段数据的字段数(字段数量)和多种异常测试类型对应的类型数量的乘积,作为目
标篡改次数。
[0097] 上述实施例中,结合字段数量和多种异常测试类型对应的类型数量,来生成测试总次数,可以有效提升测试的全面性,进而提升后续应用的稳定性。
[0098] 在步骤S203中,确定目标响应数据中的当前字段数据。
[0099] 在一个具体的实施例中,上述当前字段数据为目标响应数据中,任一未基于多种异常测试类型对应的预设篡改信息,进行篡改过的字段数据。具体的,当某一字段数据未基
于多种异常测试类型对应的预设篡改信息中全部预设篡改信息进行篡改过,该字段数据可
以作为当前字段数据。
[0100] 在一个具体的实施例中,多种异常测试类型对应的预设篡改信息可以为多种异常测试类型对应异常情况下字段数据的配置内容,在一个具体的实施例中,假设某一目标测
试接口对应10种异常测试类型,且10种异常测试类型对应异常情况下字段数据的配置内容
包括:key为空、value为空、value为空字符串、value为空数组、value为空字典、value为长
浮点型小数、value为true、value为false、value为空元组、value为长int型。相应的,可以
将key为空、value为空、value为空字符串、value为空数组、value为空字典、value为长浮点
型小数、value为true、value为false、value为空元组、value为长int型作为上述多种异常
测试类型对应的预设篡改信息。
[0101] 在一个可选的实施例中,在拦截待测试应用对应当前测试请求的目标响应数据之后,如图3所示,上述方法还可以包括以下步骤:
[0102] 在步骤S209中,在预设响应测试信息中查询目标响应数据对应的目标响应标识信息;
[0103] 在步骤S211中,在预设响应测试信息中查询到目标响应标识信息的情况下,从预设响应测试信息中获取目标响应标识信息对应的历史篡改次数;
[0104] 相应的,上述步骤S203中,在目标响应标识信息对应的历史篡改次数小于目标篡改次数的情况下,执行确定目标响应数据中的当前字段数据的步骤。
[0105] 在一个具体的实施例中,上述预设响应测试信息记录有篡改过的响应数据的响应标识信息和对应的历史篡改次数。具体的,响应数据的响应标识信息可以为用于标识不同
测试接口对应响应数据的标识信息,可选的,响应标识信息可以为响应数据对应的统一资
源定位符(Uniform Resource Locator,URL)。在一个可选的实施例中,响应数据的响应标
识信息和对应的历史篡改次数可以以键值对的形式进行记录,具体的,响应标识信息可以
为key,历史篡改次数可以为value。
[0106] 在一个具体的实施例中,在目标响应标识信息对应的历史篡改次数小于目标篡改次数的情况下,可以确定目标测试接口对应的异常情况还没有全部测试,相应的,可以执行
确定目标响应数据中的当前字段数据的步骤,进而可以继续对目标测试接口进行测试。反
之,在目标响应标识信息对应的历史篡改次数大于等于目标篡改次数的情况下,可以直接
将目标响应数据返回给待测试应用。
[0107] 上述实施例中,结合预设响应测试信息和目标篡改次数,可以准确识别当前是否需要继续对目标响应数据进行篡改,进而在保证测试全面性的基础上,提升测试的精准性。
[0108] 在一个可选的实施例中,上述方法还可以包括:
[0109] 在预设响应测试信息中未查询到目标响应标识信息的情况下,在预设响应测试信息中添加目标响应标识信息和目标响应标识信息对应的初始篡改次数。
[0110] 在一个具体的实施例中,在预设响应测试信息中未查询到目标响应标识信息的情况下,可以确定目标响应数据对应的目标测试接口还没有测试过,相应的,可以将目标响应
标识信息和对应的初始篡改次数添加至预设响应测试信息中,具体的,该初始篡改次数可
以为零。
[0111] 上述实施例中,结合预设响应测试信息来记录篡改过的响应数据的响应标识信息和对应的历史篡改次数,可以准确掌握测试进度,进而提升测试的精准性。
[0112] 在一个可选的实施例中,可以随机从目标响应数据中选取任一未基于多种异常测试类型对应的预设篡改信息,进行篡改过的字段数据,作为当前字段数据。相应的,可以维
护一个用于记录目标响应数据中篡改过的字段数据和已经用于对其进行篡改过的预设篡
改信息的对应关系,进而可以便于确定还未基于多种异常测试类型对应的预设篡改信息,
进行篡改过的字段数据。
[0113] 在另一个可选的实施例中,上述目标响应数据可以包括多个按照预设字段测试顺序排列的字段数据,如图4所示,上述确定目标响应数据中的当前字段数据可以包括以下步
骤:
[0114] 在步骤S2031中,从预设响应测试信息中获取目标响应数据对应的历史篡改次数。
[0115] 在步骤S2033中,将历史篡改次数除以类型数量,得到目标商。
[0116] 在步骤S2035中,将目标商作为目标响应数据中历史测试字段数据的数量。
[0117] 在步骤S2037中,根据历史测试字段数据的数量和预设字段测试顺序,从目标响应数据中确定当前字段数据。
[0118] 在一个具体的实施例中,可以结合目标响应数据的目标响应标识信息从预设响应测试信息中获取目标响应数据对应的历史篡改次数。
[0119] 本说明书实施例中,预设字段测试顺序可以为目标响应数据中字段数据进行篡改的先后顺序。在一个具体的实施例中,预设字段测试顺序可以为目标响应数据中字段的排
列顺序。相应的,可以结合目标响应数据中字段数据的排列先后依次对每个字段进行篡改。
[0120] 在一个具体的实施例中,上述历史测试字段数据可以为基于多种异常测试类型对应的预设篡改信息,进行篡改过的字段数据。在一个具体的实施例中,假设历史篡改次数为
46,类型数量为10,相应的,目标商可以为4,相应的,可以确定目标响应数据中前4个字段数
据均已经结合多种异常测试类型对应的预设篡改信息进行篡改。相应的,可以将目标响应
数据中第5个字段数据作为当前字段数据。
[0121] 上述实施例中,在按照预设字段测试顺序按序对目标响应数据中字段数据进行测试的场景下,可以结合目标响应数据对应的历史篡改次数和类型数量,可以快速准确确定
出已经结合多种异常测试类型对应的预设篡改信息进行篡改的历史测试字段数据,进而可
以精准定位当前需要进行篡改的字段数据,提升测试的精准性和测试效率。
[0122] 在步骤S205中,基于目标篡改信息,对目标响应数据中的当前字段数据进行篡改,得到篡改响应数据。
[0123] 在一个具体的实施例中,上述目标篡改信息可以为多种异常测试类型对应的预设篡改信息中,未用于对当前字段数据进行篡改过的任一预设篡改信息。在一个具体的实施
例中,假设key为空是目标篡改信息,相应的,可以将目标响应数据中当前字段数据的key设
置为空,以实现对当前字段数据的篡改,进而得到篡改响应数据。在一个具体的实施例中,
可以调用预设的篡改方法来执行篡改操作。
[0124] 在一个可选的实施例中,可以随机从多种异常测试类型对应的预设篡改信息中选取任一未用于对当前字段数据进行篡改过的预设篡改信息,作为目标篡改信息。相应的,可
以维护一个用于记录目标响应数据中篡改过的字段数据和已经用于对其进行篡改过的预
设篡改信息的对应关系,进而可以便于确定还未用于对当前字段数据进行篡改过的目标篡
改信息。
[0125] 在一个可选的实施例中,上述多种异常测试类型对应的预设篡改信息为多个按照预设测试类型顺序排列的预设篡改信息;上述方法还可以包括:确定目标篡改信息的步骤,
具体的,如图5所示,确定目标篡改信息可以包括以下步骤:
[0126] 在步骤S501中,从预设响应测试信息中获取目标响应数据对应的历史篡改次数;
[0127] 在步骤S503中,对历史篡改次数和类型数量进行取模运算处理,得到当前字段数据对应的测试次数;
[0128] 在步骤S505中,基于当前字段数据对应的测试次数,从多个按照预设测试类型顺序排列的预设篡改信息中,确定目标篡改信息。
[0129] 在一个具体的实施例中,预设测试类型顺序可以为对任一字段数据进行篡改时,多个异常测试类型的预设篡改信息的篡改顺序。
[0130] 在一个具体的实施例中,上述对历史篡改次数和类型数量进行取模运算处理,得到当前字段数据对应的测试次数可以包括:计算历史篡改次数除以类型数量后得到的余
数,将该余数作为当前字段数据对应的测试次数。
[0131] 在一个具体的实施例中,上述当前字段数据对应的测试次数加一后,得到的数值,可以为目标篡改信息在多个按照预设测试类型顺序排列的预设篡改信息中的排序。
[0132] 上述实施例中,可以结合目标响应数据对应的历史篡改次数和类型数量,准确确定当前字段数据已经测试过的次数,并结合多个异常测试类型的预设篡改信息对应的篡改
顺序,可以快速精准定位出当前需要用于对当前字段数据进行篡改的目标篡改信息,提升
测试的精准性和测试效率。
[0133] 在一个可选的实施例中,在基于目标篡改信息,对目标响应数据中的当前字段数据进行篡改,得到篡改响应数据之后,上述方法还可以包括:
[0134] 更新预设响应测试信息中,与目标响应标识信息对应的历史篡改次数。
[0135] 在一个具体的实施例中,可以将预设响应测试信息中与目标响应标识信息对应的历史篡改次数加一,以实现目标响应数据对应的历史篡改次数的更新。
[0136] 上述实施例中,在进行篡改后,通过及时更新历史篡改次数,可以保证测试进度的准确性,进而提升测试的精准性。
[0137] 在步骤S207中,向待测试应用发送篡改响应数据,并获取待测试应用基于篡改响应数据生成的测试结果。
[0138] 在一个具体的实施例中,测试结果可以表征待测试应用在接收到篡改响应数据后的运行状态。具体的,在向待测试应用发送篡改响应数据后,可以监测待测试应用在接收到
篡改响应数据后的运行状态,进而得到上述测试结果。在一个具体的实施例中,在运行状态
为存在异常的情况下,相应的测试结果可以为待测试应用运行异常;反之,在运行状态为未
存在异常的情况下,相应的测试结果可以为待测试应用运行正常。
[0139] 在一个可选的实施例中,上述方法还可以包括:
[0140] 监测待测试应用对应的日志数据;
[0141] 在测试结果指示待测试应用运行异常的情况下,基于日志数据生成异常分析结果。
[0142] 在一个具体的实施例中,异常分析结果可以为日志数据中能够表征导致待测试应用存在异常的数据,相应的,可以结合异常分析改进待测试应用,这样后续待测试应用正式
上线后,就算有多种异常测试类型对应的响应数据返回给待测试应用,也不会出现待测试
应用奔溃的情况。
[0143] 上述实施例中,通过检测待测试应用对应的日志数据,可以便于在待测试应用出现异常的情况下,结合日志数据结合分析出异常原因,进而快速定位和修复异常情况。
[0144] 由以上本说明书实施例提供的技术方案可见,本说明书中结合目标响应数据中字段数量和多种异常测试类型对应的类型数量所确定的测试总次数,可以有效避免漏测,提
升测试的全面性,且在测试过程中每次针对还未基于多种异常测试类型对应的预设篡改进
行篡改过的当前字段数据,以相应的目标篡改信息进行自动篡改,可以大大降低测试操作
复杂,进而提升测试效率和精准性。
[0145] 图6是根据一示例性实施例示出的一种应用测试装置框图。参照图6,该装置包括:
[0146] 目标响应数据拦截模块610,被配置为执行拦截待测试应用对应当前测试请求的目标响应数据,当前测试请求为对待测试应用对应的目标测试接口进行的目标数量个测试
请求中的任意一次测试请求,目标数量等于目标篡改次数,目标篡改次数为基于目标响应
数据中字段数量和多种异常测试类型对应的类型数量确定的;
[0147] 当前字段数据确定模块620,被配置为执行确定目标响应数据中的当前字段数据,当前字段数据为目标响应数据中,任一未基于多种异常测试类型对应的预设篡改信息,进
行篡改过的字段数据;
[0148] 篡改模块630,被配置为执行基于目标篡改信息,对目标响应数据中的当前字段数据进行篡改,得到篡改响应数据;目标篡改信息为多种异常测试类型对应的预设篡改信息
中,未用于对当前字段数据进行篡改过的任一预设篡改信息;
[0149] 测试结果获取模块640,被配置为执行向待测试应用发送篡改响应数据,并获取待测试应用基于篡改响应数据生成的测试结果。
[0150] 可选的,在当前测试请求为目标数量个测试请求中第一次发送的测试请求的情况下,上述装置还包括:
[0151] 数据获取模块,被配置为执行在拦截待测试应用对应当前测试请求的目标响应数据之后,获取目标响应数据中的字段数量和多种异常测试类型对应的类型数量;
[0152] 目标篡改次数生成模块,被配置为执行根据字段数量和类型数量生成目标篡改次数。
[0153] 可选的,目标响应数据包括多个按照预设字段测试顺序排列的字段数据,上述当前字段数据确定模块620包括:
[0154] 历史篡改次数获取单元,被配置为执行从预设响应测试信息中获取目标响应数据对应的历史篡改次数,预设响应测试信息记录有篡改过的响应数据的响应标识信息和对应
的历史篡改次数;
[0155] 计算处理单元,被配置为执行将历史篡改次数除以类型数量,得到目标商;
[0156] 数量确定单元,被配置为执行将目标商作为目标响应数据中历史测试字段数据的数量,历史测试字段数据为基于多种异常测试类型对应的预设篡改信息,进行篡改过的字
段数据;
[0157] 当前字段数据确定单元,被配置为执行根据历史测试字段数据的数量和预设字段测试顺序,从目标响应数据中确定当前字段数据。
[0158] 可选的,多种异常测试类型对应的预设篡改信息为多个按照预设测试类型顺序排列的预设篡改信息;上述装置还包括:
[0159] 第二数据获取单元,被配置为执行从预设响应测试信息中获取目标响应数据对应的历史篡改次数,预设响应测试信息记录有篡改过的响应数据的响应标识信息和对应的历
史篡改次数;
[0160] 取模运算处理单元,被配置为执行对历史篡改次数和类型数量进行取模运算处理,得到当前字段数据对应的测试次数;
[0161] 目标篡改信息确定单元,被配置为执行基于当前字段数据对应的测试次数,从多个按照预设测试类型顺序排列的预设篡改信息中,确定目标篡改信息。
[0162] 可选的,上述装置还包括:
[0163] 目标响应标识信息查询模块,被配置为执行在拦截待测试应用对应当前测试请求的目标响应数据之后在预设响应测试信息中查询目标响应数据对应的目标响应标识信息,
预设响应测试信息记录有篡改过的响应数据的响应标识信息和对应的历史篡改次数;
[0164] 历史篡改次数获取模块,被配置为执行在预设响应测试信息中查询到目标响应标识信息的情况下,从预设响应测试信息中获取目标响应标识信息对应的历史篡改次数;
[0165] 当前字段数据确定模块620还被配置为执行在目标响应标识信息对应的历史篡改次数小于目标篡改次数的情况下,执行确定目标响应数据中的当前字段数据的步骤。
[0166] 可选的,上述装置还包括:
[0167] 测试信息添加模块,被配置为执行在预设响应测试信息中未查询到目标响应标识信息的情况下,在预设响应测试信息中添加目标响应标识信息和目标响应标识信息对应的
初始篡改次数;
[0168] 其中,初始篡改次数为零。
[0169] 可选的,上述装置还包括:
[0170] 历史篡改次数更新模块,被配置为执行在基于目标篡改信息,对目标响应数据中的当前字段数据进行篡改,得到篡改响应数据之后,更新预设响应测试信息中与目标响应
标识信息对应的历史篡改次数。
[0171] 可选的,上述装置还包括:
[0172] 日志数据检测模块,被配置为执行监测待测试应用对应的日志数据;
[0173] 异常分析结果生成模块,被配置为执行在测试结果指示待测试应用运行异常的情况下,基于日志数据生成异常分析结果。
[0174] 关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0175] 图7是根据一示例性实施例示出的一种用于应用测试的电子设备的框图,该电子设备可以是终端,其内部结构图可以如图7所示。该电子设备包括通过系统总线连接的处理
器、存储器、网络接口、显示屏和输入装置。其中,该电子设备的处理器用于提供计算和控制
能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有
操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运
行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序
被处理器执行时以实现一种应用测试方法。该电子设备的显示屏可以是液晶显示屏或者电
子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备
外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0176] 本领域技术人员可以理解,图7中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的电子设备的限定,具体的电子设备可以
包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0177] 在示例性实施例中,还提供了一种电子设备,包括:处理器;用于存储该处理器可执行指令的存储器;其中,该处理器被配置为执行该指令,以实现如本公开实施例中的应用
测试方法。
[0178] 在示例性实施例中,还提供了一种计算机可读存储介质,当该存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本公开实施例中的应用测试方法。
[0179] 在示例性实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本公开实施例中的应用测试方法。
[0180] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读
取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申
请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括
非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM 
(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括
随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,
诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强
型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM
(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
[0181] 本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或
者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识
或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的
权利要求指出。
[0182] 应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。