本申请属于软件测试领域,尤其涉及接口测试方法、电子设备及计算机可读存储介质。
背景技术:
1、对服务端的接口进行模糊测试是一种软件测试方法,通过输入无效或异常的数据,检测接口对输入的数据的响应结果,可以检测接口对异常数据的处理能力,进而发现软件中的漏洞或错误。
2、现有的接口测试方法一般是测试人员使用测试工具更新测试参数,对接口进行边界值和异常值的验证,需要用户进行多次操作,测试效率较低,且测试数据较少,不能对接口进行全面测试,测试结果的可信度较低。
技术实现思路
1、有鉴于此,本申请实施例提供了接口测试方法、电子设备及计算机可读存储介质,可以解决现有的接口测试方法测试效率低,且测试结果可信度低的问题。
2、本申请实施例的第一方面提供了一种接口测试方法,包括:
3、获取对接口的测试请求,所述测试请求中包括第一测试数据,所述第一测试数据是访问所述接口的数据;
4、对所述第一测试数据进行解析,得到所述第一测试数据中的一个或多个参数,每个所述参数包括参数类型和参数值;
5、根据所述参数类型和所述参数值,确定所述参数值对应的多个替换值;
6、根据每个所述参数值对应的所述多个替换值生成多个第二测试数据;
7、调用所述第一测试数据和所述多个第二测试数据对所述接口进行测试。
8、在一实施例中,所述对所述第一测试数据进行解析,得到所述第一测试数据中的一个或多个参数,包括:
9、识别所述第一测试数据中的预设字符;
10、根据所述预设字符所在的位置,从所述第一测试数据中提取一个或多个参数值,以及每个所述参数值对应的参数名称;
11、根据所述参数名称确定所述参数类型。
12、在一实施例中,所述第一测试数据包括请求头和请求体,所述预设字符包括第一字符和第二字符,所述识别所述第一测试数据中的预设字符,包括:
13、识别所述请求头中的第一字符,识别所述请求体中的第二字符。
14、在一实施例中,所述根据每个所述参数值对应的所述多个替换值生成多个第二测试数据,包括:
15、将第一参数的第一替换值依次与第二参数的每个替换值进行组合,根据组合结果得到所述多个第二测试数据;所述第一参数为所述多个参数中的其中一个,所述第一替换值为所述第一参数的多个替换值中的其中一个,所述第二参数为所述多个参数中除所述第一参数之外的参数。
16、在一实施例中,所述根据所述参数类型和所述参数值,确定所述参数值对应的多个替换值,包括:
17、根据所述参数类型确定替换值的范围;
18、根据所述替换值的范围以及所述参数值确定所述参数值对应的多个替换值。
19、在一实施例中,所述第一测试数根据所述接口的历史访问记录生成。
20、在一实施例中,所述调用所述第一测试数据和所述多个第二测试数据对所述接口进行测试,包括:
21、依次调用所述第一测试数据和所述多个第二测试数据访问所述接口;
22、获取所述接口对所述第一测试数据和所述多个第二测试数据的多个响应结果;
23、根据所述多个响应结果确定所述接口的测试结果。
24、在一实施例中,所述方法还包括:
25、根据所述第一测试数据和所述多个第二测试数据生成多个可执行脚本,输出所述多个可执行脚本。
26、本申请实施例的第二方面提供了一种接口测试装置,包括:
27、获取模块,用于获取对接口的测试请求,所述测试请求中包括第一测试数据,所述第一测试数据是访问所述接口的数据;
28、解析模块,用于对所述第一测试数据进行解析,得到所述第一测试数据中的一个或多个参数,每个所述参数包括参数类型和参数值;
29、确定模块,用于根据所述参数类型和所述参数值,确定所述参数值对应的多个替换值;
30、替换模块,用于根据每个所述参数值对应的所述多个替换值生成多个第二测试数据;
31、测试模块,用于调用所述第一测试数据和所述多个第二测试数据对所述接口进行测试。
32、本申请实施例的第三方面提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的接口测试方法。
33、本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的接口测试方法。
34、本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面中任一项所述的接口测试方法。
35、本申请实施例与现有技术相比存在的有益效果是:通过获取对接口的第一测试数据,确定第一测试数据中的一个或多个参数,根据每个参数的参数类型和参数值,确定每个参数值对应的多个替换值,根据每个参数值对应的多个替换值生成多个第二测试数据,调用第一测试数据和第二测试数据对接口进行测试。由于第二测试数据根据每个参数值对应的多个替换值生成,因此可以生成多种组合的第二测试数据,提高了测试全面性,进而提高了测试结果的可信度,且不需要用户输入参数值替换后的第二测试数据,提高了测试效率。
1.一种接口测试方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述对所述第一测试数据进行解析,得到所述第一测试数据中的一个或多个参数,包括:
3.根据权利要求2所述的方法,其特征在于,所述第一测试数据包括请求头和请求体,所述预设字符包括第一字符和第二字符,所述识别所述第一测试数据中的预设字符,包括:
4.根据权利要求1所述的方法,其特征在于,所述根据每个所述参数值对应的所述多个替换值生成多个第二测试数据,包括:
5.根据权利要求1所述的方法,其特征在于,所述根据所述参数类型和所述参数值,确定所述参数值对应的多个替换值,包括:
6.根据权利要求1所述的方法,其特征在于,所述第一测试数根据所述接口的历史访问记录生成。
7.根据权利要求1所述的方法,其特征在于,所述调用所述第一测试数据和所述多个第二测试数据对所述接口进行测试,包括:
8.根据权利要求1至7任一项所述的方法,其特征在于,所述方法还包括:
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至8任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的方法。
