测试方法、装置、系统与流程

文档序号:32386269发布日期:2022-11-30 06:20阅读:36来源:国知局
测试方法、装置、系统与流程

1.本技术涉及计算机的技术领域,具体而言,涉及一种测试方法、装置、系统。


背景技术:

2.现阶段基于平台的网关代理api(application programming interface,应用程序编程接口)测试是测试人员使用平台指定的穿测测试账号登录,模拟平台客户成功下单并使用api的完整过程。然而,上述测试方式由于全部需要人为下单并拼接调用目标api进行测试验证,导致测试效率低下,无法满足平台大规模api上线验证测试要求。


技术实现要素:

3.本技术提供一种测试方法、装置、系统,以解决现有技术中api测试效率低下,无法满足平台大规模api上线验证测试要求的问题。
4.第一方面,本技术提供一种测试方法,包括:获取预设的待测试api列表中待测试api的请求地址、请求参数以及对应的比对文件,所述比对文件用于检测所述待测试api;调用所述请求地址、所述请求参数对应的api,并获得调用结果;将所述调用结果与所述比对文件进行比对,得到测试结果。
5.本技术实施例中,通过预设的待测试api列表,从而可以自动获取待测试api的请求地址、请求参数以及对应的比对文件,并对待测试api进行测试,可以自动完成预设待测试api列表中所有待测试api的测试,提高了api测试的效率。
6.结合上述第一方面提供的技术方案,在一些可能的实施方式中,所述获取预设的待测试api列表中待测试api的请求地址、请求参数以及对应的比对文件,所述比对文件用于检测所述待测试api,包括:基于所述待测试api列表,自动向api交易平台发送下单订购请求,所述下单订购请求携带有表征所述待测试api的唯一标识,以使所述api交易平台将所述下单订购请求发送给所述待测试api的提供方,并接收所述待测试api的提供方响应所述下单订购请求而返回的签约结果;获取所述api交易平台在所述签约结果表征签约成功时发送的所述待测试api的请求地址、请求参数以及对应的比对文件。
7.本技术实施例中,在向api交易平台发送下单订购请求后,api交易平台向待测试api的提供方发送下单订购请求,并得到api提供方返回的签约结果,api交易平台在签约后的结果表征签约成功时发送的待测试api的请求地址、请求参数以及对应的比对文件,从而完整模拟了用户在api交易平台上购买api的全过程,使得最终得到的结果更加符合实际需求。
8.结合上述第一方面提供的技术方案,在一些可能的实施方式中,所述待测试api列表中包括多个待测试api的唯一标识,测试时,针对每一个待测试api分别进行测试。
9.本技术实施例中,由于每个唯一表征唯一对应一个待测试api,从而可以确保api交易平台能准确识别下单订购请求订购的待测试api,防止因api交易平台识别待测试api出现错误而导致的测试不通过。
10.结合上述第一方面提供的技术方案,在一些可能的实施方式中,所述调用结果包括所述请求地址、所述请求参数、输出参数、请求方式;所述比对文件中包括请求地址、请求参数、输出参数、请求方式。
11.本技术实施例中,通过请求地址、请求参数、输出参数、请求方式四种数据即可较为全面的体现待测试api的功能及调用要求,从而可以使得最终得到的测试结果更加准确。
12.结合上述第一方面提供的技术方案,在一些可能的实施方式中,所述将所述调用结果与所述比对文件进行比对,得到测试结果,包括:将所述调用结果中的请求地址和所述比对文件中的请求地址进行比对,将所述调用结果中的请求参数和所述比对文件中的请求参数进行比对,将所述调用结果中的输出参数和所述比对文件中的输出参数进行比对,将所述调用结果中的请求方式和所述比对文件中的请求方式进行比对,得到测试结果。
13.本技术实施例中,由于请求地址、请求参数、输出参数、请求方式四种数据即可以较为全面的体现待测试api的功能及调用要求,因此,将调用结果和比对文件中的每一类数据分别进行对比,可以使得最终的测试结果更加准确。
14.第二方面,本技术提供一种测试方法,包括:测试装置基于预设的待测试api列表,自动向api交易平台发送下单订购请求,所述下单订购请求携带有所述待测试api列表中待测试api的唯一标识;所述api交易平台将所述下单订购请求发送给所述待测试api的提供方,并接收所述待测试api的提供方响应所述下单订购请求而返回的签约结果;所述api交易平台在所述签约结果表征签约成功时,向所述测试装置发送所述待测试api的请求地址、请求参数以及对应的比对文件,所述比对文件用于检测所述待测试api;所述测试装置获取所述待测试api的请求地址、请求参数以及对应的比对文件,并调用所述请求地址、所述请求参数对应的api,获得调用结果;并将所述调用结果与所述比对文件进行比对,得到测试结果。
15.第三方面,本技术提供一种测试装置,包括:获取模块、调用模块、比对模块,订购模块,获取模块用于获取预设的待测试api列表中待测试api的请求地址、请求参数以及对应的比对文件,所述比对文件用于检测所述待测试api;调用模块用于调用所述请求地址、所述请求参数对应的api,并获得调用结果;比对模块用于将所述调用结果与所述比对文件进行比对,得到测试结果。
16.第四方面,本技术提供一种测试系统,包括:测试装置和api交易平台;所述测试装置,用于基于预设的待测试api列表,自动向所述api交易平台发送下单订购请求,所述下单订购请求携带有所述待测试api列表
17.中待测试api的唯一标识;所述api交易平台,用于将所述下单订购请求
18.发送给所述待测试api的提供方,并接收所述待测试api的提供方响应所述下单订购请求而返回的签约结果,并在所述签约结果表征签约成功时,向所述测试装置发送所述待测试api的请求地址、请求参数以及对应的比对文件,所述比对文件用于检测所述待测试api;所述测试装置,还用于获取所述待测试api的请求地址、请求参数以及对应的比对文件,并调用所述请求地址、所述请求参数对应的api,获得调用结果,并将所述调用结果与所述比对文件进行比对,得到测试结果。
19.结合上述第四方面提供的技术方案,在一些可能的实施方式中,所述测试系统还包括:api网关;api网关,用于将所述下单订购请求发送给所述待测试api的提供方,并接收
所述待测试api的提供方响应所述下单订购请求而返回的签约结果,并将所述签约结果返回给所述api交易平台。
20.结合上述第四方面提供的技术方案,在一些可能的实施方式中,所述调用结果包括有所述请求地址、所述请求参数、输出参数、请求方式;所述比对文件中包括有请求地址、请求参数、输出参数、请求方式。
附图说明
21.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
22.图1为本技术实施例示出的一种测试方法的流程示意图;
23.图2为本技术实施例示出的一种测试方法的数据交互示意图;
24.图3为本技术实施例示出的又一种测试方法的数据交互示意图;
25.图4为本技术实施例示出的一种测试装置的结构框图;
26.图5为本技术实施例示出的一种测试系统的结构框图;
27.图6为本技术实施例示出的一种电子设备的结构框图。
具体实施方式
28.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
29.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
30.下面将结合附图对本技术的技术方案进行详细地描述。
31.请参阅图1,图1为本技术实施例示出的一种测试方法的流程示意图,下面将结合图1对其包含的步骤进行说明。
32.s100:获取预设的待测试api列表中待测试api的请求地址、请求参数以及对应的比对文件,所述比对文件用于检测所述待测试api。
33.待测试api列表可以是预先获取并存储在存储介质中的,在需要时直接调用即可。
34.可以理解的是,待测试api列表中包括的待测试api可以根据用户实际需要进行编辑,此处不对待测试api列表中包括的待测试api的数量进行限制。
35.一种实施方式下,待测试api列表中可以包括多个待测试api的唯一标识,测试时,针对每一个待测试api分别进行测试。
36.为了提高本方案测试的真实性,一种实施方式下,请参阅图2,步骤s100的具体实现过程可以是:首先,测试装置基于待测试api列表,自动向api交易平台发送下单订购请求,该下单订购请求携带有表征该待测试api的唯一标识,以使api交易平台将下单订购请求发送给待测试api的提供方,并接收待测试api的提供方响应下单订购请求而返回的签约结果。然后测试装置获取api交易平台在签约结果表征签约成功时发送的待测试api的请求地址、请求参数以及对应的比对文件。
37.通过该方式获取待测试api的请求地址、请求参数以及对应的比对文件,充分考虑到了用户在api交易平台上购买api的全过程,使得测试过程更加符合真实情况,从而使最终得到的测试结果更加符合实际需求。
38.其中,可以是api交易平台直接将下单订购请求发送给待测试api的提供方,然后待测试api的提供方将签约结果直接返回给api交易平台。也可以是api交易平台将下单订购请求发送给api网关,然后api网关向待测试api的提供方发送下单订购请求,并接收待测试api的提供方响应下单订购请求而返回的签约结果,将签约结果返回给api交易平台。
39.在api交易平台将下单订购请求发送给api网关时,s100步骤中测试装置、api交易平台、api网关和api提供方之间的数据交互如图3所示。
40.首先,测试装置基于预设的待测试api列表,自动向api交易平台发送订购待测试api的下单订购请求,下单订购请求携带有表征待测试api的唯一标识。
41.然后api交易平台向api网关发送下单订购请求。之后api网关向待测试api的提供方发送下单订购请求,然后待测试api的提供方将签约结果发送给api网关,以便api网关将签约结果发送给api交易平台。
42.最后,api交易平台在签约结果表征签约成功时,向测试装置发送待测试api的请求地址、请求参数以及对应的比对文件。
43.其中,上述的唯一标识可以是由字符组成的字符串,例如可以是英文字母和数字组成的id(identity document,身份证标识号),此处举例仅为便于理解,不应作为对本技术的限制。
44.可选的,当api交易平台中的各个api的名称唯一时,也可以将api的名称作为唯一标识。
45.一种实施方式下,待测试api的请求地址、请求参数以及比对文件可以是预先存储在api交易平台中的,例如,可以是api交易平台的管理人员将api的请求地址、请求参数以及比对文件上传到api交易平台中的,也可以是api的提供方将api的请求地址、请求参数以及比对文件上传到api交易平台中的。
46.可以理解的是,请求地址即为待测试api的地址。待测试api的请求参数为其实现自身功能需要的输入参数,不同待测试api需要的请求参数的类型可以不同。例如,当待测试api的功能为移动通信功能时,请求参数可以包括起始时间、结束时间、用户名、密码等参数。
47.一种实施方式下,比对文件中包括有待测试api的请求地址、请求参数、输出参数和请求方式。
48.待测试api的输出参数为其自身功能实现需要输出的参数,不同待测试api需要的输出参数的类型可以不同。例如,当待测试api的功能为移动通信功能时,返回参数可以包
括卡槽中卡片的手机号码、地址、手机机型、手机品牌等参数。
49.待测试api的请求方式即为向api请求内容的方式,例如可以是get、post、head、put、delete、connect、options、trace等请求方式。其中,请求方式的具体类型及实现原理为本领域技术人员所熟知,为简要描述,此处不再赘述。
50.其中,请求地址和请求参数的具体实现方式与前述的请求地址和请求参数一致,为简要描述,此处不再赘述。
51.为了便于后续将比对文件与调用结果进行比对,一种实施方式下,可以是api提供方将包括有其提供的api的请求地址、请求参数、输出参数和请求方式的初始比对文件上传至api交易平台,然后api交易平台对该初始比对文件进行语义识别,得到该api的请求地址、请求参数、输出参数和请求方式,并按照预设的格式进行存储,得到预设格式的比对文件。
52.其中,对文件进行语义识别的具体过程及原理已为本领域技术人员所熟知,为简要描述,此处不再赘述。
53.或者,可以是api交易平台上预设有比对文件表,api提供方在将api上架到api交易平台时,需要填写该预设的包括请求地址、请求参数、输出参数和请求方式的比对文件表,进而api交易平台根据该比对文件表生成预设格式的比对文件。
54.上述的预设格式可以根据实际需求进行设置,只要在将比对文件与调用结果进行比对时,能准确识别比对文件中的请求地址、请求参数、输出参数、请求方式四种数据即可。
55.例如,可以在比对文件中建立四个独立的表格,第一个表格存储api的请求地址,第二个表格存储api的请求参数,第三个表格存储api的输出参数,第四个表格存储api的请求方式,进而在将比对文件与调用结果进行比对时,可以直接将比对文件中第一个表格的内容与调用结果中的请求地址进行比对,将比对文件中第二个表格的内容与调用结果中的请求参数进行比对,将比对文件中第三个表格的内容与调用结果中的输出参数进行比对,将比对文件中第四个表格的内容与调用结果中的请求方式进行比对。无需再对比对文件中的内容进行识别,可以直接确定请求地址、请求参数、输出参数、请求方式四种数据各自的位置。
56.s200:调用所述请求地址、所述请求参数对应的api,并获得调用结果。
57.一种实施方式下,调用结果包括请求地址、请求参数、输出参数、请求方式,调用结果中的请求地址和api交易平台发送给测试装置的请求地址一致,调用结果中的请求参数和api交易平台发送给测试装置的请求参数一致。
58.其中,s200的具体实现方式可以是,测试装置首先通过请求地址找到对应的api,然后向该api发送请求参数,以使该api执行自身的功能,并得到api执行自身功能输出的输出参数,之后基于请求地址、输入参数、输出参数以及访问该api的请求方式得到调用结果。
59.调用结果中的请求地址、输入参数、输出参数以及请求地址的具体含义和实现方式与前述的比对文件中的请求地址、输入参数、输出参数以及请求地址相同,为简要描述,此处不再赘述。
60.s300:将所述调用结果与所述比对文件进行比对,得到测试结果。
61.一种实施方式下,将调用结果与比对文件进行比对,得到测试结果的具体方式可以是:测试装置首先将调用结果中的请求地址和比对文件中的请求地址进行比对,将调用
结果中的请求参数和比对文件中的请求参数进行比对,将调用结果中的输出参数和比对文件中的输出参数进行比对,将调用结果中的请求方式和比对文件中的请求方式进行比对,若全部比对通过,得到表征测试通过的测试结果。
62.例如,当调用结果中的请求地址和比对文件中的请求地址一致,调用结果中的请求参数和比对文件中的请求参数一致,调用结果中的输出参数和比对文件中的输出参数一致,调用结果中的请求方式和比对文件中的请求方式一致,则得到表征测试通过的测试结果。
63.调用结果中的请求参数和比对文件中的请求参数一致,以及调用结果中的输出参数和比对文件中的输出参数一致,可以有以下三种实施方式。
64.第一种实施方式下,调用结果中的请求参数和比对文件中的请求参数一致,可以是调用结果中的请求参数包括的数据类型和比对文件中的请求参数包括的数据类型一致。例如,调用结果中的请求参数包括数据种类a、数据种类b和数据种类c,若比对文件中的请求参数包括数据种类a、数据种类b和数据种类c时,即可认为调用结果中的请求参数和比对文件中的请求参数一致。
65.同理,调用结果中的输出参数和比对文件中的输出参数一致,也可以是调用结果中的输出参数包括的数据类型和比对文件中的输出参数包括的数据类型一致。其具体匹配方式与第一种实施方式中,确认调用结果中的请求参数和比对文件中的请求参数一致的方式一致,为简要描述,此处不再赘述。
66.第二种实施方式下,调用结果中的请求参数和比对文件中的请求参数一致,可以是调用结果中的请求参数包括的数据类型和比对文件中的请求参数包括的数据类型一致,并且调用结果中请求参数每种类型数据的具体数值与比对文件的请求参数中对应类型数据的具体数值误差在预设误差范围内。
67.例如,调用结果中的请求参数包括数值为a1的数据种类a、数值为b1的数据种类b和数值为c1的数据种类c,若比对文件中的请求参数包括数值为a2的数据种类a、数值为b2的数据种类b和数值为c2的数据种类c,且a1和a2的误差在预设误差范围内、b1和b2的误差在预设误差范围内且c1和c2的误差在预设误差范围内,认为调用结果中的请求参数和比对文件中的请求参数一致。此处的预设误差范围可以根据实际需求进行设置,此处不对其具体数值范围进行限制。
68.相应的,调用结果中的输出参数和比对文件中的输出参数一致为:调用结果中的输出参数包括的数据类型和比对文件中的输出参数包括的数据类型一致,并且调用结果中输出参数每种类型数据的具体数值与比对文件的输出参数中对应类型数据的具体数值误差在预设误差范围内。其具体匹配方式与第二种实施方式中,确认调用结果中的请求参数和比对文件中的请求参数一致的方式一致,为简要描述,此处不再赘述。
69.第三种实施方式下,调用结果中的请求参数和比对文件中的请求参数一致,可以是预先设置有请求参数的比对规则,将请求参数包括的部分类型数据设置为数据类型相同,即可认为该类型数据通过比对。将请求参数包括的其余类型数据设置为,且具体数值与比对文件的请求参数中对应类型数据的具体数值误差在预设误差范围内,该类型数据才通过匹配。当调用结果中请求参数中的每一类型数据和比对文件中请求参数中的每一类型数据,均通过匹配,认为调用结果中的请求参数和比对文件中的请求参数一致。
70.例如,当调用结果中的请求参数包括数据种类a、数据种类b和数据种类c,若比对文件中的请求参数包括数据种类a、数据种类b和数据种类c,可以预先设置为调用结果中请求参数包括的数据种类a与比对文件中请求参数包括的数据种类a各自具体数值的误差在预设误差范围内通过匹配,调用结果中请求参数包括的数据种类b、数据种类c与比对文件中请求参数包括的数据种类b、数据种类c各自的数据类型相同通过匹配。则在调用结果中请求参数包括的数据种类a与比对文件中请求参数包括的数据种类a各自具体数值的误差在预设误差范围内,且调用结果中请求参数包括的数据种类b、数据种类c与比对文件中请求参数包括的数据种类b、数据种类c各自的数据类型相同,认为调用结果中的请求参数和比对文件中的请求参数一致。
71.同理,调用结果中的输出参数和比对文件中的输出参数一致,可以是预先设置有输出参数的比对规则,将输出参数包括的部分类型数据设置为数据类型相同,即可认为该类型数据通过比对。将输出参数包括的其余类型数据设置为,且具体数值与比对文件的输出参数中对应类型数据的具体数值误差在预设误差范围内,该类型数据才通过匹配。当调用结果中输出参数中的每一类型数据和比对文件中输出参数中的每一类型数据,均通过匹配,认为调用结果中的输出参数和比对文件中的输出参数一致。其具体匹配方式与第三种实施方式中,确认调用结果中的请求参数和比对文件中的请求参数一致的方式一致,为简要描述,此处不再赘述。
72.请参阅图4,图4为本技术实施例提供的一种测试装置的结构框图,测试装置100包括获取模块110、调用模块120和比对模块130。
73.获取模块110,用于获取预设的待测试api列表中待测试api的请求地址、请求参数以及对应的比对文件,所述比对文件用于检测所述待测试api。
74.调用模块120,用于调用所述请求地址、所述请求参数对应的api,并获得调用结果。
75.比对模块130,用于将所述调用结果与所述比对文件进行比对,得到测试结果。
76.获取模块110,具体用于基于所述待测试api列表,自动向api交易平台发送下单订购请求,所述下单订购请求携带有表征所述待测试api的唯一标识,以使所述api交易平台将所述下单订购请求发送给所述待测试api的提供方,并接收所述待测试api的提供方响应所述下单订购请求而返回的签约结果;获取所述api交易平台在所述签约结果表征签约成功时发送的所述待测试api的请求地址、请求参数以及对应的比对文件。
77.一种实施方式下,所述待测试api列表中包括多个待测试api的唯一标识,测试时,针对每一个待测试api分别进行测试。
78.一种实施方式下,所述调用结果包括所述请求地址、所述请求参数、输出参数、请求方式;所述比对文件中包括请求地址、请求参数、输出参数、请求方式。
79.比对模块130,具体用于将所述调用结果中的请求地址和所述比对文件中的请求地址进行比对,将所述调用结果中的请求参数和所述比对文件中的请求参数进行比对,将所述调用结果中的输出参数和所述比对文件中的输出参数进行比对,将所述调用结果中的请求方式和所述比对文件中的请求方式进行比对,得到测试结果。
80.本技术实施例所提供的测试装置100,其实现原理及产生的技术效果和前述测试方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述测试方法实施例中
processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器240也可以是任何常规的处理器等。
92.其中,上述的电子设备20,包括但不限于个人电脑、服务器等。
93.本技术实施例还提供了一种非易失性计算机可读取存储介质(以下简称存储介质),该存储介质上存储有计算机程序,该计算机程序被计算机如上述的电子设备20运行时,执行上述所示的测试方法。该计算机可读存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
94.以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1