一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

测试环境搭建利用方法、装置、设备和存储介质与流程

2022-02-20 04:38:35 来源:中国专利 TAG:


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.图1是根据本技术实施例的一种测试环境搭建利用方法的流程图;
37.图2是根据本技术实施例的另一种测试环境搭建利用方法的流程图;
38.图3是根据本技术实施例的一种测试环境搭建利用装置的结构示意图;
39.图4是根据本技术实施例的一种测试环境搭建利用设备的结构示意图。
具体实施方式
40.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
41.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
42.并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本发明中的具体含义。
43.此外,术语“安装”、“设置”、“设有”、“连接”、“相连”、“套接”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个装置、元件或组成部分之间内部的连通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
44.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
45.公司的软件开发、测试人员越来越多,他们会被分成若干个小组,在同时进行着不同业务功能的开发。新开发的软件功能、软件特性需要在测试环境进行独立测试、验证。如果业务功能比较复杂,测试周期会比较长,在测试工作结束前,需要一直占有某个测试环境。
46.在搭建测试环境时,会把公司的所有微服务都部署进去,再提供指定的环境域名(例如:www.test2.tezign.com)供测试客户端进行访问。当工作中需要更多测试环境时,会重新进行搭建、验证、提供环境访问域名。每套测试环境之间是对等的、独立的,占用的系统资源也基本相同,由于系统资源是有限的,所以一般的软件开发公司维护着的测试环境数量是固定的,一般为3个,不会设置太多的测试环境。测试环境的个数是有限的,而研发任务
是无限的,随着公司的软件功能日益增加,测试工作也越来越多,所以测试环境有限与测试工作增加的矛盾越来越突出。
47.基于此,本技术提出了一种测试环境搭建利用方法,参见附图1所示的一种测试环境搭建利用方法的流程图;该方法包括:
48.步骤s102,网关接收测试客户端发送的测试服务获取请求,所述请求中携带测试环境标识。
49.其中,所述测试环境包括:第一测试环境和第二测试环境;所述第一测试环境包括对软件进行新增功能之前的所有功能进行测试的服务;所述第二测试环境包括对软件的新增功能进行测试的服务。
50.具体的,可以借助测试客户端的浏览器插件对请求消息中增加字段,字段中携带了测试环境标识。测试环境标识可以灵活设定,比如,0标识第一测试环境, 1标识第二测试环境。
51.优选的,测试环境标识可以和服务版本号相同。服务版本号可以在原服务版本号的基础上加一得到。
52.示例性的,软件有多种功能,随着软件开发的日益完善,软件的功能会越来越多,比如,对于某个发展到特定阶段的软件来讲,登录是基础功能,下载是新增的功能。软件测试时,如果对登录进行测试,则采用登录功能对应的服务来进行测试。如果对下载功能进行测试,则采用下载功能对应的服务来进行测试。
53.其中,测试客户端为测试人员使用的客户端,用来进行测试,测试之前测试客户端需要登录到测试服务器中,从测试环境中获取测试服务,然后使用测试服务对软件进行测试。
54.参见表1;
[0055][0056]
表1
[0057]
如上述表1所示,第一测试环境命名为base,包含公司的所有测试服务,并且所有测试服务的版本被标记为v_1。
[0058]
其中,第一测试环境中存储的服务列表和版本信息如下:
[0059]
service_user(v_1);
[0060]
service_user_web(v_1);
[0061]
service_product(v_1);
[0062]
service_order(v_1)。
[0063]
第二测试环境的标识为v2。第二测试环境中存储的测试服务列表和版本信息如下:
[0064]
service_user(v_2);
[0065]
service_user_web(v_2);
[0066]
上述的v_1、v_2分别为版本号。
[0067]
步骤s104,网关根据所述测试环境标识,从所述第二测试环境中获取新增功能测试服务。
[0068]
步骤s106,网关调用所述新增功能测试服务进行测试后,向所述客户端发送测试结果。
[0069]
本发明的上述的方法,对于软件的新增功能,把新增功能测试服务设置在一个新建的测试环境中,访问新建的第二测试环境,而不需要访问第一测试环境,避免了多个测试小组进行测试时,访问同一个测试环境访问冲突。
[0070]
在一种实施方式中,可以根据测试小组的数量来建立新建的测试环境的数量。
[0071]
示例性的,如果测试小组有5个,则建立5个新建的第二测试环境。每一个第二测试环境对应一个测试小组。如此,可以有效避免访问同一个测试环境造成的冲突问题。每个第二测试环境中的测试服务可以相同,也可以不同。
[0072]
在一种实施方式中,所述请求中还携带了测试服务的服务名称和版本号。从所述第二测试环境中获取新增功能测试服务时,根据所述服务名称和所述版本号从所述第二测试环境中存储的新增功能测试服务的集合中查找所述测试服务。
[0073]
示例性的,测试客户端发送的请求消息中,还设置有特定字段,特定字段中还携带了测试服务的服务名称service_user和版本号(v_2)。网关接收到该请求消息后,根据服务名称service_user和版本号(v_2);从第二测试环境v_2 中查找服务service_user。找到之后,将服务service_user发送给测试客户端,以使得测试客户端进行测试。
[0074]
如果在所述第二测试环境中查询不到所述测试服务,则从第一测试环境中查询所述测试服务。
[0075]
示例性的,在第二测试环境中找不到新增功能测试服务service_user(v_2),则从第一测试环境中查找。查找的优先级为,第二测试环境,如果多个第二测试环境中都没有,则最后从第一测试环境中查找。
[0076]
在一种实施方式中,建立第二测试环境时,采取以下的步骤:
[0077]
确定软件新增的功能;
[0078]
根据所述软件新增的功能确定对应的测试服务;
[0079]
根据所述测试服务的集合建立所述第二测试环境。
[0080]
具体的,可以周期性的查询软件是否有新增的功能,周期可以灵活进行设定,比如设定为24小时,或者12小时等。当确定软件有新增的功能时,则根据所述新增功能的名称,软件的功能和对应的测试服务的对应关系确定该新增的功能对应的测试服务。
[0081]
示例性的,如果软件新增的功能为“下载”,技术人员在评估功能需求后,确认对应的服务名称,确定“下载”对应的测试服务;将“下载”对应的测试服务添加到第二测试环境中。如此,第二测试环境中可以包括了多个新增功能测试服务。并且随着时间的增加,数量
会越来越多。
[0082]
具体的,下面详细描述如何在用户的客户端上动态创建新的测试环境。
[0083]
测试人员接到测试任务后,通过客户端的界面录入测试任务名称、测试任务涉及到的服务。
[0084]
自动分配测试环境名称、服务版本号并部署对应版本的服务实例到测试环境。其中,环境名称和服务版本号一般相同,例如v_2,测试环境中的服务版本号都是v_2。新版本号可以在已有的版本号基础上加1的方式生成。
[0085]
示例性的,测试人员接到“支持用户微信扫码登录系统”的测试任务,经分析得知本测试任务涉及到service_user、service_user_web两个服务,在系统中录入相关信息,可以自动生成测试环境v_2。测试任务录入界面、动态创建新环境后,整体测试环境信息如上述表1所示。
[0086]
测试人员使用新增功能测试服务建立生成测试环境参见表2;
[0087][0088]
表2
[0089]
本技术上述的实施例中,把软件更新的功能的测试服务复制一份,组成一个小的、新的测试环境,其他不需要更新的测试服务、功能复用基础测试环境。在测试使用结束后进行快速回收,投入的资源将大幅减少。新环境的启用不再依赖域名(例如:www.test2.tezign.com),减少新环境的配置、调试时间。
[0090]
第二方面,本技术还提出了另一种测试环境搭建利用方法,应用于测试客户端,该方法包括以下的步骤:
[0091]
测试客户端向网关发送请求,所述请求携带了测试环境标识,以使所述网关根据所述测试环境标识从第二测试环境中获取新增功能测试服务;
[0092]
测试客户端接收所述网关发送的所述新增功能测试服务;
[0093]
测试客户端使用所述新增功能测试服务对软件进行新增功能测试;
[0094]
其中,所述测试环境包括:第一测试环境和第二测试环境;所述第一测试环境中包括对软件进行新增功能之前的所有功能进行测试的服务;所述第二测试环境包括对软件的新增功能进行测试的服务。
[0095]
在一种实施方式中,所述请求中还携带了测试服务的服务名称和版本号;
[0096]
以使网关根据所述服务名称和所述版本号从所述第二测试环境中存储的新增功能测试服务的集合中查找所述测试服务。
[0097]
下面介绍一下本技术一种测试环境搭建利用方法的总的流程图;参见附图2 所示的另一种测试环境搭建利用方法的流程图;该方法包括以下的步骤:
[0098]
第一步,初始化第一测试环境,第一测试环境命名为base,包含公司的所有测试服务,并且所有测试服务的版本被标记为v_1,初始化后的base环境信息如下:每天晚上由定时任务获取最新稳定版本的代码,更新第一测试环境内的服务。
[0099]
第二步,动态创建新测试环境,在接到测试任务后,通过界面录入任务名称、任务
涉及到的服务,系统会自动分配环境名称、服务版本号并部署对应版本的服务实例到测试环境,环境名称和服务版本号一般相同,例如v_2测试环境中的服务版本号都是v_2。新版本号可以在已有的版本号基础上加1的方式生成。
[0100]
例如,接到“支持用户微信扫码登录系统”的测试任务,经分析得知本测试任务涉及到service_user、service_user_web 2个服务,在系统中录入相关信息,可以自动生成测试环境v_2。测试任务录入界面、动态创建新环境后,整体测试环境信息参见上述的表1。
[0101]
第三步,使用新测试环境,借助浏览器插件对每个请求增加header参数。
[0102]
例如env=v_2,该参数在后续的调用链路中一直保持着。
[0103]
当请求到达网关后,网关通过header参数确认测试环境信息。
[0104]
具体的,网关读取header参数,获取要使用的测试环境名称,环境为v_2。此时网关会优先在测试环境v_2中查询要调用的服务,如果能查询到,则直接调用,如果查询不到,则使用第一测试环境中服务。
[0105]
相同测试环境的服务,非第一测试环境,优先调用本环境的服务,如果查询不到,则调用第一测试环境的服务。
[0106]
第一测试环境的服务间调用,先解析请求中的header环境参数,优先调用指定环境的服务,如果查询不到,调用第一测试环境的服务。
[0107]
第四步,回收测试环境,在需求测试、验证工作完成后,测试环境会进行回收,释放占用的资源。
[0108]
释放v_2测试环境的过程和操作界面如下:
[0109]
使用环境名v_2称查询创建时的信息,获取服务名称和版本号。
[0110]
使用服务名称和版本号删除对应的服务实例
[0111]
在系统中标记v_2已经被删除。
[0112]
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0113]
第三方面,本技术还提出了一种测试环境搭建利用装置,参见附图3所示的一种测试环境搭建利用装置的结构示意图;该装置包括:
[0114]
接收模块31,用于接收测试客户端发送的测试服务获取请求,所述请求中携带测试环境标识;其中,所述测试环境包括:第一测试环境和第二测试环境;所述第一测试环境包括对软件进行新增功能之前的所有功能进行测试的服务;所述第二测试环境包括对软件的新增功能进行测试的服务;
[0115]
获取服务模块32,用于根据所述测试环境标识,从所述第二测试环境中获取新增功能测试服务;
[0116]
发送模块33,用于调用所述新增功能测试服务进行测试后,向所述客户端发送测试结果。
[0117]
在一种实施方式中,所述请求中还携带了测试服务的服务名称和版本号;
[0118]
所述获取服务模块32还用于,根据所述服务名称和所述版本号从所述第二测试环境中存储的新增功能测试服务的集合中查找所述测试服务。
[0119]
所述获取服务模块32还用于,如果在所述第二测试环境中查询不到所述测试服
务,则从第一测试环境中查询所述测试服务。
[0120]
还包括释放模块34,用于软件测试结束后,释放所述第二测试环境。
[0121]
释放模块34还用于,根据第二测试环境的标识确定所述第二测试环境中存储的服务名称和版本号;
[0122]
根据所述服务名称和所述版本号确定第二测试环境中存储的新增功能测试服务;
[0123]
删除所述新增功能测试服务。
[0124]
还包括测试环境建立模块35,用于第二测试环境的建立,具体包括:
[0125]
确定软件新增的功能;
[0126]
根据所述软件新增的功能确定对应的测试服务;
[0127]
根据所述测试服务的集合建立所述第二测试环境。
[0128]
根据本技术的第四方面,提供了一种测试环境搭建利用设备,参见附图4所示的一种测试环境搭建利用设备的结构示意图;包括至少一个处理器41和至少一个存储器42;所述存储器42用于存储一个或多个程序指令;所述处理器41,用于运行一个或多个程序指令,用以执行上述任意一项的方法。
[0129]
第五方面,本技术还提出了一种计算机可读存储介质,计算机可读存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于执行上述任一项所述的方法。
[0130]
可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。处理器读取存储介质中的信息,结合其硬件完成上述方法的步骤。
[0131]
存储介质可以是存储器,例如可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。
[0132]
其中,非易失性存储器可以是只读存储器(read-only memory,简称rom)、可编程只读存储器(programmable rom,简称prom)、可擦除可编程只读存储器(erasable prom,简称eprom)、电可擦除可编程只读存储器(electricallyeprom,简称eeprom)或闪存。
[0133]
易失性存储器可以是随机存取存储器(random access memory,简称ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,简称sram)、动态随机存取存储器(dynamicram,简称dram)、同步动态随机存取存储器(synchronous dram,简称 sdram)、双倍数据速率同步动态随机存取存储器(double data ratesdram,简称ddrsdram)、增强型同步动态随机存取存储器(enhanced sdram,简称 esdram)、同步连接动态随机存取存储器(synchlink dram,简称sldram) 和直接内存总线随机存取存储器(directrambus ram,简称drram)。
[0134]
本发明实施例描述的存储介质旨在包括但不限于这些和任意其它适合类型的存储器。
[0135]
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件与软件组合来实现。当应用软件时,可以将相应功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计
算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0136]
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0137]
以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献