首页 / 专利库 / 化学元素和化合物 / 电子 / 接口字段自动化测试方法、装置和存储介质

接口字段自动化测试方法、装置和存储介质

阅读:453发布:2023-01-26

专利汇可以提供接口字段自动化测试方法、装置和存储介质专利检索,专利查询,专利分析的服务。并且本 发明 实施例 提供一种 接口 字段自动化测试方法、装置和存储介质。所述方法包括:读取待测试接口的接口文档,接口文档中包括与N个接口字段中每个接口字段对应的至少一个待测试 属性信息 以及每个接口字段的示例值;针对每个接口字段对应的每个待测试属性信息,获取与待测试属性信息匹配的测试规则信息;根据测试规则信息以及N个接口字段中除该接口字段之外的其他接口字段的示例值,获得测试 用例 ;根据测试用例,对待测试接口进行测试。根据测试规则信息可以自动获取待测试属性对应的测试数据,从而结合其他接口字段的示例值获得测试用例,提高了获得测试数据的效率和准确性,从而提高测试的效率和准确性。,下面是接口字段自动化测试方法、装置和存储介质专利的具体信息内容。

1.一种接口字段自动化测试方法,其特征在于,包括:
读取待测试接口的接口文档,所述接口文档中包括与N个接口字段中每个接口字段对应的至少一个待测试属性信息以及每个接口字段的示例值,N为大于等于1的整数;
针对每个接口字段对应的每个所述待测试属性信息,获取与所述待测试属性信息匹配的测试规则信息;
根据所述测试规则信息以及所述N个接口字段中除该接口字段之外的其他接口字段的示例值,获得测试用例
根据所述测试用例,对所述待测试接口进行测试。
2.根据权利要求1所述的方法,其特征在于,所述测试规则信息包括用于生成测试用例的模板;其中,所述根据所述测试规则信息以及所述N个接口字段中除该接口字段之外的其他接口字段的示例值,获得测试用例,包括:
根据所述测试规则信息,获取用于生成测试用例的模板以及用于测试所述待测试属性信息的测试数据;
根据所述测试数据、所述用于生成测试用例的模板以及所述其他接口字段的示例值,获得所述测试用例。
3.根据权利要求2所述的方法,其特征在于,所述测试规则信息还包括:用于测试所述待测试属性信息的测试数据;其中,所述用于测试所述待测试属性信息的测试数据是根据测试数据生成函数以及所述接口字段的所述至少一个测试属性信息得到的。
4.根据权利要求2所述的方法,其特征在于,所述测试规则信息还包括:与所述待测试属性信息对应的测试数据生成函数;
所述根据所述测试规则信息获取用于测试所述待测试属性信息的测试数据,包括:
根据所述测试数据生成函数和所述接口字段的所述至少一个测试属性信息,获取用于测试所述待测试属性信息的测试数据。
5.根据权利要求1所述的方法,其特征在于,所述根据所述测试用例,对所述待测试接口进行测试,包括:
获取所述待测试接口的接口地址;
根据所述接口地址和所述测试用例,对所述待测试接口进行测试。
6.根据权利要求1所述的方法,其特征在于,所述根据所述测试用例,对所述待测试接口进行测试之后,还包括:
获取与所述测试用例对应的第一测试结果;
判断所述第一测试结果是否符合所述测试用例对应的预设结果;
若否,则重新获得测试用例,并根据重新获得的测试用例,对所述待测试接口进行测试。
7.根据权利要求6所述的方法,其特征在于,所述根据重新获得的测试用例,对所述待测试接口进行测试之后,还包括:
获取与重新获得的测试用例对应的第二测试结果;
判断所述第一测试结果是否与所述第二测试结果一致;
若否,则输出提示信息,所述提示信息用于提示用户修改与所述待测试属性信息匹配的测试规则信息。
8.一种接口字段自动化测试装置,其特征在于,包括:
读取模,用于读取待测试接口的接口文档,所述接口文档中包括与N个接口字段中每个接口字段对应的至少一个待测试属性信息以及每个接口字段的示例值,N为大于等于1的整数;
获取模块,用于针对每个接口字段对应的每个所述待测试属性信息,获取与所述待测试属性信息匹配的测试规则信息;
处理模块,用于根据所述测试规则信息以及所述N个接口字段中除该接口字段之外的其他接口字段的示例值,获得测试用例;
测试模块,用于根据所述测试用例,对所述待测试接口进行测试。
9.一种电子设备,其特征在于,包括:存储器和至少一个处理器,存储器用于存储程序指令,处理器用于调用存储器中的程序指令执行如权利要求1-7任一项所述的接口字段自动化测试方法。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序;所述计算机程序被执行时,实现如权利要求1-7任一项所述的接口字段自动化测试方法。

说明书全文

接口字段自动化测试方法、装置和存储介质

技术领域

[0001] 本发明实施例涉及接口测试技术领域,尤其涉及一种接口字段自动化测试方法、装置和存储介质。

背景技术

