CN110795343B - 测试系统、测试方法和计算设备 - Google Patents
测试系统、测试方法和计算设备 Download PDFInfo
- Publication number
- CN110795343B CN110795343B CN201910969959.9A CN201910969959A CN110795343B CN 110795343 B CN110795343 B CN 110795343B CN 201910969959 A CN201910969959 A CN 201910969959A CN 110795343 B CN110795343 B CN 110795343B
- Authority
- CN
- China
- Prior art keywords
- test
- tested
- server
- domain name
- service
- 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.)
- Active
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 376
- 238000010998 test method Methods 0.000 title claims description 17
- 230000000977 initiatory effect Effects 0.000 claims abstract description 29
- 238000000034 method Methods 0.000 claims description 34
- 230000000694 effects Effects 0.000 claims description 11
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000013522 software testing Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007723 transport mechanism Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种测试系统,包括:提供多种待测试服务的测试服务器集群,每种待测试服务具有一个或者多个相应版本,所述集群为每个版本的待测试服务提供相应的测试服务器;代理服务器,适于存储一个或者多个测试场景配置信息,每个测试场景配置信息指示每种待测试服务的域名、每种待测试服务的相应版本和对应的测试服务器,并为每种待测试服务的域名分配对应测试服务器的IP地址;代理服务器适于在接收到客户端的测试发起请求时,确定测试发起请求所对应的测试场景,获取与测试场景相对应的测试场景配置信息,进行域名解析。本发明还一并公开了相应的测试方法。本发明的测试系统,能在尽可能不增加硬件成本的情况下满足多种测试需求。
Description
技术领域
本发明涉及软件测试技术领域,特别涉及一种测试系统、测试方法和计算设备。
背景技术
在软件测试领域,软件测试环境管理的独立性和稳定性,直接影响软件测试工作的效率。目前,由于软件测试环境的管理既要考虑到实用性,又要考虑到经济成本,因此,在搭建软件测试环境时,通常不能兼具其独立性和稳定性。
现有技术中,针对软件测试测试环境有两种管理方案:第一种是多用户方共用一套软件测试环境,多用户方包括测试人员、开发人员、产品人员,这种方案的弊端在于,多用户方对软件测试环境的配置需求不一致,导致只能满足部分人员的测试需求。第二种是根据多用户方的业务需求搭建同时多套软件测试环境,但这种方案,不仅会成倍的增加硬件资源,而且,多套软件测试环境的版本更新不能及时进行,对测试环境的维护造成较大麻烦。
多用户方共用一套软件测试环境,主要用于那些对软件测试环境需求很少有冲突的团队;同时搭建多套测试环境,主要用于那些对软件测试环境管理比较严格,而愿意忽略硬件成本的团队。
为此,需要一种的测试系统,能在尽可能不增加硬件成本的情况下满足多种软件测试需求。
发明内容
为此,本发明提供一种新的测试系统和测试方法,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供了一种测试系统,包括:测试服务器集群,所述测试服务器集群提供多种待测试服务,每种待测试服务具有一个或者多个相应版本,所述集群为每个版本的待测试服务提供相应的测试服务器;代理服务器,适于存储一个或者多个测试场景配置信息,每个测试场景配置信息指示每种待测试服务的域名、每种待测试服务的相应版本和对应的测试服务器,并为每种待测试服务的域名分配所述对应测试服务器的IP地址;其中所述代理服务器适于在接收到客户端的测试发起请求时,确定所述测试发起请求所对应的测试场景,获取与所述测试场景相对应的测试场景配置信息,并根据该测试场景配置信息进行域名解析,以便将每种待测试服务的域名分配给对应测试服务器的IP,并在域名解析生效之后,将与测试场景配置信息中的每种待测试服务的域名相对应的测试服务器IP地址返回给所述客户端,以便所述客户端进行后续测试。
可选地,在根据本发明的测试系统中,所述代理服务器包括DNS服务端,所述客户端包括与所述DNS服务端相对应的DNS客户端,所述代理服务器适于在接收到所述测试发起请求之后,利用所述DNS服务端将每种待测试服务的域名解析为对应测试服务器的IP,并将所述生效后的解析结果发送到所述DNS客户端,以便所述客户端获得与每种待测试服务的域名相对应的测试服务器IP地址。
可选地,在根据本发明的测试系统中,所述测试服务器适于在提供对应待测试服务时调用不同于所述对应待测试服务的其它待测试服务;以及所述测试服务器包括所述DNS客户端,并适于在所述域名解析生效后,获取与所述其它待测试服务的域名相对应的测试服务器IP地址。
可选地,在根据本发明的测试系统中,所述代理服务器进一步适于:在域名解析生效失败后,接收客户端等待预定时间后再次发送的测试发起请求,直至域名解析生效成功。
可选地,在根据本发明的测试系统中,所述测试场景配置信息包括缺省配置信息;所述代理服务器还适于接收客户端在测试完成之后发送的测试完成请求,并根据所述缺省配置信息将每种待测试服务的域名设置为缺省配置。
可选地,在根据本发明的测试系统中,所述代理服务器在接收客户端的测试完成请求之后,进一步适于:判断是否有其他客户端正在使用所述测试场景配置信息;如果没有,则将所述域名设置为缺省配置;以及如果有,则等待接收该客户端发送的测试完成请求。
根据本发明的一个方面,提供了一种测试方法,在代理服务器中执行,并由测试服务器集群完成测试;所述测试服务器集群提供多种待测试服务,每种待测试服务具有一个或者多个相应版本,所述集群为每个版本的待测试服务提供相应的测试服务器;所述代理服务器存储有一个或者多个测试场景配置信息,每个测试场景配置信息指示每种待测试服务的域名、每种待测试服务的相应版本和对应的测试服务器,并为每种待测试服务的域名分配所述对应测试服务器的IP地址;其中,所述方法包括步骤:接收客户端的测试发起请求,确定所述测试发起请求所对应的测试场景;获取与所述测试场景相对应的测试场景配置信息,并根据该测试场景配置信息进行域名解析,以便将每种待测试服务的域名分配给对应测试服务器的IP;以及在域名解析生效之后,将与所述测试场景配置信息中的每种待测试服务的域名相对应的测试服务器的IP地址返回给所述客户端,以便所述客户端进行后续测试。
可选地,在根据本发明的软件测试方法中,所述代理服务器包括DNS服务端,所述客户端包括与所述DNS服务端相对应的DNS客户端;其中,在接收到所述测试发起请求之后,包括步骤:利用所述DNS服务端将每种待测试服务的域名解析为对应测试服务器的IP;将所述生效后的解析结果发送到所述DNS客户端,以便所述客户端获得与每种待测试服务的域名相对应的测试服务器IP地址。
可选地,在根据本发明的软件测试方法中,还包括步骤:如果域名解析生效失败,则接收客户端等待预定时间后再次发送的测试发起请求,直至域名解析生效成功。
可选地,在根据本发明的软件测试方法中,所述测试场景配置信息包括缺省配置信息,所述方法还包括步骤:接收客户端在测试完成之后发送的测试完成请求,并根据所述缺省配置信息将每种待测试服务的域名设置为缺省配置。
可选地,在根据本发明的软件测试方法中,所述将每种待测试服务的域名设置为缺省配置的步骤包括:判断是否有其他客户端正在使用所述测试场景配置信息;如果没有,则将所述域名设置为缺省配置;以及如果有,则等待接收该客户端发送的测试完成请求后将所述域名设置为缺省配置。
根据本发明的一个方面,提供了一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如上所述的测试方法的指令。
根据本发明的一个方面,提供了一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如上所述的测试方法。
根据本发明的技术方案,测试服务器集群可提供多种待测试服务,每种待测试服务具有一个或者多个相应版本,每种待测试服务的相应版本之间可以相互组合来搭建出针对不同测试场景的测试环境。根据客户端的测试发起请求,通过获取相应的测试场景配置信息进行域名解析,来指示客户端完成相应的测试服务。这样,本发明的测试系统在不增加硬件资源的情况下,能配置出适配不同测试场景的多种测试环境,从而不仅能满足多个客户端的不同测试需求,而且,成本较低。可见,本发明充分考虑了用户的不同测试需求以及硬件成本。
进一步地,本发明在每次测试完成后将域名设置为缺省配置,从而保证其他客户端基于不同的测试场景发起新的测试请求。这样,在不同的时间段内,本发明的测试系统可以针对多个客户端基于不同测试场景发起的测试请求,获取相应的测试场景配置信息,来指示客户端在相应的测试服务器进行测试服务,从而能满足多种测试需求。
此外,采用本发明的测试系统进行软件测试,不需要侵入现有业务代码,也不用改变现有的系统架构,只需修改代理服务器的配置信息即可。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的测试系统100的示意图;
图2示出了根据本发明一个实施例的计算设备200的示意图;以及
图3示出了根据本发明一个实施例的测试方法300的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的软件测试系统100的示意图。如图1所示,软件测试系统100包括代理服务器200、测试服务集群150以及一个或多个客户端110。
客户端110即用户所使用的终端设备,其具体可以是桌面电脑、笔记本电脑等个人计算机,也可以是手机、平板电脑、多媒体设备、智能可穿戴设备等,但不限于此。
代理服务器200用于向客户端110和测试服务集群150提供DNS服务,其可以实现为DNS服务器,也可以实现为桌面电脑、笔记本电脑、处理器芯片、手机、平板电脑等计算设备,但不限于此。
在本发明的实施例中,测试服务器集群300可提供多种待测试服务,每种待测试服务具有一个或者多个相应版本,而且,测试服务器集群300为每种待测试服务中的每个版本的待测试服务分别提供了相应的测试服务器。换言之,每种待测试服务中的每个版本的待测试服务分别对应一个测试服务器,每种待测试服务是由一个或多个测试服务器来提供的。
在一个实施例中,如图1所示,测试服务器集群300提供了3种待测试服务,分别为待测试服务A、待测试服务B、待测试服务C。应当指出,本发明不限于图1所示出的以上三种待测试服务,在其它实施例中,测试服务集群150还可以包括其他种类的待测试服务。本发明对测试服务集群150中待测试服务的数量、以及每种待测试服务所提供的具体测试服务种类均不做具体限制。
在一个实施例中,如图1所示,待测试服务A例如包括a1版本、a2版本和a3版本,分别对应测试服务器a1、测试服务器a2以及测试服务器a3。待测试服务B包括b1版本、b2版本和b3版本,分别对应测试服务器b1、测试服务器b2以及测试服务器b3。待测试服务C包括c1版本、c2版本和c3版本,分别对应测试服务器c1、测试服务器c2以及测试服务器c3。应当指出,本发明不限于上述每种待测试服务所包括的版本及对应的测试服务器的具体设置。
应当指出,每种待测试服务的各个版本所对应的测试服务器可以是物理机,也可以是虚拟机。本发明对每种待测试服务的各个版本所对应的测试服务器的具体配置不做限制。应当理解,一台物理机上可以提供一个或者多个版本的待测试服务。换言之,不同待测试服务的各个版本的测试服务器可以驻留在同一台物理机上从而具有相同的IP地址,也可以驻留在不同的物理机上具有不同的IP地址。例如,a1版本、b2版本所对应的测试服务器可以驻留在同一台物理机上,这样测试服务器a1、测试服务器b2所对应的IP地址相同。
在本发明的实施例中,代理服务器200预先存储了一个或者多个测试场景配置信息,每个测试场景配置信息指示每种待测试服务的域名、每种待测试服务的相应版本和对应的测试服务器,并为每种待测试服务的域名分配对应测试服务器的IP地址。需要说明的是,由于每种待测试服务是由一个或多个测试服务器来分别提供不同版本的待测试服务,因此,每种待测试服务的域名并不是仅对应唯一的IP地址,需要在确定每种待测试服务的相应版本后,根据每种待测试服务的域名及相应版本来确定每种待测试服务中对应的测试服务器的IP,而每种待测试服务的相应版本实际上是根据客户端110的测试场景来确定的。具体而言,代理服务器200预先存储的一个或者多个测试场景配置信息,正是考虑客户端的多种测试场景,并针对每种测试场景分别配置相应的测试场景配置信息。这样,代理服务器200通过根据客户端110的测试场景选取相应的测试场景配置信息,并根据选取的测试场景配置信息对每种待测试服务的域名进行解析,便能确定每种待测试服务的域名所对应的唯一的测试服务器的IP地址。
进一步地,代理服务器200在接收到客户端110的测试发起请求时,确定该测试发起请求所对应的测试场景,并从预先存储的一个或者多个测试场景配置信息中获取与该测试场景相对应的测试场景配置信息,进而,根据该测试场景配置信息对每种待测试服务的域名进行域名解析,并根据域名解析结果,将每种待测试服务的域名分配给对应的测试服务器的IP。这样,在对客户端110的测试过程中,基于客户端110的测试场景,使多种待测试服务能由各自对应的测试服务器进行通信,以便对客户端110依次进行不同类别的测试服务,顺利完成整个测试流程。
在本发明的实施例中,代理服务器200包括DNS服务端,客户端110包括与DNS服务端相对应的DNS客户端。代理服务器200在接收客户端110的测试发起请求、并获取对应的测试场景配置信息之后,利用DNS服务端将每种待测试服务的域名解析为对应测试服务器的IP。进而,设置域名解析生效,并在域名解析生效之后,将生效后的解析结果发送到客户端110的DNS客户端,由客户端110的DNS客户端获取与测试场景配置信息中的每种待测试服务的域名相对应的测试服务器IP地址。这样,客户端110根据获取的与每种待测试服务的域名相对应的测试服务器的IP地址进行后续测试。
进一步地,测试服务器也包括与DNS服务端相对应的DNS客户端。在域名解析生效后,测试服务器通过DNS客户端获取与其它待测试服务的域名相对应的测试服务器的IP地址。这样,测试服务器在提供对应待测试服务时,可通过与其它待测试服务的域名相对应的测试服务器IP地址调用不同于对应待测试服务的其它待测试服务。
例如,在一个实施例中,代理服务器200获取的与客户端110测试场景相对应的测试场景配置信息为[A-a1,B-b3,C-c2],即表示在本次域名解析中,待测试服务A指向测试服务器a1,待测试服务B指向测试服务器b3,待测试服务C指向测试服务器c2。也就是说,对待测试服务A进行域名解析后得到的是测试服务器a1的IP地址,对待测试服务B进行域名解析后得到的是测试服务器b3的IP地址,对待测试服务C进行域名解析后得到的是测试服务器c2的IP地址。进而,在域名解析生效之后,将测试服务器a1、测试服务器b3、测试服务器c2的IP地址返回给客户端110,并且,将测试服务器b3、测试服务器c2的IP地址发送给测试服务器a1,将测试服务器a1、测试服务器c2的IP地址发送给测试服务器b3,将测试服务器a1、测试服务器b3的IP地址发送给测试服务器c2,这样,客户端110基于获取的上述IP地址向相应的测试服务器请求测试,而且,测试服务器a1、测试服务器b3、测试服务器c2之间可基于IP地址进行通信,以便调用不同于各自的对应待测试服务的其它待测试服务。
另外,在根据本发明的实施例中,如果多个测试场景配置信息中有其他任意一个测试场景配置信息正在被使用,即是代理服务器200已接收其他客户端110基于不同的测试场景的测试发起请求,并获取了其他的测试场景配置信息在进行域名解析时,会导致本次域名解析生效失败。如果域名解析生效失败,则客户端110会在等待预定时间后再次向代理服务器200发送测试发起请求,直至代理服务器200对域名解析生效成功为止。
应当理解,在同一时间段内,代理服务器200只能基于一个测试场景配置信息进行域名解析,从而,本发明的测试系统100在同一时间段内只能对一种测试场景的客户端110进行软件测试,保证测试环境的稳定性。而在不同的时间段内,基于不同客户端110的不同测试场景,可以选择每种待测试服务的不同版本进行相互组合,从而可以配置适用于多种测试场景的测试环境。
根据一个实施例,代理服务器200中的测试场景配置信息还包括缺省配置信息。根据缺省配置信息可以将每种待测试服务的域名映射到缺省状态时对应的测试服务器的IP地址。
客户端110在测试完成之后,还向代理服务器200发送测试完成请求,代理服务器200在接收到客户端110的测试完成请求之后,根据缺省配置信息将每种待测试服务的域名设置为缺省配置,即是将每种待测试服务的域名映射到缺省状态所对应的测试服务器的IP地址,以使本次域名解析配置失效。具体地,代理服务器200在接收客户端的测试完成请求之后,判断是否有其他客户端正在使用本次的测试场景配置信息;如果没有,则直接将域名设置为缺省配置;如果有,则等待接收其他客户端发送的测试完成请求,直至确定没有客户端正在使用本次的测试场景配置信息之后,再将域名设置为缺省配置。
应当指出,本发明在每次测试完成后将域名设置为缺省配置,从而保证其他客户端基于不同的测试场景发起新的测试请求。这样,在不同的时间段内,本发明的测试系统100可以针对多个客户端基于不同测试场景发起的测试请求,获取不同的测试场景配置信息,来指示客户端在相应的测试服务器进行相应的测试服务,从而满足多种测试需求。
在一个实施例中,本发明的代理服务器200可以实现为一种计算设备,使得本发明的软件测试方法可以在计算设备中执行。图2示出了根据本发明一个实施例的计算设备200的结构图。如图2所示,在基本的配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统220、一个或者多个应用222以及程序数据224。应用222实际上是多条程序指令,其用于指示处理器204执行相应的操作。在一些实施方式中,应用222可以布置为在操作系统上使得处理器204利用程序数据224进行操作。
计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
在根据本发明的计算设备200中,驻留有适于执行本发明的测试方法300的多条程序指令,这些程序指令可以指示处理器104执行测试方法300,以便计算设备200通过执行测试方法300来进行测试管理。
图3示出了根据本发明一个实施例的测试方法300的流程图。方法300适于在计算设备(例如前述计算设备200)中执行。
根据一个实施例,测试方法300在代理服务器200中执行,并由测试服务器集群150完成测试。测试服务器集群150提供多种待测试服务,每种待测试服务具有一个或者多个相应版本,测试服务器集群150为每个版本的待测试服务提供相应的测试服务器。代理服务器200预先存储有一个或者多个测试场景配置信息,每个测试场景配置信息指示每种待测试服务的域名、每种待测试服务的相应版本和对应的测试服务器,并为每种待测试服务的域名分配对应测试服务器的IP地址。
如图3所示,测试方法300始于步骤S310。在步骤S310中,接收客户端110的测试发起请求,确定该测试发起请求所对应的测试场景。
随后,在步骤S320中,从预先存储的一个或者多个测试场景配置信息中获取与客户端110的测试场景相对应的测试场景配置信息,并根据该测试场景配置信息对每种待测试服务的域名进行域名解析,以便将每种待测试服务的域名分配给对应测试服务器的IP。这样,在对客户端110的测试过程中,基于客户端110的测试场景进行域名解析,使多种待测试服务能由各自对应的、确定的测试服务器之间进行通信,从而能对客户端110依次进行不同类别的测试服务,顺利完成整个测试流程。
根据一个实施例,代理服务器200包括DNS服务端,客户端110包括与DNS服务端相对应的DNS客户端。代理服务器200在接收客户端110的测试发起请求、并获取对应的测试场景配置信息之后,利用DNS服务端将每种待测试服务的域名解析为对应测试服务器的IP。进而,设置域名解析生效。
随后,在步骤S330中,在域名解析生效之后,将生效后的解析结果发送到客户端110的DNS客户端,即是将与上述测试场景配置信息中的每种待测试服务的域名相对应的测试服务器的IP地址返回给客户端,以便客户端110根据获取的与每种待测试服务的域名相对应的测试服务器的IP地址进行后续测试。
根据一个实施例,测试服务器也包括与DNS服务端相对应的DNS客户端。在域名解析生效后,测试服务器通过DNS客户端获取与其它待测试服务的域名相对应的测试服务器的IP地址。这样,测试服务器在提供对应待测试服务时,可通过与其它待测试服务的域名相对应的测试服务器IP地址调用不同于对应待测试服务的其它待测试服务。
例如,在一个实施例中,代理服务器200获取的与客户端110测试场景相对应的测试场景配置信息为[A-a1,B-b3,C-c2],即表示在本次域名解析中,待测试服务A指向测试服务器a1,待测试服务B指向测试服务器b3,待测试服务C指向测试服务器c2。也就是说,对待测试服务A进行域名解析后得到的是测试服务器a1的IP地址。进而,在域名解析生效之后,将测试服务器a1、测试服务器b3、测试服务器c2的IP地址返回给客户端110,并且,将测试服务器b3、测试服务器c2的IP地址发送给测试服务器a1,将测试服务器a1、测试服务器c2的IP地址发送给测试服务器b3,将测试服务器a1、测试服务器b3的IP地址发送给测试服务器c2,这样,客户端110基于获取的上述IP地址向相应的测试服务器请求测试,而且,测试服务器a1、测试服务器b3、测试服务器c2之间可基于IP地址进行通信,以便调用不同于各自的对应待测试服务的其它待测试服务。
另外,如果多个测试场景配置信息中有其他任意一个测试场景配置信息正在被使用,即是代理服务器200已接收其他客户端110基于不同的测试场景的测试发起请求,并获取了其他的测试场景配置信息正在进行域名解析时,会导致本次域名解析生效失败。如果域名解析生效失败,则客户端110会在等待预定时间后再次向代理服务器200发送测试发起请求。
代理服务器200在接收到客户端110等待预定时间后再次发送的测试发起请求后,再次设置基于相应的测试场景配置信息的域名解析生效,直至代理服务器200对域名解析生效成功为止。应当理解,在同一时间段内,代理服务器200只能基于一个测试场景配置信息进行域名解析,从而,本发明的测试系统100在同一时间段内只能对一种测试场景的客户端110进行软件测试,保证测试环境的稳定性。
根据一个实施例,客户端110在测试完成之后,还向代理服务器200发送测试完成请求。应当指出,代理服务器200中的测试场景配置信息还包括缺省配置信息。代理服务器200在接收客户端的测试完成请求之后,根据缺省配置信息将每种待测试服务的域名设置为缺省配置,即是将每种待测试服务的域名映射到缺省状态所对应的测试服务器的IP地址,以使本次域名解析配置失效。
其中,将每种待测试服务的域名设置为缺省配置的步骤进一步包括:判断是否有其他客户端正在使用本次的测试场景配置信息;如果没有,则直接将域名设置为缺省配置;如果有,则等待接收其他客户端发送的测试完成请求,直至确定没有客户端正在使用本次的测试场景配置信息之后,再将域名设置为缺省配置。
应当指出,本发明通过在每次测试完成后将域名设置为缺省配置,从而保证其他客户端基于不同的测试场景发起新的测试请求。这样,在不同的时间段内,本发明的测试方法300可以针对多个客户端基于不同测试场景发起的测试请求,获取不同的测试场景配置信息,来指示客户端在相应的测试服务器进行相应的测试服务,从而满足多种测试需求。
B9、如B7-B8任一项所述的测试方法,其中,还包括步骤:如果域名解析生效失败,则接收客户端等待预定时间后再次发送的测试发起请求,直至域名解析生效成功。
B10、如B7-B9任一项所述的测试方法,其中,所述测试场景配置信息包括缺省配置信息,所述方法还包括步骤:接收客户端在测试完成之后发送的测试完成请求,并根据所述缺省配置信息将每种待测试服务的域名设置为缺省配置。
B11、如B10所述的测试方法,其中,所述将每种待测试服务的域名设置为缺省配置的步骤包括:判断是否有其他客户端正在使用所述测试场景配置信息;如果没有,则将所述域名设置为缺省配置;以及如果有,则等待接收该客户端发送的测试完成请求后将所述域名设置为缺省配置。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的多语言垃圾文本的识别方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (11)
1.一种测试系统,包括:
测试服务器集群,所述测试服务器集群提供多种待测试服务,每种待测试服务具有一个或者多个相应版本,所述集群为每个版本的待测试服务提供相应的测试服务器;
代理服务器,适于存储一个或者多个测试场景配置信息,每个测试场景配置信息指示每种待测试服务的域名、每种待测试服务的相应版本和对应的测试服务器,并为每种待测试服务的域名分配所述对应测试服务器的IP地址,其中,所述代理服务器包括DNS服务端;
其中所述代理服务器适于在接收到客户端的测试发起请求时,确定所述测试发起请求所对应的测试场景,获取与所述测试场景相对应的测试场景配置信息,利用所述DNS服务端将每种待测试服务的域名解析为对应测试服务器的IP,以便将每种待测试服务的域名分配给对应测试服务器的IP,其中,所述客户端包括与所述DNS服务端相对应的DNS客户端,在域名解析生效之后,将所述生效后的解析结果发送到所述DNS客户端,使所述客户端获得与每种待测试服务的域名相对应的测试服务器IP地址,以便所述客户端基于获取的所述IP地址向对应的测试服务器请求测试。
2.如权利要求1所述的测试系统,其中:
所述测试服务器适于在提供对应待测试服务时调用不同于所述对应待测试服务的其它待测试服务;以及
所述测试服务器包括所述DNS客户端,并适于在所述域名解析生效后,获取与所述其它待测试服务的域名相对应的测试服务器IP地址。
3.如权利要求1或2所述的测试系统,其中,
所述代理服务器进一步适于:在域名解析生效失败后,接收客户端等待预定时间后再次发送的测试发起请求,直至域名解析生效成功。
4.如权利要求1或2所述的测试系统,其中:
所述测试场景配置信息包括缺省配置信息;
所述代理服务器还适于接收客户端在测试完成之后发送的测试完成请求,并根据所述缺省配置信息将每种待测试服务的域名设置为缺省配置。
5.如权利要求4所述的测试系统,其中,所述代理服务器在接收客户端的测试完成请求之后,进一步适于:
判断是否有其他客户端正在使用所述测试场景配置信息;
如果没有,则将所述域名设置为缺省配置;以及
如果有,则等待接收该客户端发送的测试完成请求。
6.一种测试方法,在代理服务器中执行,并由测试服务器集群完成测试,;所述测试服务器集群提供多种待测试服务,每种待测试服务具有一个或者多个相应版本,所述集群为每个版本的待测试服务提供相应的测试服务器;所述代理服务器存储有一个或者多个测试场景配置信息,每个测试场景配置信息指示每种待测试服务的域名、每种待测试服务的相应版本和对应的测试服务器,并为每种待测试服务的域名分配所述对应测试服务器的IP地址,其中,所述代理服务器包括DNS服务端;其中,所述方法包括步骤:
接收客户端的测试发起请求,确定所述测试发起请求所对应的测试场景,其中,所述客户端包括与所述DNS服务端相对应的DNS客户端;
获取与所述测试场景相对应的测试场景配置信息,利用所述DNS服务端将每种待测试服务的域名解析为对应测试服务器的I P以便将每种待测试服务的域名分配给对应测试服务器的IP;以及
在域名解析生效之后,将所述生效后的解析结果发送到所述DNS客户端,使所述客户端获得与每种待测试服务的域名相对应的测试服务器IP地址,,以便所述客户端基于获取的所述IP地址向对应的测试服务器请求测试。
7.如权利要求6所述的测试方法,其中,还包括步骤:
如果域名解析生效失败,则接收客户端等待预定时间后再次发送的测试发起请求,直至域名解析生效成功。
8.如权利要求6或7所述的测试方法,其中,所述测试场景配置信息包括缺省配置信息,所述方法还包括步骤:
接收客户端在测试完成之后发送的测试完成请求,并根据所述缺省配置信息将每种待测试服务的域名设置为缺省配置。
9.如权利要求8所述的测试方法,其中,所述将每种待测试服务的域名设置为缺省配置的步骤包括:
判断是否有其他客户端正在使用所述测试场景配置信息;
如果没有,则将所述域名设置为缺省配置;以及
如果有,则等待接收该客户端发送的测试完成请求后将所述域名设置为缺省配置。
10.一种计算设备,包括:
至少一个处理器;和
存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求6-9中任一项所述测试方法的指令。
11.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求6-9中任一项所述的测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910969959.9A CN110795343B (zh) | 2019-10-12 | 2019-10-12 | 测试系统、测试方法和计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910969959.9A CN110795343B (zh) | 2019-10-12 | 2019-10-12 | 测试系统、测试方法和计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110795343A CN110795343A (zh) | 2020-02-14 |
CN110795343B true CN110795343B (zh) | 2024-03-15 |
Family
ID=69439075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910969959.9A Active CN110795343B (zh) | 2019-10-12 | 2019-10-12 | 测试系统、测试方法和计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110795343B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813683B (zh) * | 2020-07-14 | 2023-10-03 | 深圳前海移联科技有限公司 | 一种通用的软件测试环境自动同步方法 |
CN112214366B (zh) * | 2020-09-24 | 2023-07-28 | 深圳云天励飞技术股份有限公司 | 测试方法、装置、系统、设备及介质 |
CN112559325B (zh) * | 2020-12-02 | 2024-02-23 | 海南车智易通信息技术有限公司 | 一种应用程序测试系统、方法、计算设备及可读存储介质 |
CN113641575B (zh) * | 2021-08-06 | 2024-04-09 | 上海浦东发展银行股份有限公司 | 一种测试方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8407471B1 (en) * | 2010-08-24 | 2013-03-26 | Symantec Corporation | Selecting a network service for communicating with a server |
CN104461856A (zh) * | 2013-09-22 | 2015-03-25 | 阿里巴巴集团控股有限公司 | 基于云计算平台的性能测试方法、装置及系统 |
CN106506281A (zh) * | 2016-11-24 | 2017-03-15 | 深圳市金溢科技股份有限公司 | 车辆收费通信测试方法、网络设备及系统 |
CN108574604A (zh) * | 2017-03-07 | 2018-09-25 | 北京京东尚科信息技术有限公司 | 测试方法和装置 |
CN109542475A (zh) * | 2018-10-22 | 2019-03-29 | 平安科技(深圳)有限公司 | 系统多版本的数据更新方法、装置、存储介质及服务器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10223248B2 (en) * | 2017-05-15 | 2019-03-05 | Bank Of America Corporation | Conducting automated software testing using centralized controller and distributed test host servers |
-
2019
- 2019-10-12 CN CN201910969959.9A patent/CN110795343B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8407471B1 (en) * | 2010-08-24 | 2013-03-26 | Symantec Corporation | Selecting a network service for communicating with a server |
CN104461856A (zh) * | 2013-09-22 | 2015-03-25 | 阿里巴巴集团控股有限公司 | 基于云计算平台的性能测试方法、装置及系统 |
CN106506281A (zh) * | 2016-11-24 | 2017-03-15 | 深圳市金溢科技股份有限公司 | 车辆收费通信测试方法、网络设备及系统 |
CN108574604A (zh) * | 2017-03-07 | 2018-09-25 | 北京京东尚科信息技术有限公司 | 测试方法和装置 |
CN109542475A (zh) * | 2018-10-22 | 2019-03-29 | 平安科技(深圳)有限公司 | 系统多版本的数据更新方法、装置、存储介质及服务器 |
Non-Patent Citations (1)
Title |
---|
柯栋梁 ; 郑啸 ; 秦锋 ; .云服务自动化集成测试研究.系统仿真学报.2013,(第12期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN110795343A (zh) | 2020-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110795343B (zh) | 测试系统、测试方法和计算设备 | |
US11263005B2 (en) | Techniques to deploy an application as a cloud computing service | |
US9785476B2 (en) | Endpoint management system and virtual compute system | |
CN105430108B (zh) | 一种测试环境访问方法及代理服务器 | |
US10187445B2 (en) | System, method and browser client for enabling browser data synchronization | |
US7467295B2 (en) | Determining a boot image based on a requesting client address | |
CN112637346A (zh) | 代理方法、装置、代理服务器及存储介质 | |
US9846586B2 (en) | Creating a virtual machine and cloud server | |
US9823919B2 (en) | Controlled deployment of application feature in mobile environment | |
CN112860479A (zh) | 存储数据的方法及云数据中心 | |
US11843674B2 (en) | Virtual workspace experience visualization and optimization | |
WO2016058488A1 (zh) | 一种用于提供sdk文件的方法与设备 | |
RU2580079C2 (ru) | Инфраструктура активации приложений | |
CN114244717A (zh) | 虚拟网卡资源的配置方法、装置、计算机设备及介质 | |
CN111679837B (zh) | 系统安装控制方法、控制系统及计算设备 | |
CN114189553B (zh) | 一种流量回放方法、系统及计算设备 | |
US10324766B1 (en) | Task profile collection | |
KR20200048633A (ko) | 소프트웨어 자동 테스트 시스템 및 방법 | |
CN111126604B (zh) | 模型训练方法、装置、服务器及存储介质 | |
CN107045452B (zh) | 虚拟机调度方法和装置 | |
US20170171357A1 (en) | Apparatus and method for assisting in downloading file successfully | |
CN112115056A (zh) | 一种项目部署方法和装置、服务器、存储介质 | |
US11876729B2 (en) | Method and system for a proactive assignment of virtual network functions in local data systems | |
KR20200046316A (ko) | 웹 어플리케이션 서버, 사용자 요청 처리 방법 및 통합 요청 처리 방법 | |
CN112637254B (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 |
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 |