网站测试方法、装置以及系统与流程

文档序号:11236855阅读:771来源:国知局
网站测试方法、装置以及系统与流程

本申请涉及网站测试技术领域,尤其涉及一种网站测试方法、装置以及系统。



背景技术:

在网站开发以及升级过程中,开发人员经常需要开发的产品(如,开发出的网站,或者网站中部分功能在技术上的改进)进行测试,以根据测试结果分析开发出的产品是否存在漏洞等问题。

为了测试网站中开发出的产品,需要构建开发测试环境,该开发测试环境中部署有至少一个测试服务器,并在测试服务器中配置了所需测试的产品,测试人员通过终端访问该测试服务器,以实现对开发出的产品的测试。而为了使得测试人员的终端可以访问测试环境中的测试服务器,需要单独为测试环境分配不同于线上环境(网站的实际运行环境)的域名,并进行与域名相关的一系列配置,以及访问控制所需的配置,使得部署测试环境的复杂度较高,进而导致网站测试的复杂度较高。



技术实现要素:

有鉴于此,本申请提供了一种网站测试方法、装置以及系统,以降低网站测试的复杂度。

为实现上述目的,一方面,本申请提供了一种网站测试方法,包括:

接收终端发送的携带有网站域名的访问请求,所述网站域名用于标识目标网站;

在确定出所述访问请求中携带有测试标识的情况下,将所述访问请求转发给所述测试标识所指向的测试服务器,所述测试服务器用于对所述目标网站中升级或改进的产品进行测试;

在确定出所述访问请求中未携带有测试标识的情况下,将所述访问请求转发给用于运行所述目标网站的线上服务器。

在一种可能的设计中,在所述将所述访问请求转发给所述测试标识所指向的测试服务器之前,还包括:

依据预置的测试标识与测试服务器的映射关系,从所述目标网站对应的至少一个测试服务器中,确定出所述测试标识所指向的测试服务器。

在又一种可能的设计中,所述依据预置的测试标识与测试服务器的映射关系,从所述目标网站对应的至少一个测试服务器中,确定出所述测试标识所指向的测试服务器,包括:

依据预置的测试标识与测试环境的映射关系,从所述目标网站对应的至少一个测试环境中,确定出所述测试标识所指向的目标测试环境,所述测试环境部署有至少一台测试服务器,且不同的测试环境用于测试所述目标网站中不同的待测试产品;

从所述目标测试环境所部署的至少一台测试服务器中,选择出一台目标测试服务器作为待处理所述访问请求的测试服务器。

在又一种可能的设计中,所述确定出所述访问请求中携带有测试标识,包括:

确定出所述访问请求中携带有浏览器缓存记录cookies,且所述cookies中包括用于表征所需访问的测试服务器的测试标识,其中,所述cookies记录中的测试标识为:所述终端在确定出所需测试的目标产品之后,将部署有所述目标产品的测试服务器的测试标识插入到所述cookies中的;或者,所述终端当前时刻之前访问所述测试服务器时生成的。

另一方面,本申请还提供了一种网站测试装置,包括:

请求接收单元,用于接收终端发送的携带有网站域名的访问请求,所述网站域名用于标识目标网站;

第一调度单元,用于在确定出所述访问请求中携带有测试标识的情况下,将所述访问请求发送给所述测试标识所指向的测试服务器,所述测试服务器用于对所述目标网站中升级或改进的产品进行测试;

第二调度单元,用于在确定出所述访问请求中未携带有测试标识的情况下,将所述访问请求转发给用于运行所述目标网站的线上服务器。

在一种可能的设计中,所述第一调度单元,包括:

测试目标确定单元,用于在确定出所述访问请求中携带有测试标识的情况下,依据预置的测试标识与测试服务器的映射关系,从所述目标网站对应的至少一个测试服务器中,确定出所述测试标识所指向的测试服务器

测试处理单元,用于将所述访问请求发送给所述测试标识所指向的测试服务器。

在一种可能的设计中,所述测试目标确定单元,包括:

