一种基于虚拟化的web系统升级测试方法和服务器与流程

文档序号:26101515发布日期:2021-07-30 18:12阅读:76来源:国知局
一种基于虚拟化的web系统升级测试方法和服务器与流程

本发明涉及软件升级技术领域,尤其涉及一种基于虚拟化的web系统升级测试方法和服务器。



背景技术:

随着虚拟化技术的不断发展,虚拟化的web系统版本也越来越成熟,众多软件系统在支持硬件产品的同时,不断发布虚拟化版本。然而,不同的web系统版本依赖性的强弱也不同,例如,一个web系统的版本为6.0.3.0时,由6.0.3.0版本可以升级6.0.3.1版本或者6.0.4.0版本,但不可以升级到其他版本。所以,由于每个使用web系统的用户可能使用的版本不同,那么会导致升级过程中由于用户当前使用的版本无法升级到最新的版本,而导致升级失败。



技术实现要素:

本发明提供一种基于虚拟化的web系统升级测试方法和服务器,用以解决现有技术直接发布新的版本而使得历史版本无法与新的版本兼容而导致升级失败问题。

第一方面,本发明实施例提供的一种基于虚拟化的web系统升级测试方法,包括:

针对虚拟化的web系统的任意一个历史版本,根据所述历史版本的快照信息,将所述虚拟化的web系统由当前版本切换至所述历史版本,并将切换到所述历史版本的所述虚拟化的web系统作为虚拟化的测试web系统;其中,所述历史版本的快照信息是基于虚拟化技术的对所述历史版本一种状态的备份;

利用需要测试的版本的升级包,对所述虚拟化的测试web系统进行升级处理;

通过预设的检测方式对升级后的所述虚拟化的测试web系统进行检测,得到从所述历史版本升级到所述需要测试的版本的升级结果。

上述方法,针对虚拟化的web系统的每个历史版本,会通过虚拟化的web系统的快照功能,对历史版本的虚拟化的web系统进行快照,然后将其运行数据保存下来,在进行测试时,能够根据该保存下来的数据,将虚拟化的web系统的版本切换到历史版本,然后在该历史版本的虚拟化的web系统上进行升级处理,使其升级到需要测试的版本,最后通过检验历史版本是否能够直接升级到需要测试的版本,本发明提供了一种在发布前测试每个历史版本是否能够升级到需要测试的版本,得到升级结果,从而能够对所有升级过程中出现的情况进行提前预警,并且为升级提供依据,有效避免历史版本无法与新的版本兼容而导致升级失败问题,提高了升级成功的概率。

在一种可能的实现方式中,预设的升级方式有多种;所述利用需要测试的版本的升级包,对所述虚拟化的测试web系统进行升级处理,包括:

针对任意一种升级方式,使用所述升级方式对应的操作脚本以及所述需要测试的版本的升级包,对所述虚拟化的测试web系统进行升级处理;其中,所述升级方式为所述虚拟化的测试web系统支持的版本升级方式。

考虑到用户实际升级时可能采用不同的升级方法,所以,上述方法能够在进行测试时也采用每一种升级方式对虚拟化的测试web系统进行升级处理,测试采用每一种升级方式是否能够升级成功,从而提高了升级的测试的全面性。

在一种可能的实现方式中,若所述升级方式为手动升级,则所述手动升级对应的操作脚本为,根据用户从升级站点下载所述需要测试的版本后,通过所述虚拟化的测试web系统的升级界面上传所述需要测试版本的升级包到所述虚拟化的测试web系统启动升级的操作步骤生成的;

若所述升级方式为半自动升级,则所述半自动升级对应的操作脚本为,根据所述需要升级的版本的升级包,在所述升级站点生产所述需要测试版本的升级包的描述信息、上传所述需要测试的版本的升级包至所述升级站点,根据用户在所述虚拟化的测试web系统设置升级站点信息后,触发升级按钮后,所述虚拟化的测试web系统进行升级的操作步骤生成的;

若所述升级方式为自动升级,则所述自动升级对应的操作脚本为,根据所述需要升级的版本的升级包,在所述升级站点生成所述需要升级的版本的升级包的描述信息、上传所述需要测试的版本的升级包至升级站点,根据用户到所述虚拟化的测试web系统中设置定时升级,所述虚拟化的测试web系统进行定时升级的操作步骤生成的。

