一种接口测试用例生成方法、装置、电子设备和存储介质与流程

文档序号:31600035发布日期:2022-09-21 08:30阅读:49来源:国知局
一种接口测试用例生成方法、装置、电子设备和存储介质与流程

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.此外,本发明实施例还提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时实现本发明实施例所提供的任一种接口测试用例生成方法中的步骤。
36.采用本发明实施例的方案,可以通过契约管理平台的平台开放接口确定该契约管理平台上的接口契约是否发生变更,该契约管理平台用于管理至少一种微服务对外接口的接口契约,若是,调用契约管理平台的平台开放接口从该契约管理平台获取发生变更的目标接口契约,从该目标接口契约中解析出该目标接口契约的接口定义信息,基于该接口定义信息中各接口入参对应的接口入参类型,基于预设的接口测试逻辑进行类型组合,生成至少一组入参组合模型,该入参组合模型指明了各入参位置上的接口入参类型,基于该接口定义信息中各接口入参对应的该接口入参属性信息,对各该入参组合模型中的各该入参位置进行赋参,得到该目标接口契约对应的至少一组接口测试入参组合,根据该接口定义信息中的接口属性信息和该接口测试入参组合,生成该目标接口契约的接口测试用例;由于在本发明实施例中,通过改造后的契约管理平台中的平台开放接口,可以确定是否有发生变更的接口契约,当契约管理平台中存在发生变更的目标接口契约,可以自动获取目标接口契约并生成目标接口契约对应的接口测试用例,因此,可以无需测试人员手动获取微服务中发生变更的接口契约,能够减少对人工的依赖,节约人力资源,及时获取发生了变更的接口契约,提高微服务的接口测试的效率。
附图说明
37.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
38.图1是本发明实施例提供的接口测试用例生成方法的场景示意图;
39.图2是本发明实施例提供的接口测试用例生成方法的流程图;
40.图3是本发明实施例提供的登录页面示意图;
41.图4是本发明实施例提供的授权登录页面示意图;
42.图5是本发明实施例提供的授权登录页面的另一示意图;
43.图6是本发明实施例提供的接口测试用例生成装置的结构示意图;
44.图7是本发明实施例提供的接口测试用例生成装置的另一结构示意图;
45.图8是本发明实施例提供的电子设备的结构示意图。
具体实施方式
46.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
47.本发明实施例提供一种接口测试用例生成方法、装置、电子设备和计算机可读存储介质。具体地,本发明实施例提供适用于接口测试用例生成装置的接口测试用例生成方法,该接口测试用例生成装置可以集成在电子设备中。
48.该电子设备可以为终端等设备,包括但不限于移动终端和固定终端,例如移动终端包括但不限于智能手机、智能手表、平板电脑、笔记本电脑、智能车载等,其中,固定终端包括但不限于台式电脑、智能电视等。
49.该电子设备还可以为服务器等设备,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,但并不局限于此。
50.本发明实施例的接口测试用例生成方法,可以由服务器实现,也可以由终端和服务器共同实现。
51.下面以终端和服务器共同实现该接口测试用例生成方法为例,对该方法进行说明。
52.如图1所示,本发明实施例提供的接口测试用例生成系统包括契约管理侧10和测试用例生成侧20等;契约管理侧10与测试用例生成侧20之间通过网络连接,比如,通过有线或无线网络连接等。
53.其中,契约管理侧10可以配置有契约管理平台,能够作为存储有至少一种微服务对外接口的接口契约的电子设备存在,用于向测试用例生成侧20提供接口契约。
54.其中,契约管理侧10可以为用户上传待分析的客户数据的终端,用于向测试用例生成侧20发送待分析的客户数据。
55.测试用例生成侧20,可以用于通过契约管理平台的平台开放接口确定契约管理平台上的接口契约是否发生变更,契约管理平台用于管理至少一种微服务对外接口的接口契约,若是,调用契约管理平台的平台开放接口从契约管理平台获取发生变更的目标接口契约,从目标接口契约中解析出目标接口契约的接口定义信息,基于接口定义信息中各接口
入参对应的接口入参类型,基于预设的接口测试逻辑进行类型组合,生成至少一组入参组合模型,入参组合模型指明了各入参位置上的接口入参类型,基于接口定义信息中各接口入参对应的接口入参属性信息,对各入参组合模型中的各入参位置进行赋参,得到目标接口契约对应的至少一组接口测试入参组合,根据接口定义信息中的接口属性信息和接口测试入参组合,生成目标接口契约的接口测试用例。
56.以下分别进行详细说明。需要说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
57.本发明实施例将从接口测试用例生成装置的角度进行描述,该接口测试用例生成装置具体可以集成在服务器或终端中。
58.如图2所示,本实施例的接口测试用例生成方法的具体流程可以如下:
59.201、通过契约管理平台的平台开放接口确定契约管理平台上的接口契约是否发生变更。
60.其中,契约管理平台用于管理至少一种微服务对外接口的接口契约,开发人员可以在契约管理平台中写入新的接口契约或者对已有的接口契约进行修改。
61.其中,微服务是指将应用程序进行拆分得到的服务,即单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。同一应用程序或不同应用程序之间的微服务可以互相协调、互相配合。每个微服务都围绕着具体业务进行构建,并且能够独立地部署到生产环境、类生产环境等。
62.如图3所示,在本发明实施例中,对契约管理平台进行了改造,在传统的契约管理平台上增加了平台开放接口,以使得契约管理平台可以与测试用例生成平台进行通信。
63.测试用例生成平台可以通过调用平台开放接口的方式,从契约管理平台中获取需要的接口契约。
64.其中,平台开放接口可以允许外部程序对契约管理平台进行访问。契约管理平台中维护的契约文档可以通过平台开放接口以服务化的方式对外进行提供。
65.在一些实施例中,测试用例生成平台可以主动询问契约管理平台是否有接口契约发生变更,即步骤“通过契约管理平台的平台开放接口确定契约管理平台上的接口契约是否发生变更”之前,本发明实施例提供的接口测试用例生成方法还可以包括:
66.基于平台开放接口,生成契约变更查询信息。
67.其中,契约变更查询信息可以触发契约管理平台通过平台开放接口向测试用例生成平台返回包含了是否有接口契约发生变更信息的响应信息。
68.相应的,步骤“通过契约管理平台的平台开放接口确定契约管理平台上的接口契约是否发生变更”,具体可以包括:
69.通过契约管理平台的平台开放接口,将契约变更查询信息发送给契约管理平台;
70.接收契约管理平台的查询响应信息,基于查询响应信息确定契约管理平台上的接口契约是否发生变更。
71.其中,查询响应信息中可以包括具体的发生变更的接口契约的标识,例如接口契约所述的应用id、接口id等,或者,查询响应信息中可以只包括能够指示是否有契约发生变更的指示符,例如一个具体的数字以表示具体有几个契约发生变更。
72.如图4所示,测试用例生成平台可以定时轮询契约管理平台中的接口契约,如果发
现契约发生变更,可以从契约管理平台中拉取目标接口契约。
73.202、若是,调用契约管理平台的平台开放接口从契约管理平台获取发生变更的目标接口契约。
74.可以理解的是,测试用例生成平台可以配置一定的接口契约获取规则,例如只获取部分微服务的接口契约,或者,测试用例生成平台可以通过默认方式同步全量接口契约的方式来获取所有接口契约定义信息,并在每日定时一次或多次自动探测接口契约定义是否发生变更,如有变更则再次同步至测试用例生成平台等。
75.在另一些实施例中,要确定契约管理平台上是否有契约发生变更,可以通过契约管理平台主动向测试用例生成平台发送契约发生变更的通知确定。步骤“通过契约管理平台的平台开放接口确定契约管理平台上的接口契约是否发生变更”,具体可以包括:
76.通过契约管理平台的平台开放接口接收契约管理平台发送的契约变更指示信息,契约变更指示信息用于指示契约管理平台中发生变更的接口契约。
77.其中,契约变更指示信息中可以包括具体的发生变更的接口契约的标识,例如接口契约所述的应用id、接口id等,或者,契约变更指示信息中可以只包括能够指示是否有契约发生变更的指示符,例如一个具体的数字以表示具体有几个契约发生变更。
78.相应的,步骤“调用契约管理平台的平台开放接口从契约管理平台获取发生变更的目标接口契约”,可以包括:
79.调用契约管理平台的平台开放接口从契约管理平台获取契约变更指示信息指示的发生变更的目标接口契约。
80.具体的,当契约变更指示信息中包括发生变更的接口契约的标识,测试用例生成平台可以直接从契约管理平台中获取发生变更的接口契约。契约变更指示信息中只包括能够指示是否有契约发生变更的指示符,测试用例生成平台可以对契约管理平台中的各接口契约进行访问,以确定具体发生变更的接口契约并获取。
81.在一些实施例中,为了避免测试用例生成平台没有成功的接收到契约管理平台发送的契约变更指示信息,可以将契约变更指示信息以消息的形式异步发送到消息队列中进行存储,以使得测试用例平台可以根据消息队列中的消息确定是否需要获取目标接口契约。因此,步骤“从目标接口契约中解析出目标接口契约的接口定义信息”之前,方法还包括:
82.监听契约管理平台对应的变更消息队列,变更消息队列为存储契约管理平台发送的契约变更消息的消息队列;
83.若监听到变更消息队列中存入新的契约变更消息,从变更消息队列中获取契约变更消息;
84.基于契约变更消息对已获取的接口契约进行检测,若已获取的接口契约中不包含契约变更消息对应的接口契约,调用契约管理平台的平台开放接口从契约管理平台获取契约变更消息对应的目标接口契约。
85.具体的,如图5所示,当契约管理平台中有契约发生变更后,契约管理平台可以通过契约管理平台向测试用例生成单元推送契约变更指示信息,测试用例生成平台接收到契约变更指示信息后,从契约管理平台拉取契约变更指示信息。
86.另外,契约管理平台还可以异步向变更消息队列中发送契约变更消息,测试用例
生成平台监听到契约变更消息后,可以确定是否已成功地从契约管理平台获取了契约变更消息对应的接口契约,若没有,则测试用例生成平台可以从契约管理平台获取契约变更消息对应的接口契约。
87.203、从目标接口契约中解析出目标接口契约的接口定义信息。
88.其中,接口定义信息是目标接口契约中与接口的定义相关的信息。接口定义信息可以包括但不限于接口所属的微服务id、接口id、接口名称、接口入参字段定义信息(包括:名称、类型、默认值、长度定义、枚举值、格式定义等),接口出参字段定义信息(与接口入参字段定义信息类似,在此不再赘述),等等。
89.204、基于接口定义信息中各接口入参对应的接口入参类型,基于预设的接口测试逻辑进行类型组合,生成至少一组入参组合模型,入参组合模型指明了各入参位置上的接口入参类型。
90.在一些可选的实施例中,接口测试逻辑包括接口参数测试逻辑,步骤204可以包括:
91.基于接口定义信息中各接口入参对应的接口入参类型,基于接口参数测试逻辑进行类型组合,生成至少一组入参组合模型。
92.例如,接口参数测试逻辑可以是对必传参数的定义进行测试的逻辑。假定接口包括a、b、c、d四个入参,都是必传参数,则可生成包括abc、abd、acd、bcd的四组入参组合模型,以验证契约必传参数定义是否正确。
93.对应的,步骤“基于接口定义信息中各接口入参对应的接口入参属性信息,对各入参组合模型中的各入参位置进行赋参,得到目标接口契约对应的至少一组接口测试入参组合”,具体可以包括:
94.基于接口定义信息中各接口入参对应的接口入参属性信息,对各入参组合模型中的各入参位置进行赋参,得到目标接口契约对应的至少包含了一组错误接口测试入参的接口测试入参组合。
95.比如,接口参数测试逻辑可以是对数值类型参数的定义进行测试的逻辑。假定接口包括a、b、c、d四个入参,其中d是数值类型,小数位数为两位,则可生成包括abc[x.yz]、abc[x.uvyz]、abc[string]的三组入参组合模型,以验证数值类型参数定义是否正确。其中[x.yz]、[x.uvyz]代表参数d的小数格式参数值,[string]代表参数d的字符串类型参数值。
[0096]
或者,接口参数测试逻辑可以是对枚举参数的定义进行测试的逻辑。假定接口包括a、b、c、d四个入参,其中d参数是枚举类型,包括d1、d2两个枚举值,则可生成包括abcd1、abcd2、abcd3的三组入参组合模型,以验证枚举参数定义是否正确。
[0097]
205、基于接口定义信息中各接口入参对应的接口入参属性信息,对各入参组合模型中的各入参位置进行赋参,得到目标接口契约对应的至少一组接口测试入参组合。
[0098]
在另一些实施例中,接口测试逻辑可以包括接口功能测试逻辑,步骤“基于接口定义信息中各接口入参对应的接口入参类型,基于预设的接口测试逻辑进行类型组合,生成至少一组入参组合模型”,包括:
[0099]
基于接口定义信息中各接口入参对应的接口入参类型,基于接口功能测试逻辑进行类型组合,生成至少一组入参组合模型。
[0100]
例如,假定接口包括a、b、c、d四个入参,参数c包括两个枚举值c1、c2,参数d包括三
个边界值d1、d2、d3,则可生成包括abc1d1、abc1d2、abc1d3、abc2d1、abc2d2、abc2d3六组入参组合模型,以验证接口业务逻辑的正确性。
[0101]
相应的,步骤205具体可以包括:
[0102]
基于接口定义信息中各接口入参对应的接口入参属性信息,对各入参组合模型中的各入参位置进行赋参,得到目标接口契约对应的至少包含了一组正确接口测试入参的接口测试入参组合。
[0103]
在赋参时,可以对a和b赋以任意的参数,对c和d根据枚举值或者边界值进行赋值。
[0104]
206、根据接口定义信息中的接口属性信息和接口测试入参组合,生成目标接口契约的接口测试用例。
[0105]
具体的,接口属性信息可以是接口对应的请求路径、请求方式等。接口测试用例中可以包括请求方式、请求头、请求体、请求路径以及请求参数等等。
[0106]
本发明实施例提供的接口测试用例生成方法还包括:
[0107]
基于接口测试用例,对目标接口契约对应的目标测试接口进行测试;
[0108]
接收目标测试接口发送的测试响应信息,将测试响应信息与预设的预期响应信息进行对比,得到目标测试接口对应的接口测试结果。
[0109]
一般来说,对于不同的接口测试用例会有响应的预期结果,即预期响应信息。若预期响应信息与接口的实际响应(即测试响应信息)不同,则说明接口业务逻辑或者契约定义有问题。
[0110]
由上可知,本发明实施例通过契约管理平台的平台开放接口确定契约管理平台上的接口契约是否发生变更,契约管理平台用于管理至少一种微服务对外接口的接口契约,若是,调用契约管理平台的平台开放接口从契约管理平台获取发生变更的目标接口契约,从目标接口契约中解析出目标接口契约的接口定义信息,基于接口定义信息中各接口入参对应的接口入参类型,基于预设的接口测试逻辑进行类型组合,生成至少一组入参组合模型,入参组合模型指明了各入参位置上的接口入参类型,基于接口定义信息中各接口入参对应的接口入参属性信息,对各入参组合模型中的各入参位置进行赋参,得到目标接口契约对应的至少一组接口测试入参组合,根据接口定义信息中的接口属性信息和接口测试入参组合,生成目标接口契约的接口测试用例;由于在本发明实施例中,通过改造后的契约管理平台中的平台开放接口,可以确定是否有发生变更的接口契约,当契约管理平台中存在发生变更的目标接口契约,可以自动获取目标接口契约并生成目标接口契约对应的接口测试用例,因此,可以无需测试人员手动获取微服务中发生变更的接口契约,能够减少对人工的依赖,节约人力资源,及时获取发生了变更的接口契约,提高微服务的接口测试的效率。
[0111]
为了更好地实施以上方法,相应的,本发明实施例还提供一种接口测试用例生成装置。
[0112]
参考图6,该装置可以包括:
[0113]
变更确定单元601,可以用于通过契约管理平台的平台开放接口确定契约管理平台上的接口契约是否发生变更,契约管理平台可以用于管理至少一种微服务对外接口的接口契约;
[0114]
契约获取单元602,可以用于若是,调用契约管理平台的平台开放接口从契约管理平台获取发生变更的目标接口契约;
[0115]
契约解析单元603,可以用于从目标接口契约中解析出目标接口契约的接口定义信息;
[0116]
模型生成单元604,可以用于基于接口定义信息中各接口入参对应的接口入参类型,基于预设的接口测试逻辑进行类型组合,生成至少一组入参组合模型,入参组合模型指明了各入参位置上的接口入参类型;
[0117]
赋参单元605,可以用于基于接口定义信息中各接口入参对应的接口入参属性信息,对各入参组合模型中的各入参位置进行赋参,得到目标接口契约对应的至少一组接口测试入参组合;
[0118]
用例生成单元606,可以用于根据接口定义信息中的接口属性信息和接口测试入参组合,生成目标接口契约的接口测试用例。
[0119]
在一些可选的实施例中,变更确定单元601,可以用于通过契约管理平台的平台开放接口接收契约管理平台发送的契约变更指示信息,契约变更指示信息可以用于指示契约管理平台中发生变更的接口契约;
[0120]
契约获取单元602,可以用于调用契约管理平台的平台开放接口从契约管理平台获取契约变更指示信息指示的发生变更的目标接口契约。
[0121]
在一些可选的实施例中,本发明实施例提供的接口测试用例生成装置,还可以包括队列监听单元,可以用于监听契约管理平台对应的变更消息队列,变更消息队列为存储契约管理平台发送的契约变更消息的消息队列;
[0122]
若监听到变更消息队列中存入新的契约变更消息,从变更消息队列中获取契约变更消息;
[0123]
基于契约变更消息对已获取的接口契约进行检测,若已获取的接口契约中不包含契约变更消息对应的接口契约,调用契约管理平台的平台开放接口从契约管理平台获取契约变更消息对应的目标接口契约。
[0124]
在一些可选的实施例中,本发明实施例提供的接口测试用例生成装置,还可以包括查询信息生成单元,可以用于基于平台开放接口,生成契约变更查询信息;
[0125]
变更确定单元601,可以用于通过契约管理平台的平台开放接口,将契约变更查询信息发送给契约管理平台;
[0126]
接收契约管理平台的查询响应信息,基于查询响应信息确定契约管理平台上的接口契约是否发生变更。
[0127]
在一些可选的实施例中,接口测试逻辑可以包括接口参数测试逻辑,模型生成单元604,可以用于基于接口定义信息中各接口入参对应的接口入参类型,基于接口参数测试逻辑进行类型组合,生成至少一组入参组合模型;
[0128]
赋参单元605,可以用于基于接口定义信息中各接口入参对应的接口入参属性信息,对各入参组合模型中的各入参位置进行赋参,得到目标接口契约对应的至少包含了一组错误接口测试入参的接口测试入参组合。
[0129]
在一些可选的实施例中,接口测试逻辑可以包括接口功能测试逻辑,模型生成单元604,可以用于基于接口定义信息中各接口入参对应的接口入参类型,基于接口功能测试逻辑进行类型组合,生成至少一组入参组合模型;
[0130]
赋参单元605,可以用于基于接口定义信息中各接口入参对应的接口入参属性信
息,对各入参组合模型中的各入参位置进行赋参,得到目标接口契约对应的至少包含了一组正确接口测试入参的接口测试入参组合。
[0131]
在一些可选的实施例中,本发明实施例提供的接口测试用例生成装置,如图7所示,还可以包括接口测试单元607,可以用于基于接口测试用例,对目标接口契约对应的目标测试接口进行测试;
[0132]
接收目标测试接口发送的测试响应信息,将测试响应信息与预设的预期响应信息进行对比,得到目标测试接口对应的接口测试结果。
[0133]
由上可知,通过接口测试用例生成装置,通过契约管理平台的平台开放接口确定契约管理平台上的接口契约是否发生变更,契约管理平台用于管理至少一种微服务对外接口的接口契约,若是,调用契约管理平台的平台开放接口从契约管理平台获取发生变更的目标接口契约,从目标接口契约中解析出目标接口契约的接口定义信息,基于接口定义信息中各接口入参对应的接口入参类型,基于预设的接口测试逻辑进行类型组合,生成至少一组入参组合模型,入参组合模型指明了各入参位置上的接口入参类型,基于接口定义信息中各接口入参对应的接口入参属性信息,对各入参组合模型中的各入参位置进行赋参,得到目标接口契约对应的至少一组接口测试入参组合,根据接口定义信息中的接口属性信息和接口测试入参组合,生成目标接口契约的接口测试用例;由于在本发明实施例中,通过改造后的契约管理平台中的平台开放接口,可以确定是否有发生变更的接口契约,当契约管理平台中存在发生变更的目标接口契约,可以自动获取目标接口契约并生成目标接口契约对应的接口测试用例,因此,可以无需测试人员手动获取微服务中发生变更的接口契约,能够减少对人工的依赖,节约人力资源,及时获取发生了变更的接口契约,提高微服务的接口测试的效率。
[0134]
此外,本发明实施例还提供一种电子设备,该电子设备可以为终端或者服务器等等,如图8所示,其示出了本发明实施例所涉及的电子设备的结构示意图,具体来讲:
[0135]
该电子设备可以包括射频(rf,radio frequency)电路801、包括有一个或一个以上计算机可读存储介质的存储器802、输入单元803、显示单元804、传感器805、音频电路806、无线保真(wifi,wireless fidelity)模块807、包括有一个或者一个以上处理核心的处理器808、以及电源809等部件。本领域技术人员可以理解,图8中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0136]
rf电路801可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器808处理;另外,将涉及上行的数据发送给基站。通常,rf电路801包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(sim,subscriber identitymodule)卡、收发信机、耦合器、低噪声放大器(lna,low noise amplifier)、双工器等。此外,rf电路801还可以通过无线通信与网络和其他设备通信。无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(gsm,global system of mobile communication)、通用分组无线服务(gprs,general packet radio service)、码分多址(cdma,code division multipleaccess)、宽带码分多址(wcdma,wideband code division multiple access)、长期演进(lte,long term evolution)、电子邮件、短消息服务(sms,shortmessaging service)等。
[0137]
存储器802可用于存储软件程序以及模块,处理器808通过运行存储在存储器802的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器802可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器802可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器802还可以包括存储器控制器,以提供处理器808和输入单元803对存储器802的访问。
[0138]
输入单元803可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元803可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器808,并能接收处理器808发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元803还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
[0139]
显示单元804可用于显示由用户输入的信息或提供给用户的信息以及电子设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元804可包括显示面板,可选的,可以采用液晶显示器(lcd,liquid crystal display)、有机发光二极管(oled,organiclight-emitting diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器808以确定触摸事件的类型,随后处理器808根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图8中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
[0140]
电子设备还可包括至少一种传感器805,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在电子设备移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于电子设备还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
[0141]
音频电路806、扬声器,传声器可提供用户与电子设备之间的音频接口。音频电路806可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输
出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路806接收后转换为音频数据,再将音频数据输出处理器808处理后,经rf电路801以发送给比如另一电子设备,或者将音频数据输出至存储器802以便进一步处理。音频电路806还可能包括耳塞插孔,以提供外设耳机与电子设备的通信。
[0142]
wifi属于短距离无线传输技术,电子设备通过wifi模块807可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图8示出了wifi模块807,但是可以理解的是,其并不属于电子设备的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
[0143]
处理器808是电子设备的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器802内的软件程序和/或模块,以及调用存储在存储器802内的数据,执行电子设备的各种功能和处理数据。可选的,处理器808可包括一个或多个处理核心;优选的,处理器808可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器808中。
[0144]
电子设备还包括给各个部件供电的电源809(比如电池),优选的,电源可以通过电源管理系统与处理器808逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源809还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0145]
尽管未示出,电子设备还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,电子设备中的处理器808会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器802中,并由处理器808来运行存储在存储器802中的应用程序,从而实现各种功能,如下:
[0146]
通过契约管理平台的平台开放接口确定契约管理平台上的接口契约是否发生变更,契约管理平台用于管理至少一种微服务对外接口的接口契约;
[0147]
若是,调用契约管理平台的平台开放接口从契约管理平台获取发生变更的目标接口契约;
[0148]
从目标接口契约中解析出目标接口契约的接口定义信息;
[0149]
基于接口定义信息中各接口入参对应的接口入参类型,基于预设的接口测试逻辑进行类型组合,生成至少一组入参组合模型,入参组合模型指明了各入参位置上的接口入参类型;
[0150]
基于接口定义信息中各接口入参对应的接口入参属性信息,对各入参组合模型中的各入参位置进行赋参,得到目标接口契约对应的至少一组接口测试入参组合;
[0151]
根据接口定义信息中的接口属性信息和接口测试入参组合,生成目标接口契约的接口测试用例。
[0152]
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
[0153]
为此,本发明实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种接口测试用例生成方法中的
步骤。例如,该指令可以执行如下步骤:
[0154]
通过契约管理平台的平台开放接口确定契约管理平台上的接口契约是否发生变更,契约管理平台用于管理至少一种微服务对外接口的接口契约;
[0155]
若是,调用契约管理平台的平台开放接口从契约管理平台获取发生变更的目标接口契约;
[0156]
从目标接口契约中解析出目标接口契约的接口定义信息;
[0157]
基于接口定义信息中各接口入参对应的接口入参类型,基于预设的接口测试逻辑进行类型组合,生成至少一组入参组合模型,入参组合模型指明了各入参位置上的接口入参类型;
[0158]
基于接口定义信息中各接口入参对应的接口入参属性信息,对各入参组合模型中的各入参位置进行赋参,得到目标接口契约对应的至少一组接口测试入参组合;
[0159]
根据接口定义信息中的接口属性信息和接口测试入参组合,生成目标接口契约的接口测试用例。
[0160]
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
[0161]
其中,该计算机可读存储介质可以包括:只读存储器(rom,read onlymemory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。
[0162]
由于该计算机可读存储介质中所存储的指令,可以执行本发明实施例所提供的任一种接口测试用例生成方法中的步骤,因此,可以实现本发明实施例所提供的任一种接口测试用例生成方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
[0163]
根据本技术的一个方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述实施例中的各种可选实现方式中提供的方法。
[0164]
以上对本发明实施例所提供的一种接口测试用例生成方法、装置、电子设备和存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1