环境确定子单元,用于在确定出所述访问请求中携带有测试标识的情况下,依据预置的测试标识与测试环境的映射关系,从所述目标网站对应的至少一个测试环境中,确定出所述测试标识所指向的目标测试环境,所述测试环境部署有至少一台测试服务器,且不同的测试环境用于测试所述目标网站中不同的待测试产品;

目标确定子单元,用于从所述目标测试环境所部署的至少一台测试服务器中,选择出一台目标测试服务器作为待处理所述访问请求的测试服务器。

在一种可能的设计中,还包括:

标识识别单元,用于在检测到所述访问请求中携带有浏览器缓存记录cookies,且所述cookies中包括用于表征所需访问的测试服务器的测试标识时,确定所述访问请求中携带有测试标识,其中,所述cookies记录中的测试标识为:所述终端在确定出所需测试的目标产品之后,将部署有所述目标产品的测试服务器的测试标识插入到所述cookies中的;或者,所述终端当前时刻之前访问所述测试服务器时生成的。

在又一方面,本申请还提供给了一种网站测试系统,包括:

至少一台测试终端、至少一台用户终端、至少一台负载均衡器、用于运行目标网站的至少一台线上服务器,以及用于对所述目标网站中升级或改进的产品进行测试的至少一台测试服务器;

其中,所述测试终端,用于从浏览器缓存中获取测试标识,并生成携带有目标网站的网站域名以及所述测试标识的访问请求;将生成的访问请求发送给负载均衡器,其中,所述浏览器缓存中的测试标识为所述测试终端在确定出所需测试的目标产品之后,将部署有目标产品的测试服务器的测试标识插入到所述浏览器缓存中;或者所述测试终端在当前时刻之前访问所述测试服务器时生成的;

所述用户终端,用于向负载均衡器发送携带有所述目标网站的网站域名的访问请求;

负载均衡器,用于接收携带有网站域名的访问请求;在确定出接收到的访问请求中携带有测试标识的情况下,将接收到的访问请求转发给所述测试标识所指向的测试服务器;在确定出接收到的访问请求中未携带有测试标识的情况下,将接收到的访问请求转发给用于运行所述目标网站的线上服务器。

在一种可能的设计中,所述测试终端还用于,在生成所述访问请求之前,展现用于选择所需测试的产品的选择界面,并根据用户在该选择界面中的选择操作,确定当前待测试的目标产品;依据测试标识与测试产品的映射关系,确定当前待测试的目标产品所对应的测试标识,并在测试终端的浏览器缓存中缓存所述目标产品所对应的测试标识。

经由上述的技术方案可知,运行发布后的目标网站的线上环境,与用于对该开发或升级后的该目标网站进行测试的测试环境具有同一个入口,即具有相同的域名,同时,线上环境与测试环境共享负载均衡器,负载均衡器根据终端访问请求中是否携带测试标识,可以将该访问请求转发到测试环境的测试服务器或者线上环境的线上服务器,这样,无需单独为测试环境分配单独的域名,避免了分配域名以及域名相关的配置操作,降低了部署测试环境的复杂度。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1示出了本申请的一种网站测试方法的一种应用场景的组成结构示意图;

图2示出了本申请的一种网站测试方法所适用的负载均衡器的组成结构示意图;

图3示出了本申请的网站测试方法在配置测试服务器以及负载均衡器的流程示意图;

图4示出了本申请一种网站测试方法一个实施例的流程示意图;

图5示出了选择测试环境的一种测试界面的示意图;

图6示出了本申请一种网站测试装置一个实施例的组成结构示意图。

具体实施方式

本申请的网站测试方法可以应用于网站中开发的产品进行测试,以网站中开发出的产品所存在的漏洞或者其他问题。

为了便于理解,先对本申请实施例的网站测试方法所适用的应用场景的系统组成进行介绍。如图1,在图1所示的应用场景中可以包括:

至少一个负载均衡器101;

与负载均衡器101相连的至少一个测试服务器102;

与负载均衡器101相连的至少一个线上服务器103;

通过网络与负载均衡器相连的至少一个测试终端104以及多个用户终端105。