上述方法,能够通过每一种升级方式的实际操作的步骤的脚本完成不同的升级方式对虚拟化的web系统进行升级,实现了操作过程的全自动化,提高了测试的效率。

在一种可能的实现方式中,其中,预设的检测方式包括以下部分或全部:

检测是否能够将所述需要测试的版本的升级包在所述虚拟化的测试web系统进行系统升级;

检测所述虚拟化的测试web系统升级过程中每个升级步骤的完成时间是否在所述升级步骤对应的预设超时时间内;

检测升级后的所述虚拟化的测试web系统的版本号是否与所述需要测试的版本的版本号相同;

检测升级后的所述虚拟化的测试web系统中指定的功能是否为所述需要测试的版本中的功能。

上述方法,能够从是否正常上传升级包给虚拟化的web系统、升级步骤的完成时间是否在升级步骤对应的预设时间内、升级后的系统显示的版本号是否与需要测试的版本的版本号相同、升级后虚拟化的web系统中新增的功能是否为需要测试的版本中的功能,上述各个方面对升级的检测,得到升级结果,从而能够更多的了解升级过程出现的问题,为升级提供更加全面的依据。

在一种可能的实现方式中,利用需要测试的版本的升级包,对所述虚拟化的测试web系统进行升级处理之前,所述方法还包括:

确定所述虚拟化的测试web系统处于开机状态。

上述方法,能够在虚拟化的测试web系统处于开机的状态下进行升级处理,避免测试时由于虚拟化的测试web系统的开关机状态无法升级的问题。

在一种可能的实现方式中,所述方法还包括:

若确定所述虚拟化的测试web系统处于关机状态,则控制所述虚拟化的测试web系统开机,并检测所述虚拟化的测试web系统的对外访问端口的状态;

若所述对外访问端口的状态为开启状态,则确定所述虚拟化的测试web系统开机。

上述方法,能够在通过关机时,控制虚拟化的测试web系统开机,通过检测虚拟化的测试web系统的对外访问端口的状态来检测虚拟化的测试web系统开机的状态,并在开机时启动升级,避免测试时由于虚拟化的测试web系统的开关机状态无法升级的问题。

第二方面,本发明实施例提供的一种服务器,包括:处理器和存储器;

所述存储器用于存储服务器运行时所使用的程序代码;

所述处理器用于执行所述程序代码,以实现如下过程:

针对虚拟化的web系统的任意一个历史版本,根据所述历史版本的快照信息,将所述虚拟化的web系统由当前版本切换至所述历史版本,并将切换到所述历史版本的所述虚拟化的web系统作为虚拟化的测试web系统;其中,所述历史版本的快照信息是基于虚拟化技术的对所述历史版本一种状态的备份;

利用需要测试的版本的升级包,对所述虚拟化的测试web系统进行升级处理;

通过预设的检测方式对升级后的所述虚拟化的测试web系统进行检测,得到从所述历史版本升级到所述需要测试的版本的升级结果。

在一种可能的实现方式中,预设的升级方式有多种;所述处理器具体用于:

针对任意一种升级方式,使用所述升级方式对应的操作脚本以及所述需要测试的版本的升级包,对所述虚拟化的测试web系统进行升级处理;其中,所述升级方式为所述虚拟化的测试web系统支持的版本升级方式。

在一种可能的实现方式中,若所述升级方式为手动升级,则所述手动升级对应的操作脚本为,根据用户从升级站点下载所述需要测试的版本后,通过所述虚拟化的测试web系统的升级界面上传所述需要测试版本的升级包到所述虚拟化的测试web系统启动升级的操作步骤生成的;

若所述升级方式为半自动升级,则所述半自动升级对应的操作脚本为,根据所述需要升级的版本的升级包,在所述升级站点生产所述需要测试版本的升级包的描述信息、上传所述需要测试的版本的升级包至所述升级站点,根据用户在所述虚拟化的测试web系统设置升级站点信息后,触发升级按钮后,所述虚拟化的测试web系统进行升级的操作步骤生成的;

若所述升级方式为自动升级,则所述自动升级对应的操作脚本为,根据所述需要升级的版本的升级包,在所述升级站点生成所述需要升级的版本的升级包的描述信息、上传所述需要测试的版本的升级包至升级站点,根据用户到所述虚拟化的测试web系统中设置定时升级,所述虚拟化的测试web系统进行定时升级的操作步骤生成的。