[0002] 接口测试一般适用于为其他系统提供服务的底层框架系统和中心服务系统,主要测试这些系统对外提供的接口,以验证其正确性和稳定性。接口测试从测试层面来说可以分为接口字段规则测试和接口内部逻辑测试。其中,接口字段是用来定义对象中包含的特征或行为,例如,在测试登录接口的字段时,定义登录密码为必填项,且密码为1-10位的数字和英文单词的组合,则在测试时,需要分别对是否填入密码,密码是否为数字和英文单词的组合,以及密码是否为1-10位进行测试。
[0003] 现有技术中,对于接口字段规则测试的测试数据,主要是依赖于开发定义的接口文档,测试数据设计人员根据接口文档编写测试用例并且通过测试人员执行接口字段规则测试。
[0004] 然而,测试数据设计人员人工编写测试用例时,当测试用例中的一个数据有误时,会导致整个测试出错,无法保证测试数据的准确性。

发明内容

[0005] 本发明实施例提供一种接口字段自动化测试方法、装置和存储介质,可以根据接口字段的规则自动获得测试数据,从而获得测试用例,提高获取测试数据的效率以及测试数据额准确性。
[0006] 第一方面,本发明实施例提供一种接口字段自动化测试方法,包括:
[0007] 读取待测试接口的接口文档,所述接口文档中包括与N个接口字段中每个接口字段对应的至少一个待测试属性信息以及每个接口字段的示例值,N为大于等于1的整数;
[0008] 针对每个接口字段对应的每个所述待测试属性信息,获取与所述待测试属性信息匹配的测试规则信息;
[0009] 根据所述测试规则信息以及所述N个接口字段中除该接口字段之外的其他接口字段的示例值,获得测试用例;
[0010] 根据所述测试用例,对所述待测试接口进行测试。
[0011] 在一些可能的实施例中,其中,所述测试规则信息包括用于生成测试用例的模板;其中,所述根据所述测试规则信息以及所述N个接口字段中除该接口字段之外的其他接口字段的示例值,获得测试用例,包括:
[0012] 根据所述测试规则信息,获取用于生成测试用例的模板以及用于测试所述待测试属性信息的测试数据;
[0013] 根据所述测试数据、所述用于生成测试用例的模板以及所述其他接口字段的示例值,获得所述测试用例。
[0014] 在一些可能的实施例中,所述测试规则信息还包括:用于测试所述待测试属性信息的测试数据;其中,所述用于测试所述待测试属性信息的测试数据是根据测试数据生成函数以及所述接口字段的所述至少一个测试属性信息得到的。
[0015] 在一些可能的实施例中,所述测试规则信息还包括:与所述待测试属性信息对应的测试数据生成函数;
[0016] 所述根据所述测试规则信息获取用于测试所述待测试属性信息的测试数据,包括:
[0017] 根据所述测试数据生成函数和所述接口字段的所述至少一个测试属性信息,获取用于测试所述待测试属性信息的测试数据。
[0018] 在一些可能的实施例中,所述根据所述测试用例,对所述待测试接口进行测试,包括:
[0019] 获取所述待测试接口的接口地址;
[0020] 根据所述接口地址和所述测试用例,对所述待测试接口进行测试。
[0021] 在一些可能的实施例中,所述根据所述测试用例,对所述待测试接口进行测试之后,还包括:
[0022] 获取与所述测试用例对应的第一测试结果;
[0023] 判断所述第一测试结果指示是否符合所述测试用例对应的预设结果;
[0024] 若否,则重新获得测试用例,并根据重新获得的测试用例,对所述待测试接口进行测试。
[0025] 在一些可能的实施例中,所述根据重新获得的测试用例,对所述待测试接口进行测试之后,还包括:
[0026] 获取与重新获得的测试用例对应的第二测试结果;
[0027] 判断所述第一测试结果是否与所述第二测试结果一致;
[0028] 若否,则输出提示信息,所述提示信息用于提示用户修改与所述待测试属性信息匹配的测试规则信息。
[0029] 第二方面,本发明实施例提供一种接口字段自动化测试装置,包括:
[0030] 读取模,用于读取待测试接口的接口文档,所述接口文档中包括与N个接口字段中每个接口字段对应的至少一个待测试属性信息以及每个接口字段的示例值,N为大于等于1的整数;
[0031] 获取模块,用于针对每个接口字段对应的每个所述待测试属性信息,获取与所述待测试属性信息匹配的测试规则信息;
[0032] 处理模块,用于根据所述测试规则信息以及所述N个接口字段中除该接口字段之外的其他接口字段的示例值,获得测试用例;
[0033] 测试模块,用于根据所述测试用例,对所述待测试接口进行测试。
[0034] 在一些可能的实施例中,其中,所述测试规则信息包括用于生成测试用例的模板;其中,所述处理模块根据所述测试规则信息以及所述N个接口字段中除该接口字段之外的其他接口字段的示例值,获得测试用例,具体用于:
[0035] 根据所述测试规则信息,获取用于生成测试用例的模板以及用于测试所述待测试属性信息的测试数据;
[0036] 根据所述测试数据、所述用于生成测试用例的模板以及所述其他接口字段的示例值,获得所述测试用例。
[0037] 在一些可能的实施例中,所述测试规则信息还包括:用于测试所述待测试属性信息的测试数据;其中,所述用于测试所述待测试属性信息的测试数据是根据测试数据生成函数以及所述接口字段的所述至少一个测试属性信息得到的。
[0038] 在一些可能的实施例中,所述测试规则信息还包括:与所述待测试属性信息对应的测试数据生成函数;
[0039] 所述处理模块根据所述测试规则信息获取用于测试所述待测试属性信息的测试数据,具体用于:
[0040] 根据所述测试数据生成函数和所述接口字段的所述至少一个测试属性信息,获取用于测试所述待测试属性信息的测试数据。
[0041] 在一些可能的实施例中,所述测试模块根据所述测试用例,对所述待测试接口进行测试,具体用于:获取所述待测试接口的接口地址;根据所述接口地址和所述测试用例,对所述待测试接口进行测试。
[0042] 在一些可能的实施例中,所述获取模块,还用于在所述测试模块根据所述测试用例,对所述待测试接口进行测试之后,获取与所述测试用例对应的第一测试结果;所述处理模块,还用于判断所述第一测试结果指示是否符合所述测试用例对应的预设结果;若否,则重新获得测试用例;所述测试模块,还用于根据重新获得的测试用例,对所述待测试接口进行测试。
[0043] 在一些可能的实施例中,所述获取模块,还用于在所述测试模块根据重新获得的测试用例,对所述待测试接口进行测试之后,获取与重新获得的测试用例对应的第二测试结果;所述处理模块,还用于判断所述第一测试结果是否与所述第二测试结果一致;若否,则输出提示信息,所述提示信息用于提示用户修改与所述待测试属性信息匹配的测试规则信息。
[0044] 第三方面,本发明实施例提供一种电子设备,该电子设备包括:至少一个处理器和存储器
[0045] 所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,以执行本发明实施例第一方面任一项所述的方法。
[0046] 第四方面,本发明实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有程序指令,所述程序指令被处理器执行时实现发明实施例第一方面任一项所述的方法。
[0047] 第五方面,本申请实施例提供一种程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得电子设备实施本申请发明实施例第一方面任一项所述的方法。
[0048] 本发明实施例提供一种接口字段自动化测试方法、装置和存储介质,通过读取待测试接口的接口文档,接口文档中包括与N个接口字段中每个接口字段对应的至少一个待测试属性信息以及每个接口字段的示例值;针对每个接口字段对应的每个待测试属性信息,获取与待测试属性信息匹配的测试规则信息;根据测试规则信息以及N个接口字段中除该接口字段之外的其他接口字段的示例值,获得测试用例,根据测试规则信息可以自动获取待测试属性对应的测试数据,从而结合其他接口字段的示例值获得测试用例,提高了获得测试数据的效率和准确性,从而提高测试的效率和准确性。并且,根据测试用例,对待测试接口进行测试时,可以根据测试用例自动执行接口测试,进一步提高测试的效率,解决现有技术中手动编写测试用例时效率低且易出错的问题。附图说明
[0049] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0050] 图1为本发明一实施例提供的技术方案示意图;
[0051] 图2为本发明一实施例提供的接口字段自动化测试方法的流程图
[0052] 图3为本发明另一实施例提供的接口字段自动化测试方法的流程图;
[0053] 图4为本发明另一实施例提供的接口字段自动化测试方法的流程图;
[0054] 图5为本发明一实施例提供的接口字段自动化测试装置的结构示意图;
[0055] 图6为本发明一实施例提供的电子设备的结构示意图。

具体实施方式

[0056] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0057] 进行接口字段规则测试时,测试其中一个接口字段时,需要对该接口字段进行规则分析,从而手动编写与该接口字段对应的测试数据,获得测试用例。然而,对于接口字段规则类似的多个接口字段,可以根据字段规则自动生成测试数据。例如,对于一个注册接口,需要填入注册名、登录密码、手机号,其中,定义其注册名为中文字符,且位数不超过4位,必填项;定义登录密码为包括特殊字符和数字,位数为8位,必填项;定义手机号为数字,11位,选填项。由此可知,三个字段(注册名、登录密码、手机号)的属性信息均对应是否必输、字段数据类型以及字段位数,具有相同的字段规则,可以根据字段规则设计测试数据生成函数,自动生成测试数据,从而获得测试用例。
[0058] 本发明实施例提供一种接口字段自动化测试方法、装置和存储介质,如图1所示,将当前测试的接口字段称为主测试字段,其他接口字段为辅测试字段。对于主测试字段中的待测试属性信息得测试数据,根据接口字段的规则,获得每个接口字段对应的每个待测试属性信息的测试规则信息,以自动生成测试数据;对于测试用例中辅测试字段对应的数据为接口文档的示例值,从而获得测试用例,提高了获得测试数据的效率和准确性,从而提高测试的效率和准确性。并且,本发明中在获得测试用例后,还可以根据测试用例自动执行每个接口字段中每个待测试属性信息的测试,提高测试的效率。
[0059] 本发明实施例所提供的接口字段自动化测试方法可应用于测试终端中实现对接口字段的测试,例如,对服务器接口进行测试等。测试终端可为安装有各种软件的智能手机、平板电脑、膝上型便携计算机和台式计算机等等。该接口字段自动化测试方法可以由测试终端执行,也可以理解为由测试终端中部署的接口字段自动化测试装置执行。在下述方法实施例中,为了便于描述,以各步骤的执行主体为接口字段自动化测试装置加以说明,但是并不对此构成限定。
[0060] 图2为本发明一实施例提供的接口字段自动化测试方法的流程图,如图2所示,本实施例的方法可以包括:
[0061] S201、读取待测试接口的接口文档。
[0062] 其中,接口文档中包括与N个接口字段中每个接口字段对应的至少一个待测试属性信息以及每个接口字段的示例值,N为大于等于1的整数。
[0063] 本实施例中,接口文档如表1所示,接口文档用于对接口字段进行定义,如表1所示,接口文档中包括字段:ID(编号)、NAME(姓名)、SEX(性别)、AGE(年龄)和LuckyNum(幸运数字),以及每个接口字段对应的至少一个待测试属性信息,其中,待测试属性信息包括待测试属性以及该待测试属性对应的属性信息。例如,对于接口字段ID(编号),待测试属性信息包括:待测试属性“是否必输”的待测试属性信息为“是”,待测试属性“类型”的待测试属性信息为“NUMBER(数字)”,待测试属性“长度”的待测试属性信息为“10”,并且,接口文档给出了每个接口字段的示例值,其中,示例值为对应的接口字段不是待测试接口字段时,在测试用例中该接口字段的取值。
[0064] 表1接口文档示意图
[0065]
[0066] 读取待测试接口的接口文档的每个接口字段的所有的待测试的属性信息以及每个接口文档的示例值。
[0067] S202、针对每个接口字段对应的每个待测试属性信息,获取与待测试属性信息匹配的测试规则信息。
[0068] 本实施例中,用户例如可以预先设置规则库,所述规则库中包括任一接口文档中的待测试属性信息对应的测试规则信息。当需要对表1所示的接口文档进行测试时,根据该接口文档中每个接口字段对应的每个待测试属性信息,从规则库中获取与待测试属性信息匹配的测试规则信息。
[0069] 例如,对于表1所示的接口文档,对该接口文档中的接口字段进行测试时,对于每个接口字段,其待测试的属性为:“是否必输”、“类型”以及“长度”,其中,每个接口字段对应的待测试的属性信息不同。对于每个接口字段,该三项属性具有相同的测试规则,可以预先针对每个接口字段对应的每个待测试属性信息,设置测试规则信息。例如,对于接口字段ID(编号),预先分别设置与待测试属性信息“是否必输”匹配的测试规则信息,与待测试属性信息“类型”匹配的测试规则信息,与待测试属性信息“长度”匹配的测试规则信息。当对待测试属性信息“长度”进行测试时,获取与其匹配的测试规则信息。
[0070] 其中,对于表1中的每个接口字段的待测试属性信息“是否必输”、“类型”以及“长度”的测试规则例如分别如表2-表4所示。
[0071] 表2、“是否必输”的测试规则
[0072]
[0073] 表3、“类型”的测试规则
[0074]
[0075]
[0076] 表4、“长度”的测试规则
[0077]
[0078]
[0079] 表5-表7为根据待测试属性信息“是否必输”、“类型”以及“长度”的测试规则,表1中的接口字段“ID”对应的每个待测试属性信息对应的测试规则信息。
[0080] 表5、“是否必输”测试规则信息
[0081]
[0082] 表6、“类型”测试规则信息
[0083]用例编号 输入值 用例属性 输入内容 返回值
测试用例3 NUMBER 正例 输入数字 10010
测试用例4 NUMBER 反例 输入汉字 10011
测试用例5 NUMBER 反例 输入特殊字符 10011
测试用例6 NUMBER 反例 输入英文字母 10011
[0084] 表7、“长度”测试规则信息
[0085] 用例编号 输入值 用例属性 输入内容 返回值测试用例7 10 正例 输入9位长度的数字 10010
测试用例8 10 正例 输入10位长度的数字 10010
测试用例9 10 反例 输入11位长度的数字 10011
[0086] S203、根据测试规则信息以及N个接口字段中除该接口字段之外的其他接口字段的示例值,获得测试用例。
[0087] 本实施例中,将当前需要测试的待测试属性信息对应的接口字段例如可以称为主测试字段,当前不进行属性测试的其他接口字段例如可以称为辅测试字段。对于主测试字段中的当前测试的其中一个待测试属性信息,例如,对于表1长得接口字段,当前测试接口字段“ID”的“是否必输”属性时,该接口字段“ID”为主测试字段,接口字段“NAME”、接口字段“SEX”、接口字段“AGE”和接口字段“LuckyNum”为辅测试字段。其中,对于主测试字段“ID”中的“是否必输”属性,根据表5所示的测试规则信息获取其测试数据,而辅测试字段的的数据为接口文档中的示例值,从而根据表5所示的测试规则信息获取的测试数据以及接口文档中的示例值获得测试用例。
[0088] S204、根据测试用例,对待测试接口进行测试。
[0089] 本实施例中,获得测试用例后,对待测试接口进行测试。
[0090] 在一些实施例中,S104的一种可能的实现方式为:获取待测试接口的接口地址;根据接口地址和测试用例,对待测试接口进行测试。例如,根据表1所示的接口文档中的接口名称获取接口地址,编写测试脚本,调取报文发送工具,执行测试用例。
[0091] 本实施例,通过读取待测试接口的接口文档,接口文档中包括与N个接口字段中每个接口字段对应的至少一个待测试属性信息以及每个接口字段的示例值;针对每个接口字段对应的每个待测试属性信息,获取与待测试属性信息匹配的测试规则信息;根据测试规则信息以及N个接口字段中除该接口字段之外的其他接口字段的示例值,获得测试用例,根据测试规则信息可以自动获取待测试属性信息对应的测试数据,从而结合其他接口字段的示例值获得测试用例,提高了获得测试数据的效率和准确性,从而提高测试的效率和准确性。并且,根据测试用例,对待测试接口进行测试时,可以根据测试用例自动执行接口测试,进一步提高测试的效率,解决现有技术中手动编写测试用例时效率低且易出错的问题。
[0092] 图3为本发明另一实施例提供的接口字段自动化测试方法的流程图,如图3所示,本实施例的方法可以包括:
[0093] S301、读取待测试接口的接口文档。
[0094] 本实施例中,S301的具体实现方式可参考S201,此处不再赘述。
[0095] S302、针对每个接口字段对应的每个待测试属性信息,获取与待测试属性信息匹配的测试规则信息。
[0096] 本实施例中,S302的具体实现方式可参考S202,此处不再赘述。
[0097] S303、根据测试规则信息,获取用于生成测试用例的模板以及用于测试待测试属性信息的测试数据。
[0098] 本实施例中,根据测试规则信息,获取用于生成测试用例的模板,以及与该测试规则信息对应的待测试属性信息的测试数据。其中,用于生成测试用例的模板是根据接口测试的测试需求获得的,即用于生成测试用例的模板表示了该测试用例的测试意图,即该测试用例所要测试的测试需求。
[0099] 在一些实施例中,测试规则信息包括用于生成测试用例的模板,获取到主测试字段的待测试属性信息中当前测试的待测试属性信息的测试数据以及辅测试字段的示例值后,根据该用于生成测试用例的模板,获得测试用例。
[0100] 在一些实施例中,测试规则信息还包括:用于测试待测试属性信息的测试数据。从而在获取到测试规则信息后,可以自动从测试规则信息中获取与该测试规则信息对应的待测试属性信息的测试数据,提高了获取测试数据的效率和准确性。
[0101] 其中,在一些实施例中,用于测试待测试属性信息的测试数据是根据与待测试属性信息对应的测试数据生成函数以及接口字段的至少一个测试属性信息得到的。由于待测试接口的接口字段具有相同的测试规则,因此,根据测试规则可以预先设置测试数据生成函数,测试数据生成函数例如为:CREATDATA(“当前字段类型”,“当前字段长度”,“小于、大于或者等于”),在读取待测试接口的接口文档时,每读取到一个接口字段的其中一个待测试的属性信息,根据该接口字段的所有待测试的属性信息以及测试数据生成函数获得用于测试该待测试属性信息的测试数据。例如,对于接口字段“姓名”,当测试其“是否必输”属性时,根据表2可知,其正例为输入一个字段长度符合属性“长度”要求的数字(即满足属性“类型”和“长度”的要求),因此,根据接口字段“姓名”的所有待测试属性信息以及测试数据生成函数获得用于测试“是否必输”属性的正例,例如为:1000,其反例为不输入。获得测试每个接口字段的每个待测试属性信息的测试数据后,将测试数据存入到与该待测试属性信息对应的测试规则信息中,以在测试该待测属性信息时可以自动从匹配到的测试规则信息中获取测试数据。提高了获得测试数据的效率以及测试数据的准确性,从而提高测试的效率和准确性、可信性。
[0102] 在一些实施例中,测试规则信息还包括:与待测试属性信息对应的测试数据生成函数;相应的,S303的一种可能的实现方式为:根据测试数据生成函数和接口字段的至少一个测试属性信息,获取用于测试待测试属性信息的测试数据。
[0103] 本实施例中,预先在与每个接口字段的每个测试属性信息匹配的测试规则信息中设置与该待测试属性信息对应的测试数据生成函数,从而在待测该待测试属性信息时,根据该测试数据生成函数以及该接口字段的所有的待测试属性信息,获得用于测试该待测试属性信息的测试数据。例如,对于接口字段“ID”中的待测试属性信息“类型”,根据该接口字段的所有待测试属性信息可知,其测试数据成成函数为:CREATDATA(“当前字段类型”,“10”,“小于”),其中,“当前字段类型”包括:数字、汉子、特殊字符、英文字母,对于不同的当前字段类型,生成不同的测试数据以测试待测试属性信息“类型”;对于接口字段“ID”中的待测试属性信息“长度”,其测试数据成成函数为:CREATDATA(“NUMBER”,“10”,“小于、大于或等于”),其中,“小于、大于或等于”包括:小于、大于以及等于,分别对应不同的测试数据以测试待测试属性信息“长度”。
[0104] S304、根据测试数据、用于生成测试用例的模板以及其他接口字段的示例值,获得测试用例。
[0105] 本实施例中,根据测试数据、其他接口字段的示例值以及用于生成测试用例的模板,获得测试用例。例如,对于接口字段“ID”中的待测试属性信息“长度”,根据表1中的示例值,以及与该待测试属性新对应的测试规则信息,获得的用于测试该待测试属性信息的测试用例为:
[0106] 第一个测试用例:
[0107] {
[0108] "ID'":123456789,
[0109] "NAME":"张三",//示例值
[0110] "SEX":1//示例值
[0111] "AGE":20//示例值
[0112] "LUCKYNUM":{1,2,3,4}//示例值
[0113] }
[0114] 第二个测试用例:
[0115] {
[0116] "ID'":1234567891,
[0117] "NAME":"张三",//示例值
[0118] "SEX":1//示例值
[0119] "AGE":20//示例值
[0120] "LUCKYNUM":{1,2,3,4}//示例值
[0121] }
[0122] 第三个测试用例:
[0123] {
[0124] "ID'":12345678911,
[0125] "NAME":"张三",//示例值
[0126] "SEX":1//示例值
[0127] "AGE":20//示例值
[0128] "LUCKYNUM":{1,2,3,4}//示例值
[0129] }
[0130] S305、根据测试用例,对待测试接口进行测试。
[0131] 本实施例中,S305的具体实现方式可参考S204,此处不再赘述。
[0132] 本实施例,由于待测试接口中每个接口字段的具有类似的规则,因此,可以根据每个字段的规则设置统一的测试数据生成函数,在测试其中一个接口字段的待测试属性信息时,根据该待测试属性信息、该接口字段其他待测试属性信息对测试数据生成函数中参数信息(“当前字段类型”或“当前字段长度”或“小于、大于或者等于”),从自动获得测试该待测试属性信息的测试数据,提高了获得测试数据的效率和准确性。
[0133] 图4为本发明另一实施例提供的接口字段自动化测试方法的流程图,在上述任一实施例的基础上,本实施例,根据表1所示的接口文档,提供一个具体的实施例,如图4所示,本实施例的方法可以包括:
[0134] S401、读取待测试接口的接口文档。
[0135] 本实施例中,S401的具体实现方式可参考S201,此处不再赘述。
[0136] S402、选取接口文档中的任一一个接口字段。
[0137] 本实施例中,以选取接口字段“ID”为例进行说明。
[0138] S40311、选取接口字段中的待测试属性信息“是否必输”。
[0139] S40312、根据待测试属性信息“是否必输”,获取与其匹配的测试规则信息。
[0140] 本实施例中,根据测试规则信息获取用于测试待测试属性信息“是否必输”的测试数据以及测试用例的模板。
[0141] S40313、根据接口文档,获取其他接口字段的示例值。
[0142] S40314、根据测试规则信息和示例值,获取用于测试待测试属性信息“是否必输”的测试用例。
[0143] 本实施例中,测试用例例如可以是:
[0144] 测试用例1:
[0145] {
[0146] "ID'":10000,
[0147] "NAME":"张三",//示例值
[0148] "SEX":1//示例值
[0149] "AGE":20//示例值
[0150] "LUCKYNUM":{1,2,3,4}//示例值
[0151] }
[0152] 测试用例2:
[0153] {
[0154] "ID'":“”,
[0155] "NAME":"张三",//示例值
[0156] "SEX":1//示例值
[0157] "AGE":20//示例值
[0158] "LUCKYNUM":{1,2,3,4}//示例值
[0159] }
[0160] S40321、选取接口字段中的待测试属性信息“类型”。
[0161] S40322、根据待测试属性信息“类型”,获取与其匹配的测试规则信息;
[0162] 本实施例中,根据测试规则信息获取用于测试待测试属性信息“类型”的测试数据以及测试用例的模板。
[0163] S40323、根据接口文档,获取其他接口字段的示例值。
[0164] S40324、根据测试规则信息和示例值,获取用于测试待测试属性信息“类型”的测试用例。
[0165] 本实施例中,测试用例例如可以是:
[0166] 测试用例3:
[0167] {
[0168] "ID'":10000,
[0169] "NAME":"张三",//示例值
[0170] "SEX":1//示例值
[0171] "AGE":20//示例值
[0172] "LUCKYNUM":{1,2,3,4}//示例值
[0173] }
[0174] 测试用例4:
[0175] {
[0176] "ID'":“你好”,
[0177] "NAME":"张三",//示例值
[0178] "SEX":1//示例值
[0179] "AGE":20//示例值
[0180] "LUCKYNUM":{1,2,3,4}//示例值
[0181] }
[0182] 测试用例5:
[0183] {
[0184] "ID'":“%%%%%%####”,
[0185] "NAME":"张三",//示例值
[0186] "SEX":1//示例值
[0187] "AGE":20//示例值
[0188] "LUCKYNUM":{1,2,3,4}//示例值
[0189] }
[0190] 测试用例6:
[0191] {
[0192] "ID'":“ABC”,
[0193] "NAME":"张三",//示例值
[0194] "SEX":1//示例值
[0195] "AGE":20////示例值
[0196] "LUCKYNUM":{1,2,3,4}//示例值
[0197] }
[0198] S40331、选取接口字段中的待测试属性信息“长度”。
[0199] S40332、根据待测试属性信息“长度”,获取与其匹配的测试规则信息。
[0200] 本实施例中,根据测试规则信息获取用于测试待测试属性信息“长度”的测试数据以及测试用例的模板。
[0201] S40333、根据接口文档,获取其他接口字段的示例值。
[0202] S40334、根据测试规则信息和示例值,获取用于测试待测试属性信息“长度”的测试用例。
[0203] 测试用例7:
[0204] {
[0205] "ID'":123456789,
[0206] "NAME":"张三",//示例值
[0207] "SEX":1//示例值
[0208] "AGE":20//示例值
[0209] "LUCKYNUM":{1,2,3,4}//示例值
[0210] }
[0211] 测试用例8:
[0212] {
[0213] "ID'":1234567891,
[0214] "NAME":"张三",//示例值
[0215] "SEX":1//示例值
[0216] "AGE":20//示例值
[0217] "LUCKYNUM":{1,2,3,4}//示例值
[0218] }
[0219] 测试用例9:
[0220] {
[0221] "ID'":12345678911,
[0222] "NAME":"张三",//示例值
[0223] "SEX":1//示例值
[0224] "AGE":20//示例值
[0225] "LUCKYNUM":{1,2,3,4}//示例值
[0226] }
[0227] S404、根据S40314、S40324以及S40334获得的测试用例,获得用于测试选取的接口字段的测试用例。
[0228] S405、根据用于测试选取的接口字段的测试用例,对选取的待测试接口中的接口字段进行测试。
[0229] S406、返回到S402,选取另一个接口字段。
[0230] 需要说明的是,图3示出的是在获得一个接口字段的所有测试用例后,调取报文发送工具,执行测试用例。其中,例如还可以,对于一个接口字段的任一待测试属性信息,每获得该待测试属性信息的测试用例后,调取报文发送工具,执行测试用例。
[0231] 在一些可能的实施例中,在上述任一实施例的基础上,S204之后,方法还包括:
[0232] 获取与测试用例对应的第一测试结果;判断第一测试结果指示是否符合测试用例对应的预设结果;若否,则重新获得测试用例,并根据重新获得的测试用例,对待测试接口进行测试。
[0233] 本实施例中,对于任一待测试属性,首次根据S202和S203获得该待测试属性的至少一个测试用例,并根据每个测试用例执行接口测试时,可以获得每个测试用例对应的测试结果。其中,将与首次获得的测试用例对应的测试结果即为第一测试结果。
[0234] 获得每个测试用例的第一测试结果后,判断第一测试结果是否与该第一测试用例对应的预设结果一致。若一致,说明该待测试属性对应的接口字段中,该测试用例所要测试的该待测试属性的逻辑无误;若不一致,为获取导致第一测试结果与该第一测试用例对应的预设结果不一致的原因,可以根据S202和S203重新获得用于测试接口字段中,该待测试属性上述逻辑的测试用例,根据重新获得的测试用例对接口字段的该待测试属性进行再次测试。
[0235] 例如,用于测试待测试属性的测试用例包括正例和反例,无论测试用例为正例还是反例,预设结果均为正确。因此,当根据S202和S203获得的测试用例是正例时,如果第一次测试结果为正确,则说明该测试用例所要测试的该待测试属性的逻辑无误;若第一次测试结果为错误,则说明该测试用例所要测试的该待测试属性的逻辑有误,需要重新获取测试用例进行测试。当根据S202和S203获得的测试用例是反例时,如果第一次测试结果为正确,则说明该测试用例所要测试的该待测试属性的逻辑无误;若第一次测试结果为错误,则说明该测试用例所要测试的该待测试属性的逻辑有误,需要重新获取测试用例进行测试。
[0236] 本实施例,通过获取测试用例的测试结果,在测试结果与该测试用例对应的预设结果不一致时,重新获取测试用例进行测试,从而确定是测试用例有误还是测试用例所要测试的该待测试属性的逻辑无误,从而提高获取测试用例以及接口测试的准确性。
[0237] 在一些可能的实施例中,在上述实施例的基础上,方法在“根据重新获得的测试用例,对待测试接口进行测试”之后,还包括:
[0238] 获取与重新获得的测试用例对应的第二测试结果;判断第一测试结果是否与第二测试结果一致;若否,则输出提示信息,提示信息用于提示用户修改与待测试属性信息匹配的测试规则信息。
[0239] 本实施例中,在根据重新获得测试用例执行测试获得测试结果后,其中,将与重新获得的测试用例对应的测试结果,记为第二测试结果,将第二测试结果与第一测试结果进行比较。若第一测试结果与第二测试结果一致,即第二测试结果与预设结果不一致,则可以确定该测试用例所要测试的该待测试属性的逻辑有误,则需要修改该测试用例所要测试的该待测试属性的逻辑。若第一测试结果与第二测试结果不一致,即第二测试结果与预设结果一致,则可以确定与该待测试属性信息匹配的测试规则信息有误,从而输出提示信息,以提示用户修改与该待测试属性信息匹配的测试规则信息。
[0240] 本实施例,通过将两次测试结果进行比较,在两次测试结果不一致时,对用于获得该测试用例中测试数据的测试规则信息进行修改,从而提高获得的测试用例的准确性,避免因测试用例不正确而导致测试结果错误而认为是测试用例所要测试的待测试属性的逻辑错误的情况。
[0241] 图5为本发明一实施例提供的接口字段自动化测试装置的结构示意图,如图5所示,本实施例的装置可以包括:读取模块51、获取模块52、处理模块53以及测试模块54。其中,
[0242] 读取模块51,用于读取待测试接口的接口文档,接口文档中包括与N个接口字段中每个接口字段对应的至少一个待测试属性信息以及每个接口字段的示例值,N为大于等于1的整数;
[0243] 获取模块52,用于针对每个接口字段对应的每个待测试属性信息,获取与待测试属性信息匹配的测试规则信息;
[0244] 处理模块53,用于根据测试规则信息以及N个接口字段中除该接口字段之外的其他接口字段的示例值,获得测试用例;
[0245] 测试模块54,用于根据测试用例,对待测试接口进行测试。
[0246] 在一些可能的实施例中,测试规则信息包括用于生成测试用例的模板。
[0247] 在一些可能的实施例中,处理模块53根据测试规则信息以及N个接口字段中除该接口字段之外的其他接口字段的示例值,获得测试用例,具体用于:
[0248] 根据测试规则信息,获取用于生成测试用例的模板以及用于测试待测试属性信息的测试数据;根据测试数据、用于生成测试用例的模板以及其他接口字段的示例值,获得测试用例。
[0249] 在一些可能的实施例中,测试规则信息还包括:用于测试待测试属性信息的测试数据。
[0250] 在一些可能的实施例中,用于测试待测试属性信息的测试数据是根据测试数据生成函数以及接口字段的至少一个测试属性信息得到的。
[0251] 在一些可能的实施例中,测试规则信息还包括:与待测试属性信息对应的测试数据生成函数;处理模块53根据测试规则信息获取用于测试待测试属性信息的测试数据,具体用于:根据测试数据生成函数和接口字段的至少一个测试属性信息,获取用于测试待测试属性信息的测试数据。
[0252] 在一些可能的实施例中,测试模块54根据测试用例,对待测试接口进行测试,具体用于:获取待测试接口的接口地址;根据接口地址和测试用例,对待测试接口进行测试。
[0253] 在一些可能的实施例中,获取模块52,还用于在测试模块根据测试用例,对待测试接口进行测试之后,获取与测试用例对应的第一测试结果;处理模块53,还用于判断第一测试结果指示是否符合测试用例对应的预设结果;若否,则重新获得测试用例;测试模块54,还用于根据重新获得的测试用例,对待测试接口进行测试。
[0254] 在一些可能的实施例中,获取模块52,还用于在测试模块根据重新获得的测试用例,对待测试接口进行测试之后,获取与重新获得的测试用例对应的第二测试结果;处理模块53,还用于判断第一测试结果是否与第二测试结果一致;若否,则输出提示信息,提示信息用于提示用户修改与待测试属性信息匹配的测试规则信息。
[0255] 本实施例的装置,可以用于执行上述任一所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0256] 图6为本发明一实施例提供的电子设备的结构示意图,如图6所示,本实施例的电子设备可以包括:至少一个处理器61和存储器62。图6示出的是以一个处理器为例的电子设备,其中,
[0257] 存储器62,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器62可能包含高速随机存取存储器(random access memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0258] 处理器61,用于执行所述存储器62存储的计算机执行指令,以实现上述实施例所示的接口字段自动化测试方法。
[0259] 其中,处理器61可能是一个中央处理器(Central Processing Unit,CPU),或者是特定集成电路(Application Specific Integrated Circuit,ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
[0260] 可选的,在具体实现上,如果存储器62和处理器61独立实现,则存储器62和处理器61可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。所述总线可以分为地址总线数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
[0261] 可选的,在具体实现上,如果存储器62和处理器61集成在一块芯片上实现,则存储器62和处理器61可以通过内部接口完成相同间的通信。
[0262] 本实施例以上所述的电子设备,可以用于执行上述各方法实施例中示出的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0263] 本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0264] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