其中,线上服务器是指正常提供网站服务器的服务器。

测试服务器中部署了网站中所需测试的产品对应的资源数据,以便通过测试服务器实现对该产品的测试。

为了减少配置测试环境的复杂度,在本申请实施例中,该测试服务器与线上服务器所对应的域名相同。

其中,用户终端为普通的网站用户的终端,而测试终端为测试人员的终端,用户终端以及测试终端均可以为任意形式的终端,如,可以为手机、掌上电脑、平板电脑以及台式机等等。

可以理解的是,由于测试人员需要测试开发出的产品,因此,测试人员希望通过测试终端可以访问到测试服务器,而对于普通的网站用户,则需要定向到线上服务器。在本申请实施例中,通过负载均衡器101来实现将测试人员以及网站用户通过终端所发出的访问请求定向到不同的服务器。可见,该负载均衡器与测试服务器构成了测试环境,而负载均衡器又与线上服务器构成了线上环境,同时,线上环境与测试环境实现了共享负载均衡器,同时可以降低配置测试环境的复杂度。

为了使得负载均衡器可以区分出测试人员以及网站用户所发出的访问请求,在本申请实施例中,测试人员的终端在向负载均衡器发出访问请求时,可以携带表征访问测试环境的测试标识,相应的,负载均衡器检测到访问请求中携带有该测试标识,则依据该测试标识,将该访问请求定向到该测试标识所表征的测试服务器。

可以理解的是,由于网站开发或者升级过程中,可能会涉及到多种功能的开发或升级,每种功能对应着一种产品,为了单独测试每种产品,可以分别针对每种产品单独设置至少一台测试服务器,同时还可以设置集成有该多种功能的至少一台服务器。在该种情况下,每种产品的测试服务器实际上对应着不同的测试环境,因此,为了区分出测试终端所需要测试的产品或者说测试环境,测试终端可以针对该多种功能预置不同的测试标识,并根据测试需求,在访问请求中携带不同的测试标识。

其中,该测试标识的形式可以有多种,如,该标识可以为测试终端在浏览器中生成的一条cookies。

在本申请实施例中,该负载均衡器可以与现有的任意实现负载均衡的设备相似。如图2,其示出了本申请实施例的网站测试方法所适用的负载均衡器的一种组成结构示意图。在图2中,该负载均衡器200可以包括:处理器201、存储器202、通信接口203和通信总线204。

处理器201、存储器202、通信接口203均通过通信总线204完成相互间的通信。

通信接口203,用于接收终端发送的访问请求,该访问请求携带有该负载均衡器对应的目标网站的网站域名。

在本申请实施例中,该处理器201,可以为中央处理器(centralprocessingunit,cpu),特定应用集成电路(application-specificintegratedcircuit,asic),数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件等。

该处理器可以调用存储器202中存储的程序,具体的,处理器可以执行以下图4以及图6中负载均衡器侧所执行的操作。

存储器202中用于存放一个或者一个以上程序,程序可以包括程序代码,所述程序代码包括计算机操作指令,在本申请实施例中,该存储器中至少存储有用于实现以下功能的程序:

在确定出终端发送的所述访问请求中携带有测试标识的情况下,将所述访问请求发送给所述测试标识所指向的测试服务器,所述测试服务器用于对所述目标网站中升级或改进的产品进行测试;

在确定出所述访问请求中未携带有测试标识的情况下,将所述访问请求转发给用于运行所述目标网站的线上服务器。

在一种可能的实现方式中,该存储器202可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、以上所提到的程序,以及至少一个功能(比如声音播放功能、图像播放功能以及定位功能等)所需的应用程序等;存储数据区可存储根据终端的使用过程中所创建的数据,比如,音频数据、电话本等。

此外,存储器202可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

该通信接口203可以为通信模块的接口,如gsm模块的接口。

当然,图2所示的负载均衡器的结构并不构成对本申请实施例中负载均衡器的限定,在实际应用中负载均衡器可以包括比图2所示的更多或更少的部件,或者组合某些部件。