在一种可能的实现方式中,其中,预设的检测方式包括以下部分或全部:

检测是否能够将所述需要测试的版本的升级包在所述虚拟化的测试web系统进行系统升级;

检测所述虚拟化的测试web系统升级过程中每个升级步骤的完成时间是否在所述升级步骤对应的预设超时时间内;

检测升级后的所述虚拟化的测试web系统的版本号是否与所述需要测试的版本的版本号相同;

检测升级后的所述虚拟化的测试web系统中指定的功能是否为所述需要测试的版本中的功能。

在一种可能的实现方式中,所述处理器还用于:

确定所述虚拟化的测试web系统处于开机状态。

在一种可能的实现方式中,所述处理器还用于:

若确定所述虚拟化的测试web系统处于关机状态,则控制所述虚拟化的测试web系统开机,并检测所述虚拟化的测试web系统的对外访问端口的状态;

若所述对外访问端口的状态为开启状态,则确定所述虚拟化的测试web系统开机。

第三方面,本申请还提供一种计算机存储介质,其上存储有计算机程序,该程序被处理单元执行时实现第一方面所述的基于虚拟化的web系统升级测试方法的步骤。

另外,第二方面和第三方面中任一种实现方式所带来的技术效果可参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理,并不构成对本发明的不当限定。

图1是根据本发明实施例提供的一种虚拟化的web系统升级测试前的准备的流程图;

图2是根据本发明实施例提供的一种基于虚拟化的web系统升级测试方法的流程图;

图3是根据本发明实施例提供的一种升级结果的示意图;

图4是根据本发明实施例提供的一种基于虚拟化的web系统升级测试完整的方法的流程图;

图5是根据本发明实施例提供的另一种基于虚拟化的web系统升级测试完整的方法的流程图;

图6是根据本发明实施例提供的一种服务器的结构图。

具体实施方式

为了使本领域普通人员更好地理解本发明的技术方案,下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

本发明实施例描述的应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。

由于每个使用虚拟化的web系统的用户可能使用的版本不同,而且不同的版本依赖性的强弱也不同,所以,如果直接发布新的版本,很可能会出现用户当前使用的版本无法升级到最新的版本而导致升级失败的问题。

综上可知,本发明实施例提供了一种方案,能够在发布新的版本之前,对所有已经发布的历史版本升级到新的版本进行升级测试,得到测试结果,从而能够对所有升级过程中出现的情况进行提前预警,并且为升级提供依据,能够有效避免历史版本无法与新的版本兼容而导致升级失败问题,提高了升级成功的概率。

在介绍本发明实施例的方案之前,首先对本发明中出现的技术名词进行解释:

虚拟化的web系统:是指使用虚拟化技术运行在一个隔离环境中的具有完整硬件功能的逻辑计算机系统,包括操作系统和应用程序。

快照:快照是对虚拟化的web系统在某个时间点的“拷贝”,基于虚拟化技术的对所述历史版本一种状态的备份,以便在出现故障后虚拟化的web系统能够恢复到该时间点。

系统升级:是从某个较早版本完成后续版本的更新的操作。

手动升级:通过用户自己上传升级包到虚拟化的web系统进行升级;

半自动升级:通过用户点击设备上的升级按钮后由升级站点接收到升级命令后升级站点上传升级包到虚拟化的web系统,虚拟化的web系统进行升级;

自动升级:通过升级站点进行联网升级,升级站点保存升级包与升级包关键信息的描述文件。

selenium:一种用户web应用程序测试,实现模拟web界面功能测试的工具。

以下结合附图详细说明本发明实施例的方案。

第一步,需要对虚拟化的web系统的升级测试进行准备。

结合图1所示,本发明实施例提供了一种升级测试之前的准备流程:

s100:从升级站点中获取所有已经发布的历史版本;

s101:在服务器中安装基础版本的虚拟化的web系统;

s102:利用虚拟化的web系统的快照功能,收集所有历史版本的快照信息;

s103:生成需要测试的版本的升级包。

示例性的,本发明实施例通过以下方式获取所有的已经发布过的历史版本的快照信息:

针对虚拟化的web系统的任意一个历史版本,利用历史版本的升级包,对虚拟化的web系统进行升级处理,并且升级完成后,利用虚拟化的web系统快照功能对当前的虚拟化的web系统进行拍照,得到该历史版本的快照信息。

示例性的,在获取所有历史版本的快照信息时,可以按照历史版本的发布时间,依次收集所有历史版本的快照信息。

然而,当在发布时间上相邻的两个版本无法从发布时间较长的版本升级到发布时间较短的版本,那么可以按照如下方案继续执行收集过程:

首先:在没有进行快照的历史版本中,确定发布时间较长的版本能够直接升级到的版本,以及在已经拍摄快照的历史版本中,确定能够直接升级到发布时间较短的版本的版本;

利用在没有进行快照的历史版本中,确定的发布时间较长的版本能够直接升级到的版本的升级包,对发布时间较长的版本的虚拟化的web系统进行升级,升级完成后,利用虚拟化的web系统快照功能对当前的虚拟化的web系统进行拍照,得到在没有进行快照的历史版本中,确定的发布时间较长的版本能够直接升级到的版本的快照信息;

利用虚拟化的web系统的恢复功能,将虚拟化的web系统由在没有进行快照的历史版本中,确定的发布时间较长的版本能够直接升级到的版本,切换到在已经拍摄快照的历史版本中,确定的能够直接升级到发布时间较短的版本的版本;

利用在已经拍摄快照的历史版本中确定的能够直接升级到发布时间较短的版本的版本的升级包,对在已经拍摄快照的历史版本中确定的能够直接升级到发布时间较短的版本的版本的虚拟化的web系统进行升级,升级完成后,利用虚拟化的web系统快照功能对当前的虚拟化的web系统进行拍照,得到发布时间较短的版本的快照信息。

然后再按照发布时间的长短继续收集历史版本的快照信息。

例如,按照发布时间的长短依次的历史版本为:版本a、版本b、版本c、版本d、版本e、版本f、版本g、版本h;

按照上述发布时间的长短的顺序,依次采集上述历史版本的快照信息时,如果版本d无法直接升级到版本e,那么从版本f、版本g、版本h中确定版本d能够直接升级的版本,例如版本f;

从版本a、版本b、版本c中确定能够直接升级到版本e的版本,例如版本b;

首先,将版本d升级到版本f,采集版本f的快照信息;然后根据版本b的快照信息,将虚拟化的web系统由版本f恢复到版本b,然后从版本b升级到版本e,采集版本e的快照信息,然后从版本e开始,查看是否能够直接升级到版本g,依次类推,直到采集到所有历史版本为止。

第二步,利用收集好的所有历史版本的快照信息,进行升级测试。

结合图2所示,本发明实施例提供了一种虚拟化的web系统升级测试方法,包括:

s200:针对虚拟化的web系统的任意一个历史版本,根据历史版本的快照信息,将虚拟化的web系统由当前版本切换至历史版本,并将切换到历史版本的虚拟化的web系统作为虚拟化的测试web系统。

其中,历史版本为已经发布过的版本。历史版本的快照信息是基于虚拟化技术的对所述历史版本一种状态的备份;

s201:利用需要测试的版本的升级包,对虚拟化的测试web系统进行升级处理。

示例性的,由于收集历史版本的快照信息时虚拟化的web系统可能处于关机状态也可能处于开机状态,所以为了能够正常的进行测试,首先在进行步骤201之前,需要确定虚拟化的测试web系统是否处于开机状态。

若确定虚拟化的测试web系统处于关机状态,则控制虚拟化的测试web系统开机,并检测虚拟化的测试web系统的对外访问端口的状态;

若对外访问端口的状态为开启状态,则确定虚拟化的测试web系统开机。

在开机完成后,才能正常的使得虚拟化的测试web系统能够得到需要测试的版本的升级包,从而完成虚拟化的测试web系统的升级过程。

s202:通过预设的检测方式对升级后的虚拟化的测试web系统进行检测,得到从历史版本升级到需要测试的版本的升级结果。

示例性的,本发明主要从两个方面对是否升级成功进行检测,一个方面是从升级过程中,第二个是升级成功后对升级后的虚拟化的web系统进行检测。

预设的检测方式包括以下部分或全部:

方式1:检测是否能够将需要测试的版本的升级包在所述虚拟化的测试web系统进行系统升级;

方式2:检测虚拟化的测试web系统升级过程中每个升级步骤的完成时间是否在升级步骤对应的预设超时时间内;

方式3:检测升级后的虚拟化的测试web系统的版本号是否与需要测试的版本的版本号相同;

方式4:检测升级后的虚拟化的测试web系统中指定的功能是否为需要测试的版本中的功能。其中,指定的功能包括新增的功能以及对优化的以前的功能。

详细来说,进行升级处理时,开始对升级过程的数据进行记录,采用记录的数据实现上述全部的检测方式。

通过记录的数据,检测升级包是否能够上传测试虚拟化的web系统,如果能够上传,则该项检测通过,如果不同完成,则该项检测不通过。

其中,预设超时时间包括预设上传时间、不同类型的数据对应的预设写入时间等等。可以根据虚拟化的测试web系统升级过程中每个升级步骤的完成时间而定。

对升级过程中,每一步升级均检测完成时间,例如,上传升级包的时间、将升级包中不同类型的数据分别写入不同的地方所需的时间等等。如果上传升级包的时间在预设上传时间内、并且将升级包中不同类型的数据分别写入不同的地方所需的时间均在对应的预设写入时间内,则升级过程中每个升级步骤的完成时间这项检测通过,如果其中一项超过对应的预设超时时间,例如上传升级包的时间没有在预设上传时间的范围内,或者将升级包中不同类型的数据分别写入不同的地方所需的时间没有均在对应的预设写入时间内,则升级过程中每个升级步骤的完成时间这项检测不通过。

在检测升级后的虚拟化的测试web系统时,需要登录该虚拟化的测试web系统,完后完成升级后的虚拟化的测试web系统的检测试测。

例如,虚拟化的测试web系统在固定的页面上会出现当前虚拟化的测试web系统正在使用的版本的版本号,通过selenium这个工具模拟操作过程,在该操作过程中包括登录该虚拟化的测试web系统,通过固定的页面获取虚拟化的测试web系统的版本号,然后检测该版本号是否为需要测试的版本的版本号。如果是,则该项测试通过,否则,该项测试不通过。

又如:如果升级成功的话,升级后的虚拟化的测试web系统为需要测试的版本的虚拟化的测试web系统,所以该虚拟化的测试web系统新增的功能为需要测试版本中的功能。可以通过查看需要测试的版本的功能介绍中确定需要测试的版本的新的功能,通过selenium这个工具模拟操作过程,该操作过程可以实现登录该虚拟化的测试web系统,在虚拟化的测试web系统中找到需要测试的版本的功能,如果均能够找到,则该项通过,如果不能找到,则该项不通过。

示例性的,如果通过上述全部的检测方式进行检测时,记录每一项检测是否通过,如果均为通过,得到升级结果为通过,如果有任意一项没有通过,则升级结果为不通过。

结合图3所示,示出了一种升级结果的实例,包括第一项检测是否能够将所述需要测试的版本的升级包在所述虚拟化的测试web系统进行系统升级,第二项检测所述虚拟化的测试web系统升级过程中每个升级步骤的完成时间是否在所述升级步骤对应的预设超时时间内;第三项检测升级后的所述虚拟化的测试web系统的版本号是否与所述需要测试的版本的版本号相同;第四项检测升级后的所述虚拟化的测试web系统中指定的功能是否为所述需要测试的版本中的功能,如果通过,则在通过后面涂黑色,如果不通过则在不通过后面涂黑色,如果均通过,则在升级结果处标注升级成功,如果有一项不通过,则在升级结果处标注升级失败。

其中,升级结果除了上述每一项检测结果外,还可以包括对升级过程截图的信息,记录的升级过程的全部信息。

结合图4所示,本发明实施例提供了一种完整的升级测试过程,包括:

s400:从历史版本中选择一个没有进行测试过的历史版本;其中,可以根据历史版本的名称实现选择,通过选择历史版本的名称,映射选择该历史版本;

s401:根据历史版本的快照信息,将虚拟化的web系统由当前版本切换至历史版本,并将切换到历史版本的虚拟化的web系统作为虚拟化的测试web系统。示例性的,可以在进行所有的历史版本进行快照时,为快照信息进行命名,在进行切换时,可以根据选择历史版本的快照信息的名称,来调取对应的历史版本的快照信息,并进行切换到对应的历史版本。

s402:检测虚拟化的测试web系统的对外访问端口的状态是否为开启状态,如果是,则执行s403;否则执行s404;

s403:利用需要测试的版本的升级包,对虚拟化的测试web系统进行升级处理;

s404:控制虚拟化的测试web系统开机,并返回步骤s402;

s405:通过升级过程中的检测方式,对虚拟化的测试web系统进行检测,得到检测结果;其中,方式1和方式2为升级过程中的检测方式。

s406:登录升级后的虚拟化的测试web系统,通过升级后的检测方式,对升级后的虚拟化的测试web系统进行检测,得到检测结果,其中,方式3和方式4为升级后的检测方式。

s407:根据升级过程中的检测方式对应的检测结果和升级后的检测方式对应的检测结果,确定升级结果;

s408:判断是否所有的历史版本均得到升级结果,如果是,则结束,如果否,则执行s400。

通过上述方式,能够在发布新版本之前,利用虚拟化的web系统的快照功能,进行每一个历史版本升级到需要测试的版本,并进行升级测试,得到检测结果,为需要测试的版本升级的所有可能性均进行全面测试,可以为新的版本进行升级提供参考,提高升级成功的概率。

为了能够更加全面的对所有的升级过程进行测试,本发明还提供了多种预设的升级方式,然后针对任意一种升级方式,使用升级方式对应的操作脚本以及需要测试的版本的升级包,对虚拟化的测试web系统进行升级处理;其中,升级方式为上传需要测试的版本的升级包到虚拟化的测试web系统的方式。

例如,预设的升级方式为n个,那么从一个历史版本升级到需要测试的版本时,需要采用n个升级方式进行,得到n个升级结果。

在该种升级过程中,也需要进行升级测试之前的准备,这种方式的准备过程中除了上述图1的过程外,还需要准备每种升级方式对应的操作脚步。

以常见的升级方式为例,常见的升级方式为手动升级、半自动升级、自动升级,那么针对每一种升级方式,其操作脚本可以通过以下方式获取:

若升级方式为手动升级,则手动升级对应的操作脚本为,根据用户从升级站点下载需要测试的版本后,通过所述虚拟化的测试web系统的升级界面上传所述需要测试版本的升级包到所述虚拟化的测试web系统启动升级的操作步骤生成的;

例如,本发明实施例采用selenium这个工具实现模拟界面操作,从而能够模拟用户从升级站点下载需要测试的版本的升级包,然后模拟用户在虚拟化的web系统的相关操作页面上传需要测试的版本到虚拟化的测试web系统上,并启动升级。其中,主要模拟用户从某个地方下载需要测试的版本的升级包,即用户得到需要测试的版本的升级包,然后模拟用户在虚拟化的web系统的相关操作页面上传需要测试的版本到虚拟化的测试web系统上,启动升级。

若升级方式为半自动升级,则半自动升级对应的操作脚本为,根据所述需要升级的版本的升级包,在所述升级站点生产所述需要测试版本的升级包的描述信息、上传所述需要测试的版本的升级包至所述升级站点,根据用户在所述虚拟化的测试web系统设置升级站点信息后,触发升级按钮后,所述虚拟化的测试web系统进行升级的操作步骤生成的;

例如,本发明实施例采用selenium这个工具实现模拟界面操作,从而能够模拟根据需要升级的版本的升级包,在升级站点生产所述需要测试版本的升级包的描述信息、上传需要测试的版本的升级包至升级站点,用户在虚拟化的测试web系统设置升级站点信息后,在虚拟化的测试web系统的相关操作页面触发升级按钮,升级站点接受到用户的升级请求后上传需要测试的版本到虚拟化的测试web系统上,并启动升级。其中,主要模拟升级站点、以及用户在虚拟化的web系统的相关操作页面上的操作。

若升级方式为自动升级,则自动升级对应的操作脚本为,根据所述需要升级的版本的升级包,在所述升级站点生成所述需要升级的版本的升级包的描述信息、上传所述需要测试的版本的升级包至升级站点,根据用户到所述虚拟化的测试web系统中设置定时升级,所述虚拟化的测试web系统进行定时升级的操作步骤生成的。

由于自动升级涉及到虚拟化的测试web系统与站点之间的交互,所以在操作脚本中,首先根据需要升级的版本的升级包,在升级站点生成需要升级的版本的升级包的描述信息、上传需要测试的版本的升级包至升级站点,然后升级站点与测试虚拟化的web系统所在的设备之间的连接,准备好之后,根据用户到虚拟化的测试web系统中设置定时升级,安装有虚拟化的测试web系统的设备从升级站点下载需要测试的版本的升级包,然后自动上传下载的升级包到虚拟化的测试web系统上。

具体来说,根据升级包的大小、md5(messagedigestalgorithmmd5,消息摘要算法)等升级包描述文件,生成升级包的描述信息,通过selenium这个工具实现模拟操作界面,建立升级站点,并将升级包的描述信息设置在升级站点中,在自动升级时,自动从升级站点下载升级包,并上传到虚拟化的测试web系统上进行后续的升级任务。

第二步,利用收集好的所有历史版本的快照信息,以及多种预设的升级方式对应的操作脚本,进行升级测试。

结合图5所示,本发明实施例提供了另一种基于虚拟化的web系统升级测试方法,包括:

s500:从历史版本中选择一个没有进行测试过的历史版本;

s501:根据历史版本的快照信息,将虚拟化的web系统由当前版本切换至历史版本,并将切换到历史版本的虚拟化的web系统作为虚拟化的测试web系统。

s502:检测虚拟化的测试web系统的对外访问端口的状态是否为开启状态,如果是,则执行s503;否则执行s504;

s503:从预设的升级方式中选择一个没有进行测试过的升级方式;

s505:根据选择的升级方式对应的操作脚步以及需要测试的版本的升级包,对虚拟化的测试web系统进行升级处理;

s504:控制虚拟化的测试web系统开机,并返回步骤s502;

s506:通过升级过程中的检测方式,对虚拟化的测试web系统进行检测,得到检测结果;其中,方式1和方式2为升级过程中的检测方式。

s507:登录升级后的虚拟化的测试web系统,通过升级后的检测方式,对升级后的虚拟化的测试web系统进行检测,得到检测结果,其中,方式3和方式4为升级后的检测方式。

s508:根据升级过程中的检测方式对应的检测结果和升级后的检测方式对应的检测结果,确定升级结果;

s509:判断是否预设的所有升级方式均针对选择的历史版本进行升级处理;即预设的所有升级方式为3个,那么判断是否根据这3个均与需要测试的版本的升级包,对虚拟化的测试web系统进行升级处理,得到过对应的升级结果。如果是,则执行s510;否则执行s511;

s510:判断是否所有的历史版本均得到升级结果,如果是,则结束,如果否,则执行s511。

s511:根据历史版本的快照信息,将虚拟化的测试web系统由当前版本切换至历史版本。然后再执行s503。

以2种升级方式和2个历史版本为例,需要遍历每一种升级方式以及每一种历史版本做升级处理。具体来说,根据第一历史版本的快照信息,将虚拟化的测试web系统切换到第一历史版本,然后采用第一升级方式对应的操作脚步以及需要测试的版本的升级包,对第一历史版本的虚拟化的web系统进行升级处理,通过预设的检测方式对第一历史版本的虚拟化的web系统进行检测,得到升级结果;根据第一历史版本的快照信息,将虚拟化的web系统再次切换到第一历史版本,然后采用第二升级方式对应的操作脚步以及需要测试的版本的升级包,对第一历史版本的虚拟化的web系统进行升级处理,通过预设的检测方式对第一历史版本的虚拟化的web系统进行检测,得到升级结果。

根据第二历史版本的快照信息,将虚拟化的web系统切换到第二历史版本,然后采用第一升级方式对应的操作脚步以及需要测试的版本的升级包,对第二历史版本的虚拟化的web系统进行升级处理,通过预设的检测方式对第二历史版本的虚拟化的web系统进行检测,得到升级结果;根据第二历史版本的快照信息,将虚拟化的web系统再次切换到第二历史版本,然后采用第二升级方式对应的操作脚步以及需要测试的版本的升级包,对第二历史版本的虚拟化的web系统进行升级处理,通过预设的检测方式对第二历史版本的虚拟化的web系统进行检测,得到升级结果。

当然在选择当前需要使用的升级方式和历史版本时,可以通过人工的方式选择,即用户通过查看升级方式以及历史版本的名称,进行选择,从而完成在选择的升级方式以及历史版本下进行升级测试。

结合图6所示,本发明实施例还提供了一种服务器,包括:处理器610和存储器620;

所述存储器620用于存储服务器运行时所使用的程序代码;

所述处理器610用于执行所述程序代码,以实现如下过程:

针对虚拟化的web系统的任意一个历史版本,根据所述历史版本的快照信息,将所述虚拟化的web系统由当前版本切换至所述历史版本,并将切换到所述历史版本的所述虚拟化的web系统作为虚拟化的测试web系统;其中,所述历史版本的快照信息是基于虚拟化技术的对所述历史版本一种状态的备份;

利用需要测试的版本的升级包,对所述虚拟化的测试web系统进行升级处理;

通过预设的检测方式对升级后的所述虚拟化的测试web系统进行检测,得到从所述历史版本升级到所述需要测试的版本的升级结果。

其中,上述介绍的收集的所有历史版本的快照信息可以存储在服务器上,以及所有预设的升级方式对应的脚本,可以存储在服务器上,当需要进行测试时可以调用快照信息或者升级方式对应的脚步,实现自主完成测试过程中。

另外,所有历史版本的快照信息也可以存储到其他电子设备中。由于在服务器中完成测试,那么切换版本时需设置服务器的基本信息。从而使得切换版本时,需要通过其他电子设备与服务器建立连接后实现切换,在服务器上实现虚拟化的web系统的开关机操作。

可选的,预设的升级方式有多种;所述处理器610具体用于:

针对任意一种升级方式,使用所述升级方式对应的操作脚本以及所述需要测试的版本的升级包,对所述虚拟化的测试web系统进行升级处理;其中,所述升级方式为所述虚拟化的测试web系统支持的版本升级方式。

可选的,若所述升级方式为手动升级,则所述手动升级对应的操作脚本为,根据用户从升级站点下载所述需要测试的版本后,通过所述虚拟化的测试web系统的升级界面上传所述需要测试版本的升级包到所述虚拟化的测试web系统启动升级的操作步骤生成的;

若所述升级方式为半自动升级,则所述半自动升级对应的操作脚本为,根据所述需要升级的版本的升级包,在所述升级站点生产所述需要测试版本的升级包的描述信息、上传所述需要测试的版本的升级包至所述升级站点,根据用户在所述虚拟化的测试web系统设置升级站点信息后,触发升级按钮后,所述虚拟化的测试web系统进行升级的操作步骤生成的;

若所述升级方式为自动升级,则所述自动升级对应的操作脚本为,根据所述需要升级的版本的升级包,在所述升级站点生成所述需要升级的版本的升级包的描述信息、上传所述需要测试的版本的升级包至升级站点,根据用户到所述虚拟化的测试web系统中设置定时升级,所述虚拟化的测试web系统进行定时升级的操作步骤生成的。

可选的,其中,预设的检测方式包括以下部分或全部:

检测是否能够将所述需要测试的版本的升级包在所述虚拟化的测试web系统进行系统升级;

检测所述虚拟化的测试web系统升级过程中每个升级步骤的完成时间是否在所述升级步骤对应的预设超时时间内;

检测升级后的所述虚拟化的测试web系统的版本号是否与所述需要测试的版本的版本号相同;

检测升级后的所述虚拟化的测试web系统中指定的功能是否为所述需要测试的版本中的功能。

可选的,所述处理器610还用于:

确定所述虚拟化的测试web系统处于开机状态。

可选的,所述处理器610还用于:

若确定所述虚拟化的测试web系统处于关机状态,则控制所述虚拟化的测试web系统开机,并检测所述虚拟化的测试web系统的对外访问端口的状态;

若所述对外访问端口的状态为开启状态,则确定所述虚拟化的测试web系统开机。

在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器,上述指令可由服务器的处理器610执行以完成上述基于虚拟化的web系统升级测试方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

本发明实施例还提供一种计算机程序产品,当所述计算机程序产品在服务器上运行时,使得所述服务器执行实现本发明实施例上述任意一项基于虚拟化的web系统升级测试方法。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请的方法、电子设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理电子设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理电子设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理电子设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理电子设备上,使得在计算机或其他可编程电子设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程电子设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

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