测试环境访问方法、装置、可读存储介质和计算机设备与流程

文档序号:28381277发布日期:2022-01-07 23:05阅读:136来源:国知局
测试环境访问方法、装置、可读存储介质和计算机设备与流程

1.本技术涉及计算机技术领域,具体而言,本技术涉及一种测试环境访问方法、测试环境访问装置、计算机可读存储介质和计算机设备。


背景技术:

2.用户使用网络中的各种功能是通过网址的形式访问到服务器。一般地,用户的访问操作访问到的是生产环境(即正式环境),在普通用户正式使用生产环境的功能之前,这些功能需要在测试环境进行测试并通过后才能够推出为用户所使用。但是,多个测试环境必须要相互隔离,否则测试的数据会影响到正常的生产数据。
3.而在当前的对测试环境进行测试的过程中,不同测试环境的入参设计、同时对比测试多个测试环境的代码版本等工作基本都是依靠人工来解决的,此种方式不仅耗费大量的时间进行重复的工作,还可能因为考虑不够全面造成测试场景遗漏,导致损失。此外,还存在安全性低、时间和/或人力成本高等问题。


技术实现要素:

4.为至少能解决上述的技术缺陷之一,本技术提供了以下技术方案的测试环境访问方法、测试环境访问装置、计算机可读存储介质和计算机设备。
5.本技术实施方式提供了一种测试环境访问方法,用于代理服务器,所述代理服务器与设备端及测试服务器通信。所述测试环境访问方法包括:接收所述设备端发送的访问请求信息;处理所述访问请求信息以判断所述访问请求信息中是否包含指示访问测试环境的指示信息;在所述访问请求信息中包含所述指示信息时,将所述设备端的访问请求信息转发至所述所述测试服务器,以访问所述测试服务器中的测试环境。
6.在某些实施方式中,所述访问请求信息为访问链接,所述访问链接包括标头,所述指示信息包括所述测试服务器的ip地址和端口,所述指示信息携带在所述标头中。
7.在某些实施方式中,所述测试服务器包括多个,每个所述测试服务器对应一个所述指示信息,所述将所述设备端的访问请求信息转发至所述所述测试服务器,以访问所述测试服务器中的测试环境,包括:根据所述指示信息确定与所述指示信息对应的所述测试服务器;将所述访问请求信息转发至与所述指示信息对应的所述测试服务器,以访问该测试服务器中的测试环境。
8.在某些实施方式中,所述代理服务器还与原始服务器通信,所述测试环境访问方法还包括:在所述访问请求信息中不包含所述指示信息时,将所述访问请求信息转发至所述原始服务器,以访问所述原始服务器中的原始环境。
9.在某些实施方式中,所述代理服务器还与原始服务器通信,所述所述测试环境访问方法还包括:在所述访问请求信息中不包含所述指示信息时,根据所述访问请求信息判断所述设备端是否要访问所述原始服务器;在所述设备端要访问所述原始服务器时,将所述访问请求信息转发至所述原始服务器,以访问所述原始服务器中的原始环境。
10.本技术实施方式还提供了一种测试环境访问装置,用于代理服务器,所述代理服务器与设备端及测试服务器通信。测试环境访问装置包括接收模块、第一判断模块及转发模块。接收模块用于接收所述设备端发送的访问请求信息。第一判断模块,用于处理所述访问请求信息以判断所述访问请求信息中是否包含指示访问测试环境的指示信息。转发模块用于在所述访问请求信息中包含所述指示信息时,将所述设备端的访问请求信息转发至所述所述测试服务器,以访问所述测试服务器中的测试环境。
11.在某些实施方式中,所述测试服务器包括多个,每个所述测试服务器对应一个所述指示信息,所述转发模块还用于根据所述指示信息确定与所述指示信息对应的所述测试服务器;将所述访问请求信息转发至与所述指示信息对应的所述测试服务器,以访问该测试服务器中的测试环境。
12.在某些实施方式中,所述代理服务器还与原始服务器通信,所述测试环境访问装置还包括第二判断模块。第二判断模块用于在所述访问请求信息中不包含所述指示信息时,根据所述访问请求信息判断所述设备端是否要访问所述原始服务器。所述转发模块还用于在所述设备端要访问所述原始服务器时,将所述访问请求信息转发至所述原始服务器,以访问所述原始服务器中的原始环境。
13.本技术实施方式还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施方式所述的测试环境访问方法。
14.本技术实施方式还提供了一种计算机设备,所述计算机包括一个或多个处理器;存储器;一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个计算机程序配置用于:执行上述任一实施方式所述的测试环境访问方法。
15.本技术与现有技术相比,具有以下有益效果:
16.本技术提供的测试环境访问方法、测试环境访问装置、计算机可读存储介质和计算机设备中,由于代理服务器是通过访问请求信息中携带的指示信息来实现目标的环境的调用的,本质上各个环境之间还是相互隔离的,依旧符合网络隔离的安全原则,不会对各个环境的数据产生影响,安全性较高。并且,由于是通过转发其他环境录制的流量数据,因此可以省去大量构造访问场景的时间。另外,由于是真实用户产生的调用,所以场景更加丰富,可以避免场景考虑不周导致遗漏测试的问题,比人工完成场景构建的方式更加快速,并且更加可靠。
17.本技术附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
18.本技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
19.图1为本技术某些实施方式的测试环境访问方法的流程示意图;
20.图2为本技术某些实施方式的测试环境访问装置的模块示意图;
21.图3为本技术某些实施方式的代理服务器与设备端、原始服务器、测试服务器通信
的示意图;
22.图4为本技术某些实施方式的测试环境访问方法的流程示意图;
23.图5为本技术某些实施方式的测试环境访问方法的流程示意图;
24.图6为本技术某些实施方式的测试环境访问方法的流程示意图;
25.图7为本技术某些实施方式的测试环境访问方法的流程示意图;
26.图8为本技术某些实施方式的计算机可读存储介质与处理器通信的示意图;
27.图9为本技术某些实施方式的计算机设备的示意图。
具体实施方式
28.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能解释为对本技术的限制。
29.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
30.本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本技术所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
31.请参阅图1和图3,本技术实施方式提供一种测试环境访问方法。该测试环境访问方法用于代理服务器30,代理服务器30能够与设备端40及测试服务器50通信。
32.测试环境访问方法包括:
33.01:接收设备端40发送的访问请求信息;
34.02:处理访问请求信息以判断访问请求信息中是否包含指示访问测试环境的指示信息;
35.03:在访问请求信息中包含指示信息时,将设备端40的访问请求信息转发至测试服务器50,以访问测试服务器50中的测试环境。
36.请参阅图2和图3,本技术实施方式还提供一种测试环境访问装置10。测试环境访问装置10用于代理服务器30。本技术实施方式的测试环境访问方法可以由本技术实施方式的测试环境访问装置10实现。测试环境访问装置10包括接收模块11、第一判断模块12及转发模块13。步骤01可以由接收模块11实现。步骤02可以由第一判断模块12实现。步骤03可以由转发模块13实现。
37.也即是说,接收模块11可以用于接收设备端40发送的访问请求信息。第一判断模块12可以用于处理访问请求信息以判断访问请求信息中是否包含指示访问测试环境的指示信息。转发模块13可以用于在访问请求信息中包含指示信息时,将设备端40的访问请求信息转发至测试服务器50,以访问测试服务器50中的测试环境。
38.其中,设备端40可以是手机、平板电脑、笔记本电脑、台式电脑、智能手表、智能手环、智能眼镜、智能头盔等。本技术中的各实施方式以设备端40是手机为例进行说明,但并不限于此。
39.代理服务器30可以为nginx代理服务器,使用nginx代理服务器可以有效的保证内网的安全。当然,代理服务器也可以选择其他类型的服务器,在此不作限制。
40.代理服务器30与设备端40的通信方式可以为有线通信或无线通信,在此不作限制。同样地,代理服务器30与测试服务器50之间的通信方式也可以为有线通信或无线通信,在此也不作限制。
41.可以理解,在通常的web系统研发中,业务开发人员在完成新版本的web系统代码开发之后,会将新版本的web系统部署在测试服务器50中,当设备端40(如手机)访问该测试服务器50时,即可访问该测试服务器50中的测试环境(也即该新版本的web系统)。该测试环境需要先进行测试,并在测试通过后才能够正式推出为用户所使用,该推出后的环境称为原始环境(也称为正式环境或生产环境)。但是,多个测试环境必须相互隔离,否则测试环境的数据会影响到原始环境的数据。
42.为避免测试环境与原始环境之间的相互影响,可以通过以下方式中的任意一种进行测试环境的访问:(1)所有环境的网段互通,原始环境的调用可调用到任意的测试环境当中;(2)所有环境通过现有的外网平台,实现调用互通;(3)替换访问域名,或者更改host等操作,再进行dns解析。
43.其中,第一种方式中,所有的环境都可以互通,方便多个环境之间的相互调用,然而其不符合网络隔离的安全标准,多个环境之间没有隔离,没有控制,存在明显的安全漏洞。第二种方式中,业务开发人员不需要单独开发一个中转的平台来实现多个环境之间的调用互通,然而,多套环境需通过外网云平台互通,需要进行大量安全相关的工作以及鉴权相关的工作,需要耗费较多时间,并且现有的外网平台需要付费,使得费用成本也较高。第三种方式中,各个环境之间相互隔离,相互之间不会产生影响,安全性较高,然而,由于是通过更换域名后调用测试环境,使得每次调用测试环境需要都进行dns域名解析,以获取到测试环境的ip,进而调用到目标环境,以流量回放等应用平台为例,其想要实现更换域名操作,需要开发和维护转发平台,需要投入较多人力成本。
44.请结合图3和图7,本技术实施方式的测试环境访问方法及测试环境访问装置10可以在访问请求信息中携带指示访问测试环境的指示信息,那么,在代理服务器30获得该访问请求信息后,代理服务器30可以对访问请求信息进行解析,并基于解析后的信息判断访问请求信息是否携带了上述指示信息。若访问请求信息中携带了上述指示信息,则代理服务器30可以将设备端40发送的访问请求信息转发至测试服务器50中,从而使得设备端40与测试服务器50之间建立通信连接,设备端40可以访问测试服务器50中搭建的测试环境。由于代理服务器30是通过访问请求信息中携带的指示信息来实现目标的环境的调用的,换言之,其实基于路由分发实现原始环境的调用访问到测试环境的,此方式本质上各个环境之间还是相互隔离的,依旧符合网络隔离的安全原则,不会对各个环境的数据产生影响,安全性较高。并且,由于是通过转发其他环境录制的流量数据,因此可以省去大量构造访问场景的时间。另外,由于是真实用户产生的调用,所以场景更加丰富,可以避免场景考虑不周导致遗漏测试的问题,比人工完成场景构建的方式更加快速,并且更加可靠。
45.请参阅图3,在某些实施方式中,访问请求信息为访问链接,访问链接包括标头,指示信息包括测试服务器50的ip地址和端口,指示信息携带在标头中。
46.需要说明的是,指示信息可以不仅仅包括测试服务器50的ip地址和端口,还可以包括其他可以用来标志测试服务器50的信息等,在此不作限制。
47.通常地,设备端40要访问某一环境时,可以通过调用该环境的访问链接来实现该环境的访问。访问链接通常包括标头,即header。header是指在超文本传输协议(hypertext transfer protocol,http)的请求和响应消息中,协议头部分的组件。http标头用来准确描述正在获取的资源、服务器或者客户端的行为,定义了http事务中的具体操作参数。header中携带的指示信息例如可为:sandbox_url_value:测试环境的ip+测试环境的端口。当设备端40发起调用时,代理服务器30受到访问请求信息,代理服务器30解析访问请求信息中的header中的内容,判断是否携带有测试环境的ip和测试环境的端口。若携带有测试环境的ip和测试环境的端口,则代理服务器30将设备端40发送的访问请求信息转发至测试服务器50,从而实现测试环境的调用。示例地,假设代理服务器30为nginx代理服务器,则nginx代理服务器提取接收到header信息,通过proxy_pass http://$http_sandbox_url分发到目标的测试环境中。本技术实施方式的测试环境访问方法和测试环境访问装置10中,采用header控制分发调用到测试环境,本质上各个环境还是隔离的,依旧是符合网络隔离的安全原则。并且,可以控制调用不能分发到原始环境,不会对原始环境的数据产生影响。此外,通过在header中添加测试环境的信息,直接通过代理服务器30转发到测试环境,不同于替换访问域名,更改host等操作,无需维护专门的平台去替换相关信息,也无需进行dns解析,省去了dns解析等相关的成本。另外,本技术时通过代理服务器30解析header的路由信息,并且完成分发的,由于代理服务器30的解析技术比较成熟,因而本技术的方案的运行稳定,且快速高效。
48.请参阅图3和图4,在某些实施方式中,测试服务器50包括多个,每个测试服务器50对应一个指示信息,步骤03将设备端40的访问请求信息转发至测试服务器50,以访问测试服务器50中的测试环境,包括:
49.031:根据指示信息确定与指示信息对应的测试服务器50;
50.032:将访问请求信息转发至与指示信息对应的测试服务器50,以访问该测试服务器50中的测试环境。
51.请参阅图2和图3,在某些实施方式中,步骤031和步骤032均可以由转发模块13实现。也即是说,转发模块13可以用于根据指示信息确定与指示信息对应的测试服务器50,并将访问请求信息转发至与指示信息对应的测试服务器50,以访问该测试服务器50中的测试环境。
52.请结合图3和图7,可以理解,可能同时存在有多个测试环境,该多个测试环境分别被部署在不同的测试服务器50上。那么,不同的测试环境具有不同的ip和端口。为使得设备端40能够访问到目标的测试环境,其访问请求信息中的指示信息应该指向该目标的测试环境。如此,可以基于指示信息中的ip和端口的不同来进行不同的测试环境的访问,使得各个测试环境都能供得到测试,并且,可以实际解决测试的许多耗时的工作内容,并且场景丰富可靠。
53.前述实施例中,每个测试服务器50部署一个测试环境。在其他实施例中,每个测试
服务器50也可以部署多个测试环境。此时,为了访问某一测试服务器50中的某个目标的测试环境,除了在指示信息中增加测试服务器50的ip信息和端口信息之外,还可以进一步增加用于标志该目标的测试环境的测试信息,以便于设备端40能够通过该测试服务器50的ip信息和端口信息访问到目标的测试服务器,并进一步地通过该标志信息访问到目标的测试服务器。
54.请参阅图3和5,在某些实施方式中,代理服务器30还与原始服务器60通信,测试环境访问方法还包括:
55.04:在访问请求信息中不包含指示信息时,将访问请求信息转发至原始服务器60,以访问原始服务器60中的原始环境。
56.请参阅图2和图3,步骤04可以由转发模块13实现。也即是说,转发模块13可以用于在访问请求信息中不包含指示信息时,将访问请求信息转发至原始服务器60,以访问原始服务器60中的原始环境。
57.请结合图3,具体地,代理服务器30接收到设备端40发送的访问请求信息后,对访问请求信息中的标头进行解析,以判断标头中是否携带测试环境的ip及测试环境的端口。若标头中未携带测试环境的ip及测试环境的端口,则代理服务器30直接将访问请求信息转发给原始服务器60,从而使得设备端40可以访问原始环境。
58.请参阅图3和6,在某些实施方式中,代理服务器30还与原始服务器60通信,测试环境访问方法还包括:
59.05:在访问请求信息中不包含指示信息时,根据访问请求信息判断设备端40是否要访问原始服务器60;
60.06:在设备端40要访问原始服务器60时,将访问请求信息转发至原始服务器60,以访问原始服务器60中的原始环境。
61.请参阅图2和图3,测试环境访问方法还包括第二判断模块14。步骤05可以由第二判断模块14实现。步骤06可以由转发模块13实现。也即是说,第二判断模块14可以用于在访问请求信息中不包含指示信息时,根据访问请求信息判断设备端40是否要访问原始服务器60。转发模块13可以用于在设备端40要访问原始服务器60时,将访问请求信息转发至原始服务器60,以访问原始服务器60中的原始环境。
62.请结合图3和图7,具体地,代理服务器30接收到设备端40发送的访问请求信息后,对访问请求信息中的标头进行解析,以判断标头中是否携带测试环境的ip及测试环境的端口。若标头中未携带测试环境的ip及测试环境的端口,则代理服务器30继续根据访问请求信息判断设备端40是否要访问原始服务器60。如果确认设备端40要访问原始服务器60,则代理服务器30将访问请求信息转发给原始服务器60,由此建立设备端40与原始服务器60的通信连接,设备端40可以访问原始环境。在确定设备端40不访问测试服务器50时,先进行设备端40是否要访问原始服务器60的判断,从而可以为设备端50提供更多的选择,其访问操作更加灵活可控。
63.本技术方法实施例的内容均适用于本装置实施例,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同,具体请参见方法实施例中的说明,在此不再赘述。
64.此外,请参阅图8,本技术实施例提供了一种计算机可读存储介质,计算机可读存
储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以上任一实施方式所述的测试环境访问方法。其中,所述计算机可读存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、cd-rom、和磁光盘)、rom(read-only memory,只读存储器)、ram(random access memory,随即存储器)、eprom(erasable programmable read-only memory,可擦写可编程只读存储器)、eeprom(electrically erasable programmable read-only memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储设备包括由设备(例如,计算机、手机)以能够读的形式存储或传输信息的任何介质,可以是只读存储器,磁盘或光盘等。
65.本技术方法实施例的内容均适用于本存储介质实施例,本存储介质实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同,具体请参见方法实施例中的说明,在此不再赘述。
66.此外,请参阅图9,本技术实施例还提供了一种计算机设备,本实施例所述的计算机设备可以是服务器、个人计算机以及网络设备等设备。所述计算机设备包括:一个或多个处理器,存储器,一个或多个计算机程序,其中所述一个或多个计算机程序被存储在存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个计算机程序配置用于执行以上任一实施方式所述的测试环境访问方法。
67.本技术方法实施例的内容均适用于本计算机设备实施例,本计算机设备实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同,具体请参见方法实施例中的说明,在此不再赘述。
68.此外,在本技术各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
69.以上所述仅是本技术的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1