在本申请实施例中,终端(测试终端或者用户终端)的组成形式与图2中负载均衡器的组成结构相似。当然,终端还可以包括输入单元、显示器以及音频输出单元等等,其中,输入单元可以为如触摸感应单元、键盘等等输入装置。

下面结合本申请的以上共性,对本申请实施例的网站测试方法进行详细介绍。

为了便于理解本申请实施例的方案,下面先对网站测试之前所需的一些配置进行介绍,如,参见图3,其示出了本申请配置负载均衡器以及测试服务器的一种流程示意图,本实施例以通过测试终端向测试服务器中配置所需的产品资源为例进行介绍,本实施例的方法可以包括:

s301,测试终端从源代码库中获取目标网站中所需测试的产品的源代码;

其中,该目标网站为开发出的,或者存在升级的网站。

可以理解的是,开发人员在对网站开发,或者对网站中的部分功能进行技术改进之后,就开发出相应产品的源代码。

其中,该源代码包括:页面以及页面所需的静态资源,如,源代码中包括:超文本标记语言(hypertextmark-uplanguage,html)页面,还可以包括层叠样式表(cascadingstylesheetsjavascript,css)和javascript等静态资源。

s302,测试终端编译该产品的源代码。

s303,测试终端将编译后的源代码存储到测试服务器,得到该编辑后的源代码在该测试服务器中的目标目录;

可以理解的是,为了减少测试终端中缓存空间的占用,均可以采用增量发布的方式,以避免重复浏览器中缓存对相同源代码编译后的代码文本。具体的,每次编译时,可以利用信息摘要算法5(message-digestalgorithm5,md5)对源代码中的资源进行求值,并利用md5求值后的结果作为该编译后的该源代码的文件名,可见,如果源代码的内容相同,利用md5算法对源代码进行求值的结果相同,从而使得编译后的源代码对应的文件名相同,在该种情况下,测试终端可以不在浏览器中重复缓存该编译后的源代码。

其中,该目标目录为测试服务器存储编译后的源代码的地址目录。

在一种可能的实现方式中,在测试终端将编译后的源代码存储到测试服务器之后,还可以将测试服务器存储编译后的源代码的该目标目录发送给负载均衡设备进行存储。

s304,测试终端接收用户为测试该产品的测试环境配置的测试标识,并缓存测试标识与测试环境的映射关系,构建用于选择所需测试的测试环境的选择界面。

其中,测试产品的测试环境用于表征测试该产品所需的至少一个测试服务器。换言之,测试环境中部署了至少一台测试服务器。

其中,当网站中所需测试的功能有多个时,网站可能需要对每种功能对应的产品进行测试,同时,还可能会集成有两种或多种功能的产品进行测试,这样,使得测试的产品也相应有多个,在该种情况下,测试每种产品均需要一种测试环境,而不同测试环境所对应的测试标识不同。

该选择界面可以包括多种用于对不同产品功能进行测试的测试环境的信息。如,选择界面中可以包括:测试环境1、测试环境2、预上线环境等,其中,预上线环境为对升级后的网站进行测试的环境,该预上线环境包括了测试环境1以及测试环境2所需测试的所有产品的功能。

为了使得负载均衡器可以识别不同测试标识所表征的测试环境,在该负载均衡器中同样配置有不同测试标识与测试环境的映射关系,或者是,不同测试标识与测试服务器的映射关系。如,用户或测试人员等可以在负载均衡器中进行配置该映射关系,或者是,用户通过该测试终端将该映射关系发送给负载均衡器中进行存储。

可以理解的是,配置不同测试环境所对应的测试标识仅仅是一种实现方式,考虑到测试环境实际是与测试服务器相对应的,因此,用户也可以直接在测试终端中配置测试标识与测试服务器的映射关系。如,一个测试标识可以对应着至少一台测试服务器,相同测试标识所对应的至少一个测试服务器为测试相同产品的测试服务器。或者是,分别配置待测试的每款测试产品与测试标识之间的映射关系,如,待测试的产品1(具有功能1)对应的测试标识为1;待测试的产品2(具有功能2)对应的测试标识为2。

相应的,当测试终端配置测试服务器与测试标识的映射关系时,选择界面中可以包括可选择测试的每个测试服务器的信息。当测试终端配置产品与测试标识的映射关系,该选择界面中可以包括可选择测试的产品的信息。

当然,每款待测试的产品实际上都对应着一个测试环境,而每个测试环境实际都具有至少一个测试服务器,因此,配置产品、测试服务器或者测试环境与测试标识的映射关系本质都是相同的。

可以理解的是,以上仅仅是为了理解本申请的方案,以一种配置过程为例进行介绍,但是对于通过其他方式将待测试的产品的源代码进行编译后,存储到测试服务器的过程也同样适用于本申请,在此不加以限制。

参见图4,其示出了本申请一种网站测试方法一个实施例的流程示意图,本实施例的方法可以包括:

s401,测试终端展现选择界面,并根据用户在该选择界面中的选择操作,确定当前待测试的测试环境。

其中,当前待测试的测试环境也就是该测试终端所需要访问的测试环境。

如,参见图5,其示出了本申请中用于选择测试环境的选择界面的一种示意图,由图5可知,选择界面中包括了:预上线环境,测试环境m1、测试环境m2以及测试环境m3,用户根据所需测试的产品或者说功能,来选择所需进入的测试环境。例如,测试环境m1为用于目标网站中升级的功能1所对应的产品1进行测试的环境,则用户需要测试该产品1时,则可以选择该测试环境m1;又如,预测试环境为对目标网站中所有升级的产品进行综合测试的环境,如果用户希望测试升级或改进后的网站,则可以选择该预测试环境。

当然,在该选择界面中还可以包括用于进入线上环境的选项,如图5中选择界面中示出的“正式环境”,该线上环境部署有至少一台用于正式运行该目标网站的线上服务器,如果用户选择该线上环境,则表示不进入测试环境,而需要正常访问该目标网站,则可以选择该线上环境的选项,但是该线上环境并不具有与之对应的测试标识。

s402,测试终端依据测试标识与测试环境的映射关系,确定当前待测试的测试环境所对应的测试标识,并在测试终端的浏览器缓存中缓存当前待测试的测试环境所对应的测试标识。

其中,测试标识用于表征所需测试的测试环境,测试标识的具体形式可以根据需要设定,如测试标识可以为数值,也可以为字符串等等。

如,测试环境1对应测试标识m1,测试环境2对应测试标识m2,如果用户选择的测试环境为测试环境2,则确定测试环境2对应的测试标识为m2。

其中,将该测试标识存储到浏览器缓存的目的是可以在该测试终端发起访问请求中,自动将该浏览器缓存中缓存的测试标识携带于该访问请求中。

该浏览器缓存可以有多种可能,如,在一种可能的情况中,可以将该测试标识存储于浏览器缓存记录cookies(也称为cookie)中,cookies为一种浏览器缓存,其为浏览器中缓存的一种小型文本文件。在该种情况下,测试终端在确定出测试环境所对应的测试标识之后,向浏览器的cookies中插入该测试标识。例如,向cookies中插入用于表征该测试环境的一个值。

可以理解的是,将该测试标识存储到浏览器缓存中仅仅是一种可选的实现方式,在实际应用中,也可以不执行该将测试标识存储于该浏览器缓存中,而直接执行后续将该测试标识携带于生成的访问请求中。如,如果用户每次希望通过测试终端访问不同的测试环境,则无需执行将测试标识存储于该浏览器缓存中的操作。

当然,本申请实施例是展现用于选择的测试环境的选择界面为例进行说明,但是如果展现用于选择所需测试的产品(或者测试服务器)的选择界面也同样适用于本申请实施例,其过程相似。如,以用于选择所需测试的产品为例,测试终端可以根据用户在该选择界面中的选择操作,确定当前待测试的目标产品;并依据测试标识与测试产品的映射关系,确定当前待测试的目标产品所对应的测试标识,从而在浏览器缓存中缓存该目标产品所对应的测试标识。

s403,测试终端从浏览器缓存中获取缓存的测试标识,并生成携带有目标网站的网站域名以及该浏览器缓存中缓存的测试标识的访问请求。

如,测试终端获取存储有该测试标识的cookies记录,并生成携带有该cookies记录的访问请求。

需要说明的是,该测试终端所需要访问的测试环境不发生变化的情况下,该测试终端可以直接从该浏览器缓存中获取该测试环境的测试标识,从而无需每次都执行以上步骤s401和s402。如,测试终端在测试访问某个测试环境时,在浏览器缓存中缓存了该测试环境的测试标识,则该测试终端再次访问该测试环境时,则可以直接从浏览器缓存中获取该测试标识,则无需用户重新选择测试环境,并由测试终端向浏览器缓存中重新插入该测试标识。

s404,测试终端将携带有目标网站的网站域名以及该测试标识的访问请求发送给目标网站的负载均衡器。

s405,用户终端将携带有目标网站的网站域名的访问请求发送给负载均衡器。

为了便于与用于对目标网站进行测试的测试终端进行区分,本申请实施例中将访问已经发布的该目标网站的普通用户的终端称为用户终端。

与测试终端不同,该用户终端发送的访问请求中仅仅携带有用于标识该目标网站的网站域名,而并未携带用于表征需要访问测试环境的测试标识。

可以理解的是,该步骤s404和步骤s405的顺序并不限于图4所示,在实际应用中,用户终端与测试终端可以同时向负载均衡器发送各自的访问请求,图4仅仅是为了便于说明,而采用步骤流程的形式对这两种终端向负载均衡器发送访问请求的情况进行介绍。

s406,负载均衡器检测接收到的访问请求中是否携带有测试标识,如果是,则执行步骤s407;如果否,则执行步骤s410;

s407,负载均衡器根据存储的测试标识与测试环境的映射关系,从该目标网站对应的至少一个测试环境中,确定出测试标识所指向的目标测试环境;

其中,每个测试环境均部署有至少一台测试服务器,且不同的测试环境用于测试该目标网站中不同的待测试产品。其中,测试服务器用于对目标网站中升级或改进的产品进行测试。

为了便于区分,将该测试标识所指向的测试环境称为目标测试环境。

可以理解的是,在访问请求携带有测试标识的情况下,则说明发送该访问请求的终端为测试终端,且访问请求用于请求访问用于待测试产品进行测试的测试环境。

s408,负载均衡器从该目标测试环境所部署的至少一台测试服务器中,选择出一台用于处理该访问请求的目标测试服务器;

其中,目标测试环境可以仅仅部署一台测试服务器,也可以部署多台测试服务器,该目标测试环境中各台测试服务器均为对目标网站中相同产品进行测试的服务器,在该目标测试环境中部署多台测试服务器的目的仅仅是为了提高测试的可靠性。

当然,考虑到测试过程中,访问测试服务器的测试终端的数量有限,在每个测试环境中可以仅仅不是一台测试服务器。在该种情况下,则无需执行该步骤s408,则直接将访问请求转发给目标测试环境中的测试服务器即可。

s409,负载均衡器将接收到的该访问请求转发给该目标测试服务器。

需要说明的是,以上步骤s407至s409是以依据预置的测试标识与测试环境的映射关系,来确定处理访问请求的目标测试服务器为例进行说明,但是可以理解的是,在负载均衡器中预置测试标识与测试服务器的映射关系的情况下,负载均衡器也可以从该目标网站对应的至少一个测试服务器中,确定出该测试标识所指向的测试服务器,并将访问请求转发给测试服务器。其中,该目标网站对应的至少一个测试服务器为用于对目标网站中改进或升级的产品进行测试的至少一个测试服务器,且不同测试标识所指向的测试服务器所需测试的产品不同。

进一步的,依据以上映射关系,确定测试标识所指向的测试服务器仅仅是一种实现方式,对于其他确定测试标识所指向的测试服务器的方式也同样适用于本申请实施例。如,如果所需测试的产品仅仅有一种,即测试环境为一种的情况下,该测试标识可以用于标识该测试环境,因此,如果该负载均衡器接收到携带有该测试标识的访问请求,则可以直接将该访问请求发送给该测试环境中的测试服务器。

s410,负载均衡器将接收到的访问请求转发给用于运行该目标网站的线上服务器。

其中,该线上服务器为运行该目标网站的服务器,即目标网站正式发布后,运行发布后的该目标网站的服务器。

在负载均衡器确定出该访问请求中未携带有测试标识的情况下,则说明该访问请求为用于访问线上服务器的普通访问请求,从而直接将该访问请求转发给线上服务器。

当然,在负载均衡器接收访问请求之后,同样需要对部署有线上服务器的线上环境进行配置,配置线上服务器时,可以将该目标网站相关的资源数据配置到线上服务器,并进行其他配置,具体与常规的线上服务器的配置过程相似,在此不再赘述。

可见,在本申请实施例中,运行发布后的网站的线上环境,与用于对该开发或升级后的该网站进行测试的测试环境具有同一个入口,即具有相同的域名,同时,线上环境与测试环境共享负载均衡器,负载均衡器根据终端访问请求中是否携带测试标识,可以将该访问请求转发到测试环境的测试服务器或者线上环境的线上服务器,这样,无需单独为测试环境分配单独的域名,避免了分配域名以及域名相关的配置操作,降低了部署测试环境的复杂度。

同时,由于目标网站中一些功能(比如,支付功能、分享功能等等)是与域名绑定到一起的,如果采用现有的单独为测试环境配置一个独立的域名,则可能导致这部分需要与域名绑定的功能被测试,而本申请的方案中,由于测试环境与线上环境采用相同的域名,可以避免与域名绑定的一些功能无法被测试的问题。

另外,在本申请的方案中,测试终端仅仅需要简单的配置,而无需修改测试终端中域名所对应的主机,从而避免了获取测试终端的root权限,进而降低了由于获取root权限而导致的测试终端出现的一系列安全风险。

下面对本发明实施例提供的一种网站测试装置进行介绍,下文描述的一种应用测试装置可与上文描述的一种网站测试方法相互对应参照。

如图6,其示出了本申请一种网站测试装置一个实施例的组成结构示意图,本实施例的装置可以包括:

请求接收单元601,用于接收终端发送的携带有网站域名的访问请求,所述网站域名用于标识目标网站;

第一调度单元602,用于在确定出所述访问请求中携带有测试标识的情况下,将所述访问请求发送给所述测试标识所指向的测试服务器,所述测试服务器用于对所述目标网站中升级或改进的产品进行测试;

第二调度单元603,用于在确定出所述访问请求中未携带有测试标识的情况下,将所述访问请求转发给用于运行所述目标网站的线上服务器。

可选的,所述第一调度单元,包括:

测试目标确定单元,用于在确定出所述访问请求中携带有测试标识的情况下,依据预置的测试标识与测试服务器的映射关系,从所述目标网站对应的至少一个测试服务器中,确定出所述测试标识所指向的测试服务器

测试处理单元,用于将所述访问请求发送给所述测试标识所指向的测试服务器。

可选的,所述测试目标确定单元,包括:

环境确定子单元,用于在确定出所述访问请求中携带有测试标识的情况下,依据预置的测试标识与测试环境的映射关系,从所述目标网站对应的至少一个测试环境中,确定出所述测试标识所指向的目标测试环境,所述测试环境部署有至少一台测试服务器,且不同的测试环境用于测试所述目标网站中不同的待测试产品;

目标确定子单元,用于从所述目标测试环境所部署的至少一台测试服务器中,选择出一台目标测试服务器作为待处理所述访问请求的测试服务器。

可选的,所述装置还包括:

标识识别单元,用于在检测到所述访问请求中携带有浏览器缓存记录cookies,且所述cookies中包括用于表征所需访问的测试服务器的测试标识时,确定所述访问请求中携带有测试标识,其中,所述cookies记录中的测试标识为:所述终端在确定出所需测试的目标产品之后,将部署有所述目标产品的测试服务器的测试标识插入到所述cookies中的;或者,所述终端当前时刻之前访问所述测试服务器时生成的。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1