CN111464380A - 多个业务项目的并行测试方法、装置及系统 - Google Patents
多个业务项目的并行测试方法、装置及系统 Download PDFInfo
- Publication number
- CN111464380A CN111464380A CN202010195990.4A CN202010195990A CN111464380A CN 111464380 A CN111464380 A CN 111464380A CN 202010195990 A CN202010195990 A CN 202010195990A CN 111464380 A CN111464380 A CN 111464380A
- Authority
- CN
- China
- Prior art keywords
- function module
- environment
- target function
- project
- lane
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例公开了一种多个业务项目的并行测试方法、装置及系统,涉及电子信息领域,包括:分别针对各个待测试的业务项目,将该业务项目中包含的各个目标功能模块部署到预先创建的与该业务项目相对应的项目泳道环境中;各个项目泳道环境中部署的目标功能模块根据获取到的该目标功能模块所处的项目泳道环境的环境标识,向网关设备发送包含所述环境标识的网络测试请求,以供所述网关设备根据接收到的网络测试请求中包含的环境标识进行消息路由。该方式能够在同一套测试系统内实现多个相互并行的项目泳道环境,从而大幅提升了测试效率。
Description
技术领域
本发明实施例涉及项目测试领域,具体涉及一种多个业务项目的并行测试方法、装置及系统。
背景技术
随着业务的快速发展,经常需要对多个业务项目进行并行测试。例如,在敏捷研发测试持续交付过程中,多项目多服务相互并行开发测试的场景屡见不鲜,而线下研发测试环境相对比较固定,不能同时满足多个项目或多个服务的并行开发测试,同时不同服务之间可能又存在依赖关系,一旦部分服务不稳定,则影响其它依赖服务的正常研发进度,从而影响整体的研发测试效率。
因此,在现有技术中,为了实现多项目并行测试的目的,且为了避免因多个服务之间的依赖关系而导致的测试问题,通常需要分别搭建多套研发测试环境,各个研发测试环境与各个项目一一对应,由此实现项目的并行开发测试。例如,假设有多个项目A、B、C、D并行开发测试,则需要分别为每个项目搭建一套独立的研发测试环境,从而保证A、B、C、D几个项目的并行开发测试互相不受影响。
但是,发明人在实现本发明的过程中发现,现有技术中的上述方式至少存在如下缺陷:由于各套研发测试环境彼此之间相互独立,因此,每一套研发测试环境单独作为一套独立的测试系统,由此导致多个测试系统的搭建过程耗时耗力。由此可见,现有技术中无法通过同一套测试系统完成多个业务项目的并行测试。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种多个业务项目的并行测试方法、装置及系统。
根据本发明实施例的一个方面,提供了一种多个业务项目的并行测试方法,包括:
分别针对各个待测试的业务项目,将该业务项目中包含的各个目标功能模块部署到预先创建的与该业务项目相对应的项目泳道环境中;
各个项目泳道环境中部署的目标功能模块根据获取到的该目标功能模块所处的项目泳道环境的环境标识,向网关设备发送包含所述环境标识的网络测试请求,以供所述网关设备根据接收到的网络测试请求中包含的环境标识进行消息路由。
可选地,所述将该业务项目中包含的各个目标功能模块部署到预先创建的与该业务项目相对应的项目泳道环境中包括:
获取该业务项目中包含的各个业务功能模块;
将模块版本发生更新的业务功能模块确定为所述业务项目中包含的各个目标功能模块;
将各个目标功能模块动态部署到预先创建的与该业务项目相对应的项目泳道环境中。
可选地,所述方法执行之前,进一步包括:预先向各个待测试的业务项目包含的各个目标功能模块中添加预设开发工具包;
则所述各个项目泳道环境中部署的目标功能模块根据获取到的该目标功能模块所处的项目泳道环境的环境标识,向网关设备发送包含所述环境标识的网络测试请求包括:
通过预先添加到该目标功能模块中的预设开发工具包读取该目标功能模块所处的项目泳道环境的环境标识,将读取到的环境标识添加到已生成的网络测试请求的消息头中。
可选地,所述网络测试请求由位于第一项目泳道环境中的第一目标功能模块发送,且所述网络测试请求用于调用与所述第一目标功能模块存在依赖关系的第二目标功能模块,则所述网络测试请求中进一步包含用于确定所述第二目标功能模块的依赖模块标识。
可选地,所述网关设备根据接收到的网络测试请求中包含的环境标识进行消息路由包括:
确定与所述网络测试请求中包含的环境标识相对应的第一项目泳道环境,根据所述第一项目泳道环境中部署的各个目标功能模块确定所述与所述第一目标功能模块存在依赖关系的第二目标功能模块。
可选地,所述将该业务项目中包含的各个目标功能模块部署到预先创建的与该业务项目相对应的项目泳道环境中进一步包括:确定该业务项目中包含的通用功能模块,将所述通用功能模块部署到预先创建的通用泳道环境中;
则所述根据所述目标泳道环境中部署的各个目标功能模块确定所述与所述第一目标功能模块存在依赖关系的第二目标功能模块包括:
判断所述第一项目泳道环境中是否部署有与所述依赖模块标识相匹配的目标功能模块;
若是,将所述与所述依赖模块标识相匹配的目标功能模块确定为所述第二目标功能模块;
若否,从所述通用泳道环境中部署的通用功能模块中选择与所述依赖模块标识相匹配的通用功能模块作为所述第二目标功能模块。
可选地,所述确定该业务项目中包含的通用功能模块包括:
将该业务项目中包含的模块版本未发生更新的业务功能模块确定为通用功能模块。
可选地,所述各个项目泳道环境中部署的目标功能模块根据获取到的该目标功能模块所处的项目泳道环境的环境标识,向网关设备发送包含所述环境标识的网络测试请求包括:
当各个项目泳道环境中部署的目标功能模块接收到客户端通过所述网关设备发送的测试调用指令时,获取该目标功能模块所处的项目泳道环境的环境标识,向网关设备发送包含该环境标识的网络测试请求;
其中,所述测试调用指令中包含项目标识以及功能模块参数,以供所述网关设备根据所述项目标识以及功能模块参数将所述测试调用指令路由至对应的项目泳道环境中的目标功能模块。
可选地,当业务项目中包含的各个目标功能模块测试完毕后,所述方法进一步包括:
销毁与该业务项目相对应的项目泳道环境以及该项目泳道环境中包含的各个目标功能模块。
可选地,所述方法执行之前,进一步包括:
分别针对各个待测试的业务项目,创建与该业务项目相对应的项目泳道环境,生成并存储所述项目泳道环境的环境标识。
根据本发明实施例的又一个方面,一种多个业务项目的测试方法,包括:
接收各个项目泳道环境中部署的目标功能模块发送的网络测试请求;
解析并获取所述网络测试请求中包含的用于指示该目标功能模块所处的项目泳道环境的环境标识;
根据所述环境标识对所述网络测试请求进行消息路由。
可选地,所述网络测试请求由位于第一项目泳道环境中的第一目标功能模块发送,且所述网络测试请求用于调用与所述第一目标功能模块存在依赖关系的第二目标功能模块;
则所述根据所述环境标识对所述网络测试请求进行消息路由包括:
确定与所述网络测试请求中包含的环境标识相对应的第一项目泳道环境,根据所述第一项目泳道环境中部署的各个目标功能模块确定所述与所述第一目标功能模块存在依赖关系的第二目标功能模块。
可选地,所述根据所述第一项目泳道环境中部署的各个目标功能模块确定所述与所述第一目标功能模块存在依赖关系的第二目标功能模块包括:
判断所述第一项目泳道环境中是否部署有与所述依赖模块标识相匹配的目标功能模块;
若是,将所述与所述依赖模块标识相匹配的目标功能模块确定为所述第二目标功能模块;
若否,从预设的通用泳道环境中部署的通用功能模块中选择与所述依赖模块标识相匹配的通用功能模块作为所述第二目标功能模块。
可选地,所述方法执行之前,进一步包括:
接收客户端发送的测试调用指令,根据所述测试调用指令中包含的项目标识以及功能模块参数,将所述测试调用指令路由至对应的项目泳道环境中的目标功能模块,以供所述目标功能模块根据所述测试调用指令生成网络测试请求。
根据本发明实施例的又一个方面,一种多个业务项目的并行测试装置,包括:
部署模块,适于分别针对各个待测试的业务项目,将该业务项目中包含的各个目标功能模块部署到预先创建的与该业务项目相对应的项目泳道环境中;
请求模块,适于使各个项目泳道环境中部署的目标功能模块根据获取到的该目标功能模块所处的项目泳道环境的环境标识,向网关设备发送包含所述环境标识的网络测试请求,以供所述网关设备根据接收到的网络测试请求中包含的环境标识进行消息路由。
可选地,所述部署模块具体适于:
获取该业务项目中包含的各个业务功能模块;
将模块版本发生更新的业务功能模块确定为所述业务项目中包含的各个目标功能模块;
将各个目标功能模块动态部署到预先创建的与该业务项目相对应的项目泳道环境中。
可选地,所述请求模块进一步适于:预先向各个待测试的业务项目包含的各个目标功能模块中添加预设开发工具包;
则所述各个项目泳道环境中部署的目标功能模块通过预先添加到该目标功能模块中的预设开发工具包读取该目标功能模块所处的项目泳道环境的环境标识,将读取到的环境标识添加到已生成的网络测试请求的消息头中。
可选地,所述网络测试请求由位于第一项目泳道环境中的第一目标功能模块发送,且所述网络测试请求用于调用与所述第一目标功能模块存在依赖关系的第二目标功能模块,则所述网络测试请求中进一步包含用于确定所述第二目标功能模块的依赖模块标识。
可选地,所述网关设备具体适于:
确定与所述网络测试请求中包含的环境标识相对应的第一项目泳道环境,根据所述第一项目泳道环境中部署的各个目标功能模块确定所述与所述第一目标功能模块存在依赖关系的第二目标功能模块。
可选地,所述部署模块进一步适于:确定该业务项目中包含的通用功能模块,将所述通用功能模块部署到预先创建的通用泳道环境中;
则所述网关设备具体适于:
判断所述第一项目泳道环境中是否部署有与所述依赖模块标识相匹配的目标功能模块;
若是,将所述与所述依赖模块标识相匹配的目标功能模块确定为所述第二目标功能模块;
若否,从所述通用泳道环境中部署的通用功能模块中选择与所述依赖模块标识相匹配的通用功能模块作为所述第二目标功能模块。
可选地,所述部署模块具体适于:
将该业务项目中包含的模块版本未发生更新的业务功能模块确定为通用功能模块。
可选地,当各个项目泳道环境中部署的目标功能模块接收到客户端通过所述网关设备发送的测试调用指令时,获取该目标功能模块所处的项目泳道环境的环境标识,向网关设备发送包含该环境标识的网络测试请求;
其中,所述测试调用指令中包含项目标识以及功能模块参数,以供所述网关设备根据所述项目标识以及功能模块参数将所述测试调用指令路由至对应的项目泳道环境中的目标功能模块。
可选地,所述装置进一步包括:
销毁模块,适于销毁与该业务项目相对应的项目泳道环境以及该项目泳道环境中包含的各个目标功能模块。
可选地,所述部署模块进一步适于:
分别针对各个待测试的业务项目,创建与该业务项目相对应的项目泳道环境,生成并存储所述项目泳道环境的环境标识。
根据本发明实施例的又一个方面,提供了一种网关设备,包括:
接收模块,适于接收各个项目泳道环境中部署的目标功能模块发送的网络测试请求;
解析模块,适于解析并获取所述网络测试请求中包含的用于指示该目标功能模块所处的项目泳道环境的环境标识;
路由模块,适于根据所述环境标识对所述网络测试请求进行消息路由。
可选地,所述网络测试请求由位于第一项目泳道环境中的第一目标功能模块发送,且所述网络测试请求用于调用与所述第一目标功能模块存在依赖关系的第二目标功能模块;
则所述路由模块具体适于:
确定与所述网络测试请求中包含的环境标识相对应的第一项目泳道环境,根据所述第一项目泳道环境中部署的各个目标功能模块确定所述与所述第一目标功能模块存在依赖关系的第二目标功能模块。
可选地,所述路由模块具体适于:
判断所述第一项目泳道环境中是否部署有与所述依赖模块标识相匹配的目标功能模块;
若是,将所述与所述依赖模块标识相匹配的目标功能模块确定为所述第二目标功能模块;
若否,从预设的通用泳道环境中部署的通用功能模块中选择与所述依赖模块标识相匹配的通用功能模块作为所述第二目标功能模块。
可选地,所述接收模块进一步适于:
接收客户端发送的测试调用指令,根据所述测试调用指令中包含的项目标识以及功能模块参数,将所述测试调用指令路由至对应的项目泳道环境中的目标功能模块,以供所述目标功能模块根据所述测试调用指令生成网络测试请求。
根据本发明实施例的又一个方面,提供了一种多个业务项目的并行测试系统,包括:上述的多个业务项目的并行测试装置以及上述的网关设备。
依据本发明实施例的再一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如上述的多个业务项目的并行测试方法对应的操作。
依据本发明实施例的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述的多个业务项目的并行测试方法对应的操作。
在本发明实施例提供的多个业务项目的并行测试方法、装置及系统中,能够分别针对各个待测试的业务项目创建对应的项目泳道环境,并将该业务项目中包含的各个目标功能模块部署到对应的项目泳道环境中,从而使各个业务项目通过不同的项目泳道环境分别进行测试。其中,各个项目泳道环境中部署的目标功能模块能够根据该目标功能模块所处的项目泳道环境的环境标识向网关设备发送包含该环境标识的网络测试请求,以供网关设备根据接收到的网络测试请求中包含的环境标识进行消息路由。由此可见,在本实施例中,一方面,通过分别与多个业务项目相对应的项目泳道环境实现了多项目并行测试的目的;另一方面,为了避免各个项目相互干扰,使每个项目包含的目标功能模块发送的网络测试请求中包含环境标识,以便根据环境标识分发来自各个项目泳道环境的网络测试请求,从而确保多个业务项目互不干扰的并行测试。该方式能够在同一套测试系统内实现多个相互并行的项目泳道环境,从而大幅提升了测试效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例一提供的一种多个业务项目的并行测试方法的流程图;
图2示出了本发明实施例二提供的一种多个业务项目的并行测试方法的流程图;
图3示出了本发明实施例三提供的一种多个业务项目的并行测试系统的结构图;
图4示出了本发明实施例五提供的一种电子设备的结构示意图;
图5示出了本发明又一实施例提供的一种多个业务项目的并行测试方法的流程图;
图6示出了网关设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
图1示出了本发明实施例一提供的一种多个业务项目的并行测试方法的流程图。如图1所示,该方法包括:
步骤S110:分别针对各个待测试的业务项目,将该业务项目中包含的各个目标功能模块部署到预先创建的与该业务项目相对应的项目泳道环境中。
具体地,预先针对各个待测试的业务项目生成与该业务项目相对应的项目泳道环境,该项目泳道环境用于实现一套独立的测试环境。处于初始状态的项目泳道环境为空环境,为了实现测试功能,需要进一步将对应的业务项目中包含的各个目标功能模块部署到该项目泳道环境中。其中,每个目标功能模块用于实现指定的业务功能,如用于实现下单功能的目标功能模块、用于实现库存功能的目标功能模块等。通过将业务项目中包含的各个目标功能模块部署到对应的项目泳道环境中,即可实现项目测试的环境搭建工作。
步骤S120:各个项目泳道环境中部署的目标功能模块根据获取到的该目标功能模块所处的项目泳道环境的环境标识,向网关设备发送包含所述环境标识的网络测试请求,以供所述网关设备根据接收到的网络测试请求中包含的环境标识进行消息路由。
具体地,在测试过程中,当任一项目泳道环境中部署的任一目标功能模块需要发送网络测试请求时,该目标功能模块获取自身所处的项目泳道环境的环境标识,并生成包含该环境标识的网络测试请求,以便于网关设备根据网络测试请求中包含的环境标识进行消息路由。也就是说,在本实施例中,每个目标功能模块生成并发送各类网络测试请求时,都会携带该目标功能模块所处的项目泳道环境的环境标识,相应的,网关设备根据接收到的各个网络测试请求中包含的环境标识进行消息路由,由此实现多个项目泳道环境内的多个业务项目并行测试且互不干扰的目的。
其中,目标功能模块生成并发送的网络测试请求泛指与测试过程相关的各类请求消息或响应消息,具体可以由目标功能模块主动发送,也可以由目标功能模块响应于客户端等设备的调用指令而发送,本发明对此不做限定。总之,目标功能模块在发送任何与测试过程相关的网络请求时,都需要添加环境标识。
由此可见,在本实施例中,一方面,通过分别与多个业务项目相对应的项目泳道环境实现了多项目并行测试的目的;另一方面,为了避免各个项目相互干扰,使每个项目包含的目标功能模块发送的网络测试请求中包含环境标识,以便根据环境标识分发来自各个项目泳道环境的网络测试请求,从而确保多个业务项目互不干扰的并行测试。该方式能够在同一套测试系统内实现多个相互并行的项目泳道环境,从而大幅提升了测试效率。
实施例二、
图2示出了本发明实施例二提供的一种多个业务项目的并行测试方法的流程图,如图2所示,该方法包括:
步骤S200:分别针对各个待测试的业务项目,创建与该业务项目相对应的项目泳道环境,生成并存储该项目泳道标识的环境标识。
具体地,在本实施例中,需要针对每个待测试的业务项目创建对应的项目泳道环境。由此可见,项目泳道环境的数量与业务项目的数量相等。其中,项目泳道环境是指:通过泳道管理系统创建的单独的项目测试环境,该泳道管理系统用于实现针对多个研发测试环境的统一管理,其整体架构类似泳道,故命名为泳道管理系统。一个项目泳道环境用于实现一个业务项目测试过程中所需的全套测试环境。另外,项目泳道环境也可以称作项目测试区域等。
具体实施时,针对当前业务项目,创建与当前业务项目相对应的项目泳道环境后,生成该项目泳道环境的环境标识,该环境标识用于唯一标识一个项目泳道环境,具体可以为数字序号、英文缩写等各类信息。另外,在创建项目泳道环境之后,还可以针对该项目泳道环境设置泳道名称(例如根据对应的业务项目的名称进行命名)、备注信息、泳道状态(如启用或未启用等)等具体内容。
步骤S210:分别针对各个待测试的业务项目,将该业务项目中包含的各个目标功能模块部署到预先创建的与该业务项目相对应的项目泳道环境中。
具体地,处于初始状态的项目泳道环境为空环境,为了实现测试功能,需要进一步将对应的业务项目中包含的各个目标功能模块部署到该项目泳道环境中。
具体实施时,针对每个业务项目,通过以下方式进行部署:
首先,获取该业务项目中包含的各个业务功能模块。具体地,从代码仓库中获取该业务项目的项目代码,根据项目代码确定该业务项目中包含的各个业务功能模块。其中,一个业务功能模块通常对应于至少一种业务功能,如下单功能模块、库存功能模块、会员功能模块等。
然后,将模块版本发生更新的业务功能模块确定为业务项目中包含的各个目标功能模块。其中,模块版本发生更新的业务功能模块通常是指项目代码发生变动的业务功能模块。例如,下单功能模块的初始版本为1.0,经迭代更新后,最新版本为2.0,相应的,将下单功能模块确定为目标功能模块。由此可见,目标功能模块是指:与上一次测试成功并发布上线的版本相比,版本发生更新的部分功能模块。
最后,将各个目标功能模块动态部署到预先创建的与该业务项目相对应的项目泳道环境中。具体地,可通过Kubernetes平台提供的K8S技术实现动态部署的效果。其中,Kubernetes是一个轻便的和可扩展的开源平台,用于管理容器化应用和服务。通过Kubernetes能够进行应用的自动化部署和扩缩容。在Kubernetes中,能够将组成应用的容器组合成一个逻辑单元以更易管理和发现。具体到本实施例中,将一个目标功能模块作为一个容器动态部署到对应的项目泳道环境中。同一个项目泳道环境内的目标功能模块的数量增减可通过容器化扩缩容方式动态实现。
另外,为了使部署到项目泳道环境中的各个目标功能模块能够自动识别自身所处的项目泳道环境的环境标识,预先向各个待测试的业务项目包含的各个目标功能模块中添加预设开发工具包,以便通过该开发工具包实现读取环境标识并将读取到的环境标识添加到网络测试请求的消息头(header)中的目的。具体地,预先获取各个待测试的业务项目包含的各个目标功能模块所对应的模块代码,向获取到的模块代码中添加上述的预设开发工具包。该预设开发工具包可以为SDK,也可以为JAVA包等各类形式,还可以为预设脚本,本发明对具体实现形式不作限定。相应的,由于各个目标功能模块中预先集成了上述的开发工具包,因此,当各个目标功能模块部署到项目泳道环境之后,能够通过该开发工具包自动识别当前所处的项目泳道环境。
步骤S220:确定各个业务项目中包含的通用功能模块,将通用功能模块部署到预先创建的通用泳道环境中。
本步骤为一个可选的步骤,在本发明的其他实施例中,也可以省略本步骤。
具体地,在将各个业务项目中包含的各个目标功能模块部署到预先创建的与该业务项目相对应的项目泳道环境的过程中,或者,在各个业务项目完成测试并成功发布上线之后,将各个业务项目中包含的通用功能模块部署到预先创建的通用泳道环境中,以使多个项目泳道环境中的目标功能模块能够共享通用泳道环境中的通用功能模块。
具体实施时,将该业务项目中包含的模块版本未发生更新的业务功能模块确定为通用功能模块。在一种可选的实现方式中,在将各个业务项目中包含的各个目标功能模块部署到预先创建的与该业务项目相对应的项目泳道环境的过程中,通过分析代码仓库中获取的该业务项目的项目代码,确定模块版本发生更新的业务功能模块(即代码发生变动的业务功能模块),将其确定为通用功能模块。在又一种可选的实现方式中,在各个业务项目完成测试并成功发布上线之后,将发布上线的业务项目中包含的各个处于稳定版本的业务功能模块确定为通用功能模块。
由此可见,在本实施例中,泳道管理系统中配置的泳道环境包括多个项目泳道环境以及至少一个通用泳道环境。其中,项目泳道环境的数量与待测试的业务项目的数量一致。
步骤S230:各个项目泳道环境中部署的目标功能模块根据获取到的该目标功能模块所处的项目泳道环境的环境标识,向网关设备发送包含环境标识的网络测试请求,以供网关设备根据接收到的网络测试请求中包含的环境标识进行消息路由。
具体地,当任一项目泳道环境中部署的任一目标功能模块需要发送与测试过程相关的各类网络测试请求时,都需要获取目标功能模块当前所处的项目泳道环境的环境标识,并在网络测试请求中添加该环境标识,以便于路由分发。
其中,目标功能模块发送的网络测试请求可包括多种:例如,在一种方式中,网络测试请求由目标功能模块主动发起;又如,在又一种方式中,网络测试请求通过其他客户端设备进行触发。在后一种方式中,当任一项目泳道环境中部署的任一目标功能模块接收到测试调用指令时,该目标功能模块获取自身所处的项目泳道环境的环境标识,并生成包含该环境标识的网络测试请求,以便于网关设备根据网络测试请求中包含的环境标识进行消息路由。
其中,目标功能模块接收到的测试调用指令泛指用于触发测试过程的各类请求,包括测试启动请求等,具体可以由客户端发送,也可以由其他目标功能模块发送,本发明对此不作限定。在本实施例的一种实现方式中,各个项目泳道环境中部署的目标功能模块接收客户端通过网关设备发送的测试调用指令。其中,该客户端可以为POS终端,也可以为其他各类网络终端,本发明对此不作限定。客户端主要用于触发测试指令,以实现针对指定的目标功能模块的测试过程。其中,测试调用指令泛指用于触发测试过程的各类请求,包括测试启动请求等,除由客户端发送外,也可以由其他目标功能模块发送,本发明对此不作限定。
其中,测试调用指令中包含项目标识以及功能模块参数,以供网关设备根据项目标识以及功能模块参数将测试调用指令路由至对应的项目泳道环境中的目标功能模块。具体地,项目标识用于指示业务项目及其对应的项目泳道环境,该项目标识可以与项目泳道环境的环境标识相同或者与项目泳道环境的环境标识之间存在映射关系,以便基于该映射关系确定对应的项目泳道环境。功能模块参数用于指示待调用的目标功能模块。
每当一目标功能模块接收到测试调用指令后,获取该目标功能模块所处的项目泳道环境的环境标识,向网关设备发送包含该环境标识的网络测试请求。具体地,通过预先添加到该目标功能模块中的预设开发工具包读取该目标功能模块所处的项目泳道环境的环境标识,将读取到的环境标识添加到已生成的网络测试请求的消息头中。其中,网络测试请求泛指各类与测试过程相关的消息,既可以是测试结果消息,也可以是二次调用消息。其中,测试结果消息是指:目标功能模块执行完测试功能后返回的测试结果,包括执行结果、执行时间、系统性能等各类信息。二次调用消息是指:目标功能模块在测试过程中进一步调用其他的目标功能模块,例如,下单类功能模块在执行过程中需要调用库存类功能模块等。其中,网络测试请求还可以是http/https调用请求消息。
在本实施例的一种实现方式中,网络测试请求由位于第一项目泳道环境中的第一目标功能模块发送,且网络测试请求用于调用与第一目标功能模块存在依赖关系的第二目标功能模块。其中,第一项目泳道环境可以是多个项目泳道环境中的任意一个项目泳道环境,且第一目标功能模块可以是第一项目泳道环境中的任意一个目标功能模块。另外,当被调用的第二目标功能模块进一步需要调用其他目标功能模块时,该第二目标功能模块成为另一次调用过程中的第一目标功能模块。也就是说,每当一个目标功能模块需要发送用于调用其他目标功能模块的网络测试请求时,该发送网络测试请求的目标功能模块即称为第一目标功能模块;每当一个目标功能模块被其他目标功能模块调用时,该被调用的目标功能模块即称为第二目标功能模块。
具体的,网络测试请求中进一步包含用于确定第二目标功能模块的依赖模块标识,该依赖模块标识可以通过参数等形式表示,用于指示待调用的第二目标功能模块。例如,假设泳道管理系统中共包含业务项目A、业务项目B以及业务项目C,相应的,具有项目泳道环境A、项目泳道环境B以及项目泳道环境C。当项目泳道环境A为第一项目泳道环境时,假设第一目标功能模块为业务项目A中的下单功能模块,由于该下单功能模块执行过程中需要调用库存功能模块和/或会员功能模块,因此,该网络测试请求中包含的依赖模块标识用于指示库存功能模块和/或会员功能模块。
相应的,网关设备根据接收到的网络测试请求中包含的环境标识进行消息路由时,通过以下方式实现:确定与该网络测试请求中包含的环境标识相对应的第一项目泳道环境,根据第一项目泳道环境中部署的各个目标功能模块确定与该第一目标功能模块存在依赖关系的第二目标功能模块。具体地,由于各个业务项目相互独立测试,因此,为了避免多个业务项目之间相互干扰,第一目标功能模块通常应调用与其位于同一项目泳道环境内的第二目标功能模块。
仍以上例为例,假设业务项目B以及业务项目C中同样包含库存功能模块和/或会员功能模块,但是,不同的业务项目中包含的目标功能模块即使名称相同,依然存在业务逻辑上的差别,因此,不同的业务项目中的各个目标功能模块至少需要通过模块标识以及环境标识两项信息进行标识。通常情况下,各个目标功能模块进一步包含版本标识,如1.0或2.0等,以标识当前版本信息,此时,目标功能模块通过模块标识、环境标识、以及版本标识进行标识。在本例中,第一项目泳道环境为项目泳道环境A,进而将项目泳道环境A中部署的库存功能模块和/或会员功能模块确定为与该第一目标功能模块存在依赖关系的第二目标功能模块。由此确保各个业务项目的测试过程互相独立。
另外,发明人在实现本发明的过程中发现,在部分业务场景中,与该第一目标功能模块存在依赖关系的第二目标功能模块可能与业务项目的本次测试过程无关,例如,第二目标功能模块可能是包含在上一版本的业务项目中的稳定模块,本次测试过程无需针对第二目标功能模块进行测试,相应的,在业务项目的项目泳道环境中并未部署该第二目标功能模块,此时,为了便于调用第二目标功能模块,在根据目标泳道环境中部署的各个目标功能模块确定与第一目标功能模块存在依赖关系的第二目标功能模块时,通过以下方式实现:判断第一项目泳道环境中是否部署有与该依赖模块标识相匹配的目标功能模块;若是,将与依赖模块标识相匹配的目标功能模块确定为第二目标功能模块;若否,从通用泳道环境中部署的通用功能模块中选择与依赖模块标识相匹配的通用功能模块作为第二目标功能模块。由于在步骤S220中预先部署了通用泳道环境,因此,当第一项目泳道环境中未部署与该依赖模块标识相匹配的目标功能模块时,能够从通用泳道环境中部署的通用功能模块中进行选择。例如,假设对于业务项目A而言,其至少具有下单功能模块、库存功能模块以及会员功能模块,其中,会员功能模块为已经测试成功并发布上线的稳定版本的功能模块,因此,当业务项目A再次更新时,仅更新了下单功能模块、以及库存功能模块的部分功能,相应的,项目泳道环境A中仅部署有本次需要测试的下单功能模块、以及库存功能模块,而会员功能模块因本次未发生更新而无需测试,从而未部署在项目泳道环境A中,此时,可以从通用泳道环境中获取已经经过测试的稳定版本的会员功能模块。其中,通用泳道环境中存储的各个经过测试的稳定版本的通用功能模块可通过后缀stable进行标识。
由此可见,通过上述方式,在每个项目泳道环境中仅需部署本次需要测试的、代码发生变动的功能模块即可,而其他无需测试的功能模块部署在通用泳道环境中,从而可在测试过程中进行调用,以支持业务项目的完整功能。该方式将通用功能模块统一部署到通用泳道环境中以便被多个业务项目共用,既降低了单个项目泳道环境中包含的容器数量(即目标功能模块数量),从而提升了部署速度以及测试效率,又能够在测试过程中便捷地调用各个通用功能模块。
总之,在本实施例中,每个服务(即功能模块)维护一个稳定版本,如trade-stable,稳定版本的功能模块存储在通用泳道环境中。同时,每个项目(迭代)涉及到代码变动的服务都部署一个相同tag的版本包,如BG1.0、HDL1.0等,不涉及代码变动的服务可不部署版本包,其中,涉及到代码变动的服务存储到对应的项目泳道环境中。
步骤S240:当业务项目中包含的各个目标功能模块测试完毕后,销毁与该业务项目相对应的项目泳道环境以及该项目泳道环境中包含的各个目标功能模块。
具体地,在泳道管理系统中除包含部署入口外,还进一步包含销毁入口,通过销毁入口能够针对指定的业务项目相对应的项目泳道环境执行销毁指令,以便销毁项目泳道环境以及该项目泳道环境中包含的各个目标功能模块。具体销毁时,可通过Kubernetes平台提供的K8S技术实现动态销毁的效果。另外,由于每个项目泳道环境中仅部署本次需要测试的、代码发生变动的功能模块,而其他无需测试的功能模块部署在通用泳道环境中,因此,能够确保各个项目泳道环境能够快速销毁。
另外,需要说明的是,在本实施例中,各个目标功能模块并非通过物理机实现,而是通过虚拟机实现,因此,通过虚拟机技术也能够确保各个项目泳道环境能够快速部署及销毁,并且,通过动态扩缩容方式实现针对各个目标功能模块的动态部署和销毁。
由此可见,在本实施例中,同一项目泳道环境内部的功能模块之间可以相互调用,因此,不同项目泳道环境之间的功能模块互不影响。另外,在本实施例中,进行灰度测试后,将各个功能模块的分支代码合并到主分支(master),从而根据各个业务项目的上线顺序进行合并,如果存在同时上线的多个项目,则一起合并以解决冲突。另外,将分支代码合并到主分支之后,进一步在灰度环境中进行测试,同时将对应项目泳道环境进行销毁回收。并且,当灰度环境测试完成后,进行上线,同时根据稳定版本更新通用泳道环境中的通用功能模块。
综上可知,在本实施例中,通过分别与多个业务项目相对应的项目泳道环境实现了多项目并行测试的目的;并且,为了避免各个项目相互干扰,使每个项目包含的目标功能模块发送的网络测试请求中包含环境标识,以便根据环境标识分发来自各个项目泳道环境的网络测试请求,从而确保多个业务项目互不干扰的并行测试。该方式能够在同一套测试系统内实现多个相互并行的项目泳道环境,从而大幅提升了测试效率。另外,本实施例能够解决在多项目并行开发持续交付的过程中,线下研发测试环境不足、环境不稳定、环境共用,各项目间研发测试互相影响,整体研发效率低下的问题,该方式基于K8S技术,既解决了研发测试环境不足,又保证了各并行项目研发测试环境之间互不影响,同时还做到了多项目研发测试环境随用随启、用完即毁,避免了资源的浪费。其中,通过K8S容器的动态伸缩技术,能够做到各个项目泳道环境随用随启、用完即毁。由此可见,本实施例至少具备如下优势:彻底解决了多项目并行开发过程中研发测试环境不足的问题;各并行项目研发测试环境之间互不影响;各泳道服务实时监控服务健康状态,做到问题及时发现解决;多项目研发测试环境随用随启、用完即毁,避免了资源的浪费;整体提升研发测试效率,保证产品服务的持续交付。
图5示出了本发明又一实施例提供的一种多个业务项目的并行测试方法的流程图,该方法的执行主体为网关设备。如图5所示,该方法包括:
步骤S510:接收各个项目泳道环境中部署的目标功能模块发送的网络测试请求。
步骤S520:解析并获取网络测试请求中包含的用于指示该目标功能模块所处的项目泳道环境的环境标识。
步骤S530:根据环境标识对网络测试请求进行消息路由。
可选地,网络测试请求由位于第一项目泳道环境中的第一目标功能模块发送,且网络测试请求用于调用与第一目标功能模块存在依赖关系的第二目标功能模块;则所述根据所述环境标识对所述网络测试请求进行消息路由包括:确定与所述网络测试请求中包含的环境标识相对应的第一项目泳道环境,根据所述第一项目泳道环境中部署的各个目标功能模块确定所述与所述第一目标功能模块存在依赖关系的第二目标功能模块。
可选地,所述根据所述第一项目泳道环境中部署的各个目标功能模块确定所述与所述第一目标功能模块存在依赖关系的第二目标功能模块包括:判断所述第一项目泳道环境中是否部署有与所述依赖模块标识相匹配的目标功能模块;若是,将所述与所述依赖模块标识相匹配的目标功能模块确定为所述第二目标功能模块;若否,从预设的通用泳道环境中部署的通用功能模块中选择与所述依赖模块标识相匹配的通用功能模块作为所述第二目标功能模块。
可选地,所述方法执行之前,进一步包括:接收客户端发送的测试调用指令,根据所述测试调用指令中包含的项目标识以及功能模块参数,将所述测试调用指令路由至对应的项目泳道环境中的目标功能模块,以供目标功能模块根据测试调用指令生成网络测试请求。
其中,本实施例的执行主体为网关设备,各个步骤的具体实现细节可参照实施例二中相应部分的描述,此处不再赘述。
实施例三
图3示出了本发明实施例三提供的一种多个业务项目的并行测试装置的结构示意图,该装置包括:
部署模块31,适于分别针对各个待测试的业务项目,将该业务项目中包含的各个目标功能模块部署到预先创建的与该业务项目相对应的项目泳道环境中;
请求模块32,适于使各个项目泳道环境中部署的目标功能模块根据获取到的该目标功能模块所处的项目泳道环境的环境标识,向网关设备发送包含所述环境标识的网络测试请求,以供所述网关设备根据接收到的网络测试请求中包含的环境标识进行消息路由。
可选地,所述部署模块具体适于:
获取该业务项目中包含的各个业务功能模块;
将模块版本发生更新的业务功能模块确定为所述业务项目中包含的各个目标功能模块;
将各个目标功能模块动态部署到预先创建的与该业务项目相对应的项目泳道环境中。
可选地,所述请求模块进一步适于:预先向各个待测试的业务项目包含的各个目标功能模块中添加预设开发工具包;
则所述各个项目泳道环境中部署的目标功能模块通过预先添加到该目标功能模块中的预设开发工具包读取该目标功能模块所处的项目泳道环境的环境标识,将读取到的环境标识添加到已生成的网络测试请求的消息头中。
可选地,所述网络测试请求由位于第一项目泳道环境中的第一目标功能模块发送,且所述网络测试请求用于调用与所述第一目标功能模块存在依赖关系的第二目标功能模块,则所述网络测试请求中进一步包含用于确定所述第二目标功能模块的依赖模块标识。
可选地,所述网关设备具体适于:
确定与所述网络测试请求中包含的环境标识相对应的第一项目泳道环境,根据所述第一项目泳道环境中部署的各个目标功能模块确定所述与所述第一目标功能模块存在依赖关系的第二目标功能模块。
可选地,所述部署模块进一步适于:确定该业务项目中包含的通用功能模块,将所述通用功能模块部署到预先创建的通用泳道环境中;
则所述网关设备具体适于:
判断所述第一项目泳道环境中是否部署有与所述依赖模块标识相匹配的目标功能模块;
若是,将所述与所述依赖模块标识相匹配的目标功能模块确定为所述第二目标功能模块;
若否,从所述通用泳道环境中部署的通用功能模块中选择与所述依赖模块标识相匹配的通用功能模块作为所述第二目标功能模块。
可选地,所述部署模块具体适于:
将该业务项目中包含的模块版本未发生更新的业务功能模块确定为通用功能模块。
可选地,当各个项目泳道环境中部署的目标功能模块接收到客户端通过所述网关设备发送的测试调用指令时,获取该目标功能模块所处的项目泳道环境的环境标识,向网关设备发送包含该环境标识的网络测试请求;
其中,所述测试调用指令中包含项目标识以及功能模块参数,以供所述网关设备根据所述项目标识以及功能模块参数将所述测试调用指令路由至对应的项目泳道环境中的目标功能模块。
可选地,所述装置进一步包括:
销毁模块,适于销毁与该业务项目相对应的项目泳道环境以及该项目泳道环境中包含的各个目标功能模块。
可选地,所述部署模块进一步适于:
分别针对各个待测试的业务项目,创建与该业务项目相对应的项目泳道环境,生成并存储所述项目泳道环境的环境标识。
上述各个模块的具体结构和工作原理可参照方法实施例相应部分的描述,此处不再赘述。
本发明实施例还提供了一种网关设备,图6示出了该网关设备的结构示意图,如图6所示,该网关设备包括:
接收模块61,适于接收各个项目泳道环境中部署的目标功能模块发送的网络测试请求;
解析模块62,适于解析并获取所述网络测试请求中包含的用于指示该目标功能模块所处的项目泳道环境的环境标识;
路由模块63,适于根据所述环境标识对所述网络测试请求进行消息路由。
可选地,所述网络测试请求由位于第一项目泳道环境中的第一目标功能模块发送,且所述网络测试请求用于调用与所述第一目标功能模块存在依赖关系的第二目标功能模块;
则所述路由模块具体适于:
确定与所述网络测试请求中包含的环境标识相对应的第一项目泳道环境,根据所述第一项目泳道环境中部署的各个目标功能模块确定所述与所述第一目标功能模块存在依赖关系的第二目标功能模块。
可选地,所述路由模块具体适于:
判断所述第一项目泳道环境中是否部署有与所述依赖模块标识相匹配的目标功能模块;
若是,将所述与所述依赖模块标识相匹配的目标功能模块确定为所述第二目标功能模块;
若否,从预设的通用泳道环境中部署的通用功能模块中选择与所述依赖模块标识相匹配的通用功能模块作为所述第二目标功能模块。
可选地,所述接收模块进一步适于:
接收客户端发送的测试调用指令,根据所述测试调用指令中包含的项目标识以及功能模块参数,将所述测试调用指令路由至对应的项目泳道环境中的目标功能模块,以供所述目标功能模块根据所述测试调用指令生成网络测试请求。
上述各个模块的具体结构和工作原理可参照方法实施例相应部分的描述,此处不再赘述。
另外,本发明又一实施例还提供了一种多个业务项目的并行测试系统,包括:上述的多个业务项目的并行测试装置以及上述的网关设备。另外,该系统还可以进一步包括一个或多个客户端。
在上述方式中,一方面,通过分别与多个业务项目相对应的项目泳道环境实现了多项目并行测试的目的;另一方面,为了避免各个项目相互干扰,使每个项目包含的目标功能模块发送的网络测试请求中包含环境标识,以便根据环境标识分发来自各个项目泳道环境的网络测试请求,从而确保多个业务项目互不干扰的并行测试。该方式能够在同一套测试系统内实现多个相互并行的项目泳道环境,从而大幅提升了测试效率。
实施例四
本申请实施例四提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的多个业务项目的并行测试方法。可执行指令具体可以用于使得处理器执行上述方法实施例中对应的各个操作。
实施例五
图4示出了根据本发明实施例五的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图4所示,该电子设备可以包括:处理器(processor)402、通信接口(Communications Interface)406、存储器(memory)404、以及通信总线408。
其中:
处理器402、通信接口406、以及存储器404通过通信总线408完成相互间的通信。
通信接口406,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器402,用于执行程序410,具体可以执行上述多个业务项目的并行测试方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器404,用于存放程序410。存储器404可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序510具体可以用于使得处理器502执行上述方法实施例中对应的各个操作。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的基于语音输入信息的抽奖系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (10)
1.一种多个业务项目的并行测试方法,包括:
分别针对各个待测试的业务项目,将该业务项目中包含的各个目标功能模块部署到预先创建的与该业务项目相对应的项目泳道环境中;
各个项目泳道环境中部署的目标功能模块根据获取到的该目标功能模块所处的项目泳道环境的环境标识,向网关设备发送包含所述环境标识的网络测试请求,以供所述网关设备根据接收到的网络测试请求中包含的环境标识进行消息路由。
2.根据权利要求1所述的方法,其中,所述将该业务项目中包含的各个目标功能模块部署到预先创建的与该业务项目相对应的项目泳道环境中包括:
获取该业务项目中包含的各个业务功能模块;
将模块版本发生更新的业务功能模块确定为所述业务项目中包含的各个目标功能模块;
将各个目标功能模块动态部署到预先创建的与该业务项目相对应的项目泳道环境中。
3.根据权利要求1或2所述的方法,其中,所述方法执行之前,进一步包括:预先向各个待测试的业务项目包含的各个目标功能模块中添加预设开发工具包;
则所述各个项目泳道环境中部署的目标功能模块根据获取到的该目标功能模块所处的项目泳道环境的环境标识,向网关设备发送包含所述环境标识的网络测试请求包括:
通过预先添加到该目标功能模块中的预设开发工具包读取该目标功能模块所处的项目泳道环境的环境标识,将读取到的环境标识添加到已生成的网络测试请求的消息头中。
4.根据权利要求1-3任一所述的方法,其中,所述网络测试请求由位于第一项目泳道环境中的第一目标功能模块发送,且所述网络测试请求用于调用与所述第一目标功能模块存在依赖关系的第二目标功能模块,则所述网络测试请求中进一步包含用于确定所述第二目标功能模块的依赖模块标识。
5.一种多个业务项目的测试方法,包括:
接收各个项目泳道环境中部署的目标功能模块发送的网络测试请求;
解析并获取所述网络测试请求中包含的用于指示该目标功能模块所处的项目泳道环境的环境标识;
根据所述环境标识对所述网络测试请求进行消息路由。
6.一种多个业务项目的并行测试装置,包括:
部署模块,适于分别针对各个待测试的业务项目,将该业务项目中包含的各个目标功能模块部署到预先创建的与该业务项目相对应的项目泳道环境中;
请求模块,适于使各个项目泳道环境中部署的目标功能模块根据获取到的该目标功能模块所处的项目泳道环境的环境标识,向网关设备发送包含所述环境标识的网络测试请求,以供所述网关设备根据接收到的网络测试请求中包含的环境标识进行消息路由。
7.一种网关设备,包括:
接收模块,适于接收各个项目泳道环境中部署的目标功能模块发送的网络测试请求;
解析模块,适于解析并获取所述网络测试请求中包含的用于指示该目标功能模块所处的项目泳道环境的环境标识;
路由模块,适于根据所述环境标识对所述网络测试请求进行消息路由。
8.一种多个业务项目的并行测试系统,包括:权利要求6所述的多个业务项目的并行测试装置以及权利要求7所述的网关设备。
9.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-4中任一项所述的多个业务项目的并行测试方法对应的操作。
10.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-4中任一项所述的多个业务项目的并行测试方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010195990.4A CN111464380B (zh) | 2020-03-19 | 2020-03-19 | 多个业务项目的并行测试方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010195990.4A CN111464380B (zh) | 2020-03-19 | 2020-03-19 | 多个业务项目的并行测试方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111464380A true CN111464380A (zh) | 2020-07-28 |
CN111464380B CN111464380B (zh) | 2022-02-08 |
Family
ID=71680875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010195990.4A Active CN111464380B (zh) | 2020-03-19 | 2020-03-19 | 多个业务项目的并行测试方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111464380B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112231217A (zh) * | 2020-10-21 | 2021-01-15 | 中国银行股份有限公司 | 一种以副本方式实施功能测试的方法和装置 |
CN112486825A (zh) * | 2020-11-30 | 2021-03-12 | 北京字跳网络技术有限公司 | 多泳道环境架构系统、消息消费方法、装置、设备及介质 |
CN112714012A (zh) * | 2020-12-16 | 2021-04-27 | 平安国际融资租赁有限公司 | 服务实例确定方法、装置、计算机设备和介质 |
CN113254235A (zh) * | 2021-06-08 | 2021-08-13 | 行吟信息科技(武汉)有限公司 | 一种多测试环境下的消息传递方法及装置 |
CN114124703A (zh) * | 2021-11-26 | 2022-03-01 | 浪潮卓数大数据产业发展有限公司 | 一种基于Kubernetes的多环境服务配置方法、设备及介质 |
CN114448993A (zh) * | 2022-02-15 | 2022-05-06 | 江苏楷文电信技术有限公司 | 基于webscokt协议实现端到端数据通信方法 |
CN114996106A (zh) * | 2022-04-22 | 2022-09-02 | 马上消费金融股份有限公司 | 业务系统的测试方法、电子设备和存储介质 |
CN117118880A (zh) * | 2023-08-01 | 2023-11-24 | 南京领行科技股份有限公司 | 基于多甬道发布的测试方法、装置、电子设备及存储介质 |
WO2024078025A1 (zh) * | 2022-10-10 | 2024-04-18 | 华为技术有限公司 | 流量隔离方法、装置、系统及计算机可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101771725A (zh) * | 2010-01-04 | 2010-07-07 | 北京航空航天大学 | 服务测试环境的构建方法和系统 |
CN104978261A (zh) * | 2014-04-03 | 2015-10-14 | 腾讯科技(深圳)有限公司 | 应用程序的测试方法、装置及系统 |
CN106656650A (zh) * | 2016-10-08 | 2017-05-10 | 腾讯科技(深圳)有限公司 | 业务测试环境的生成方法和系统、业务测试的方法、装置和系统 |
CN107222365A (zh) * | 2017-06-08 | 2017-09-29 | 百度在线网络技术(北京)有限公司 | 数据处理方法、装置及服务器 |
CN109857644A (zh) * | 2018-12-30 | 2019-06-07 | 贝壳技术有限公司 | 一种快速搭建软件测试环境的方法及装置 |
US20190370152A1 (en) * | 2018-05-30 | 2019-12-05 | Microsoft Technology Licensing, Llc | Automatic intelligent cloud service testing tool |
CN110647469A (zh) * | 2019-09-24 | 2020-01-03 | 广州荔支网络技术有限公司 | 一种微服务的测试方法、装置、计算机设备和存储介质 |
CN110704296A (zh) * | 2018-07-10 | 2020-01-17 | 阿里巴巴集团控股有限公司 | 一种调用方法及装置 |
-
2020
- 2020-03-19 CN CN202010195990.4A patent/CN111464380B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101771725A (zh) * | 2010-01-04 | 2010-07-07 | 北京航空航天大学 | 服务测试环境的构建方法和系统 |
CN104978261A (zh) * | 2014-04-03 | 2015-10-14 | 腾讯科技(深圳)有限公司 | 应用程序的测试方法、装置及系统 |
CN106656650A (zh) * | 2016-10-08 | 2017-05-10 | 腾讯科技(深圳)有限公司 | 业务测试环境的生成方法和系统、业务测试的方法、装置和系统 |
CN107222365A (zh) * | 2017-06-08 | 2017-09-29 | 百度在线网络技术(北京)有限公司 | 数据处理方法、装置及服务器 |
US20190370152A1 (en) * | 2018-05-30 | 2019-12-05 | Microsoft Technology Licensing, Llc | Automatic intelligent cloud service testing tool |
CN110704296A (zh) * | 2018-07-10 | 2020-01-17 | 阿里巴巴集团控股有限公司 | 一种调用方法及装置 |
CN109857644A (zh) * | 2018-12-30 | 2019-06-07 | 贝壳技术有限公司 | 一种快速搭建软件测试环境的方法及装置 |
CN110647469A (zh) * | 2019-09-24 | 2020-01-03 | 广州荔支网络技术有限公司 | 一种微服务的测试方法、装置、计算机设备和存储介质 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112231217A (zh) * | 2020-10-21 | 2021-01-15 | 中国银行股份有限公司 | 一种以副本方式实施功能测试的方法和装置 |
CN112231217B (zh) * | 2020-10-21 | 2023-09-22 | 中国银行股份有限公司 | 一种以副本方式实施功能测试的方法和装置 |
CN112486825B (zh) * | 2020-11-30 | 2023-08-08 | 北京字跳网络技术有限公司 | 多泳道环境架构系统、消息消费方法、装置、设备及介质 |
CN112486825A (zh) * | 2020-11-30 | 2021-03-12 | 北京字跳网络技术有限公司 | 多泳道环境架构系统、消息消费方法、装置、设备及介质 |
CN112714012A (zh) * | 2020-12-16 | 2021-04-27 | 平安国际融资租赁有限公司 | 服务实例确定方法、装置、计算机设备和介质 |
CN112714012B (zh) * | 2020-12-16 | 2023-08-29 | 平安国际融资租赁有限公司 | 服务实例确定方法、装置、计算机设备和介质 |
CN113254235A (zh) * | 2021-06-08 | 2021-08-13 | 行吟信息科技(武汉)有限公司 | 一种多测试环境下的消息传递方法及装置 |
CN114124703A (zh) * | 2021-11-26 | 2022-03-01 | 浪潮卓数大数据产业发展有限公司 | 一种基于Kubernetes的多环境服务配置方法、设备及介质 |
CN114124703B (zh) * | 2021-11-26 | 2024-01-23 | 浪潮卓数大数据产业发展有限公司 | 一种基于Kubernetes的多环境服务配置方法、设备及介质 |
CN114448993A (zh) * | 2022-02-15 | 2022-05-06 | 江苏楷文电信技术有限公司 | 基于webscokt协议实现端到端数据通信方法 |
CN114996106A (zh) * | 2022-04-22 | 2022-09-02 | 马上消费金融股份有限公司 | 业务系统的测试方法、电子设备和存储介质 |
WO2024078025A1 (zh) * | 2022-10-10 | 2024-04-18 | 华为技术有限公司 | 流量隔离方法、装置、系统及计算机可读存储介质 |
CN117118880A (zh) * | 2023-08-01 | 2023-11-24 | 南京领行科技股份有限公司 | 基于多甬道发布的测试方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111464380B (zh) | 2022-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111464380B (zh) | 多个业务项目的并行测试方法、装置及系统 | |
CN112035228B (zh) | 一种资源调度方法及装置 | |
CN111770184B (zh) | 基于小程序实现服务的方法及装置 | |
CN109104368B (zh) | 一种请求连接方法、装置、服务器及计算机可读存储介质 | |
CN111026634A (zh) | 一种接口自动化测试系统、方法、装置及存储介质 | |
CN112787999B (zh) | 跨链调用方法、装置、系统与计算机可读存储介质 | |
CN113190282A (zh) | 安卓运行环境构建的方法及装置 | |
US20200310828A1 (en) | Method, function manager and arrangement for handling function calls | |
CN112579319A (zh) | 一种基于LRU Cache优化的服务调用方法及装置 | |
CN111008064B (zh) | 虚机资源调度方法和装置、集群部署方法和装置 | |
CN112698930A (zh) | 一种获取服务器标识的方法、装置、设备及介质 | |
CN111562928B (zh) | 资源提供方法及装置、资源下载方法及装置 | |
CN114662102A (zh) | 一种文件处理方法、装置及存储介质 | |
CN112667491B (zh) | 虚拟机的功能测试方法及装置 | |
CN110413333B (zh) | 基于NodeJS和PowerShell的Windows系统的微服务管理方法和装置 | |
CN112422643A (zh) | 一种第三方接口保护的请求转发方法和装置 | |
CN112015436A (zh) | 短信平台部署方法及装置、计算设备、计算机存储介质 | |
JP2006146434A (ja) | 分散アプリケーションテスト方法及び分散アプリケーションテスト装置 | |
CN112637074B (zh) | web静态资源协调方法、装置及分发系统 | |
CN116204198A (zh) | 活动页面处理方法、运营平台、业务服务器及存储介质 | |
CN116991444A (zh) | 业务系统的更新处理方法、装置、电子设备及介质 | |
CN114090912A (zh) | 数据平台融合方法、计算设备及计算机存储介质 | |
CN117061996A (zh) | 业务处理方法、计算机设备和存储介质 | |
CN115423453A (zh) | 活动流程处理方法及装置 | |
CN115604333A (zh) | 基于dubbo的分布式大数据分析服务调度方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |