掌桥专利:专业的专利平台
掌桥专利
首页

一种软件升级测试的方法和装置

文献发布时间:2023-06-19 10:02:03


一种软件升级测试的方法和装置

技术领域

本发明涉及网络通信技术领域及软件测试领域,尤其涉及一种软件升级测试的方法和装置。

背景技术

交换机是一种用于电(光)信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。

交换机产品的软件版本一经发布后,会持续性的进行软件版本升级来修复现网问题或者实现客户新增需求。为保证在网交换机的升级可靠性,测试人员需针交互机的软件版本升级进行测试。测试要求覆盖各个历史版本与新版本的兼容性,要求覆盖各种升级方式(usb、ftp、tftp、sftp、http),要求包括各种版本升降级组合,还要求对交换机flash分区(主、备分区)分别进行验证,同步检查配置加载情况。

针对如上测试要求,测试人员往往需要以纯手工方式,在客户端和服务器端逐一选择主备分区、升级方式、待测版本等进行重复验证。该方法耗费大量人力和时间成本,且无法保证人为主观性的测试遗漏。

发明内容

本发明实施例的目的在于解决人工进行交换机软件升级测试时造成的时间成本和人力成本的浪费,确保测试的全面覆盖。

为解决上述问题,第一方面,本发明实施例提供一种软件升级测试的方法,应用于交换机,所述方法包括:

读取交换机的配置信息以及所述交换机中待升级软件的待测试版本信息;

按照选定的升级参数对所述交换机中待升级软件进行升级,以获得所述交换机升级后的升级结果和目标版本信息;

根据所述升级结果、所述目标版本信息和所述配置信息验证所述交换机是否升级成功。

可选的,所述升级参数包括升级方式参数和flash分区参数;

所述按照选定的升级参数对所述交换机中待升级软件进行升级,以获得所述交换机升级后的升级结果和目标版本信息,包括:

确定所述待测试版本信息、升级方式参数、flash分区参数的组合情况;

根据不同的所述组合情况、逐一对所述交换机中待升级软件进行升级;

获取每次升级后的升级结果和目标版本信息。

可选的,所述根据不同的所述组合情况、逐一对所述交换机中待升级软件进行升级,包括:

选择一待测试版本信息、一升级方式参数和一flash分区参数后,对所述交换机中待升级软件进行升级;

判断所述flash分区参数是否遍历完成;

若所述flash分区参数遍历完成,则判断所述待测试版本信息是否遍历完成;

若所述待测试版本信息遍历完成,则判断所述升级方式参数是否遍历完成;

若所述升级方式参数遍历完成,则结束软件升级测试。

可选的,还包括:

若所述flash分区参数未遍历完成,则保持选择的待测试版本信息和升级方式参数不变,选择另一未被遍历的所述flash分区参数对所述交换机中待升级软件进行升级。

可选的,还包括:

若所述待测试版本信息未遍历完成,则保持选择的flash分区参数和升级方式参数不变,选择另一未被遍历的所述待测试版本信息对所述交换机中待升级软件进行升级。

可选的,还包括:

若所述升级方式参数未遍历完成,则保持选择的flash分区参数和待测试版本信息不变,选择另一未被遍历的所述升级方式参数对所述交换机中待升级软件进行升级。

可选的,根据所述升级结果、所述目标版本信息和所述配置信息验证所述交换机是否升级成功,包括:

当所述升级结果为成功时,判断所述目标版本信息是否正确;

当所述目标版本信息正确时,判断所述配置信息是否正确;

当所述配置信息正确时,确定所述交换机升级成功。

可选的,当所述升级结果为失败时,确定所述交换机升级失败。

可选的,当所述目标版本信息错误时,确定所述交换机升级失败。

可选的,当所述配置信息错误时,确定所述交换机升级失败。

可选的,每次对所述交换机中待升级软件进行升级时,实时生成操作日志;

每次验证所述交换机是否升级成功时,实时生成操作日志。

第二方面,本发明实施例提供一种软件升级测试的装置,包括:

信息读取模块,用于读取交换机的配置信息以及所述交换机中待升级软件的待测试版本信息;

升级执行模块,用于按照选定的升级参数对所述交换机中待升级软件进行升级,以获得所述交换机升级后的升级结果和目标版本信息;

升级验证模块,用于根据所述升级结果、所述目标版本信息和所述配置信息验证所述交换机是否升级成功。

通过本发明提供的技术方案,整合了交换机的各项待测参数,通过自动控制来快速、准确的进行待测版本兼容性验证,避免了传统测试方法需人工干预、耗时长、不全面等弊端。

附图说明

图1为本发明实施例1提供的一种软件升级测试的方法的流程图;

图2为本发明实施例1提供的按照选定的升级参数对所述交换机中待升级软件进行升级的方法的流程图;

图3为本发明实施例1提供的根据不同的组合情况、逐一对交换机中待升级软件进行升级的方法的流程图;

图4为本发明实施例1提供的验证交换机是否升级成功的方法的流程图;

图5为本发明实施例1提供的软件升级测试的方法的软件流程图;

图6为本发明实施例2提供的一种软件升级测试的装置的结构图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例1

图1为本发明实施例1提供的一种软件升级测试的方法的流程图。该方法应用于对交换机中的软件进行升级的场景。

交换机的软件升级跟其它软件升级相比,具有如下的特点:第一,交换机中包括flash分区,对交换机的软件进行升级时,需要区分主分区和备分区。第二,交换机的升级文件可以仅包括软件版本,也可以同时包括软件版本和boot版本。交换机启动时要先启动redboot,这时需要一个boot文件,boot启动后才能加载软件版本。第三,交换机覆盖的多种升级形式,如ftp方式、tftp方式、usb方式、http方式。第四,判断交换机是否升级成功时,除了像其它软件升级时检查版本信息外,还要检查交换机设备的配置信息,校验配置文件完整性。

FTP(File Transfer Protocol,文件传输协议)是TCP/IP协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。

TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。

USB(Universal Serial Bus,通用串行总线),是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。

http是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。

参考图1,软件升级测试的方法包括如下的步骤:

S10、读取交换机的配置信息以及所述交换机中待升级软件的待测试版本信息。

在配置交换机时,包括本地配置方式和远程配置方式。本地配置方式一般包括物理连接和软件配置。交换机的本地配置方式是通过计算机与交换机的“Console”端口直接连接的方式进行通信的。软件配置一般包括主配置菜单、IP地址等配置、控制密码配置。远程配置方式可以通过Telnet方式或者Web浏览器的方式来进行。Telnet协议是一种远程访问协议,可以用它登录到远程计算机、网络设备或专用TCP/IP网络。Windows 95/98及其以后的Windows系统、UNIX/Linux等系统中都内置有Telnet客户端程序,可以用它来实现与远程交换机的通信。当利用Console口为交换机设置好IP地址信息并启用HTTP服务后,即可通过支持JAVA的Web浏览器访问交换机,并可通过Web通过浏览器修改交换机的各种参数并对交换机进行管理。事实上,通过Web界面,可以对交换机的许多重要参数进行修改和设置,并可实时查看交换机的运行状态。

管理信息库(MIB,Management Information Base)是TCP/IP网络管理协议标准框架的内容之一,MIB定义了受管设备必须保存的数据项、允许对每个数据项进行的操作及其含义,即管理系统可访问的受管设备的控制和状态信息等数据变量都保存在MIB中。

通过MIB读取配置信息和待升级软件的待测试版本信息。配置信息可以包括startup-config。待测试版本信息是交换机中软件的版本信息,如V1、V2、V3、V4。

S20、按照选定的升级参数对所述交换机中待升级软件进行升级,以获得所述交换机升级后的升级结果和目标版本信息。

升级参数包括升级方式参数和flash分区参数。升级方式参数包括如下的至少一种:usb方式;ftp方式;tftp方式;sftp方式;http方式;flash分区参数包括如下的至少一种:主分区;备分区。

对待升级软件进行升级时还需要提供验证软件。交换机中待升级软件需要升级到验证软件,如可以把验证软件确定为V5。

即可以从升级方式参数和flash分区参数选择全部或者部分方式,将交换机中待升级软件进行升级,以升级成为验证软件。

在对交换机中待升级软件进行升级后,获得升级结果和目标版本信息。升级结果是指判断交换机中待升级软件是否升级成为验证软件的结果。目标版本信息是指升级完成后交换机中现行运行的软件。如果交换机的升级无异常,那么目标版本信息与验证软件的信息一致(即目标版本信息正确)。如果有异常,则可能导致目标版本信息与验证软件的信息不一致(即目标版本信息错误)。

具体的,参考图2步骤S20可以包括如下的具体步骤:

S21、确定所述待测试版本信息、升级方式参数、flash分区参数的组合情况。

待测试版本信息包括V1、V2、V3、V4;升级方式参数usb方式、ftp方式、tftp方式、sftp方式、http方式;flash分区参数包括主分区、备分区。

使用者根据自己的选择,从待测试版本信息、升级方式参数、flash分区参数选择所需的内容对交换机进行测试。待测试版本信息、升级方式参数、flash分区参数可选择部分或全部执行。

S22、根据不同的所述组合情况、逐一对所述交换机中待升级软件进行升级。

根据使用者的选择,对待测试版本信息、升级方式参数、flash分区参数的各个组合进行遍历测试。如待测试版本信息个数为n1、升级方式参数个数为n2,flash分区参数个数为2。则需要进行

单次升级执行完成后,可读取设备实际返回结果判断升级动作成功与否(即判断升级结果是否为升级成功),而后再按照升级执行前已配置的参数及配置文件信息来进一步判断升级结果(即判断目标版本信息是否正确、配置信息是否正确),比较时要求完全匹配。

在此基础上,每次对所述交换机中待升级软件进行升级时,实时生成操作日志;每次验证所述交换机是否升级成功时,实时生成操作日志。

可以理解为,进行进行

具体的,参考图3步骤S22可以包括如下的具体步骤:

S221、选择一待测试版本信息、一升级方式参数和一flash分区参数后,对所述交换机中待升级软件进行升级。

根据使用者的选择,对待测试版本信息、升级方式参数、flash分区参数的各个组合进行遍历测试时。首先选择一待测试版本信息、一升级方式参数和一flash分区参数后,对所述交换机中待升级软件进行升级。

升级完成后,会获得升级结果,升级结果包括升级成功和升级失败。还会获得升级之后的目标版本信息、配置信息。

S222、判断所述flash分区参数是否遍历完成。若是,则执行步骤S223;若否,则执行步骤S226。

完成一次升级后,判断flash分区参数是否被遍历完成。即判断主分区和备分区是否被遍历完成。如果遍历完成,则判断待测试版本信息是否遍历完成。如果没有遍历完成,保持选择的待测试版本信息和升级方式参数不变,选择另一未被遍历的所述flash分区参数对所述交换机中待升级软件进行升级。

S223、判断所述待测试版本信息是否遍历完成。若是,则执行步骤S224;若否,则执行步骤S227。

flash分区参数遍历完成后,判断待测试版本信息是否遍历完成。即,如果交换机中的待测试版本信息包括V1、V2、V3、V4,则判断V1、V2、V3、V4是否均升级到验证版本V5。如果均升级到验证版本V5,则判断升级方式参数是否遍历完成。如果没有均升级到验证版本V5,保持选择的flash分区参数和升级方式参数不变,选择另一未被遍历的所述待测试版本信息对所述交换机中待升级软件进行升级。

S224、判断所述升级方式参数是否遍历完成。若是,则执行步骤S225;若否,则执行步骤S228。

待测试版本信息遍历完成后,判断升级方式参数是否遍历完成。即判断usb方式、ftp方式、tftp方式、sftp方式、http方式这几种升级方式参数是否被完全遍历。如果被遍历,结束软件升级测试。如果没有被遍历,保持选择的flash分区参数和待测试版本信息不变,选择另一未被遍历的所述升级方式参数对所述交换机中待升级软件进行升级。

S225、结束软件升级测试。

当遍历了待测试版本信息、升级方式参数、flash分区参数的各个组合情况后结束软件升级测试。

S226、保持选择的待测试版本信息和升级方式参数不变,选择另一未被遍历的所述flash分区参数对所述交换机中待升级软件进行升级。

S227、保持选择的flash分区参数和升级方式参数不变,选择另一未被遍历的所述待测试版本信息对所述交换机中待升级软件进行升级。

S228、保持选择的flash分区参数和待测试版本信息不变,选择另一未被遍历的所述升级方式参数对所述交换机中待升级软件进行升级。

S23、根据不同的所述组合情况、逐一对所述交换机中待升级软件进行升级。

S30、根据所述升级结果、所述目标版本信息和所述配置信息验证所述交换机是否升级成功。

升级结果包括升级成功和升级失败,目标版本信息包括目标版本信息正确和目标版本信息错误,配置信息包括升级后的配置信息与升级前的配置信息一致(配置信息正确)和升级后的配置信息与升级前的配置信息不一致(配置信息错误)。

综合考虑升级结果、目标版本信息和配置信息的情况,确定交换机是否升级成功。

具体的,参考图4步骤S30可以包括如下的具体步骤:

S31、判断所述升级结果是否为成功。若成功,则执行步骤S32;若失败,则执行步骤S35。

当待升级软件升级为验证软件后,确定待测试版本信息的升级结果为成功。若成功,则判断目标版本信息是否正确。当待升级软件没有升级为验证软件,确定待测试版本信息的升级结果为失败,则确定所述交换机升级失败。

S32、判断所述目标版本信息是否正确。若正确,则执行步骤S33;若错误,则执行步骤S35。

当确定升级结果为成功后,判断指升级完成后交换机中现行运行的软件与验证软件的信息是否一致。若一致,则说明目标版本信息正确,则判断配置信息是否正确。若不一致,则说明目标版本信息错误,则确定所述交换机升级失败。

S33、判断所述配置信息是否正确。若正确,则执行步骤S34;若错误,则执行步骤S35。

当确定目标版本信息正确后,判断升级后的配置信息与升级前的配置信息是否一致。若一致,则说明配置信息正确,则确定所述交换机升级成功。若不一致,则说明配置信息错误,则确定所述交换机升级失败。S34、确定所述交换机升级成功。

S35、确定所述交换机升级失败。

参考图5,以如下情况为例进行具体说明。

一交换机中待测试版本信息包括V1、V2、V3、V4,升级方式参数usb方式、ftp方式、tftp方式、sftp方式、http方式,flash分区参数包括主分区、备分区。需要将该交换机中的软件升级为验证版本V5。

在此基础上,使用者选择部分参数进行测试。选择参与测试的待测试版本信息包括V1、V2,升级方式参数usb方式、ftp方式,flash分区参数包括主分区。

首先,使用V1、usb方式、主分区这一组合情况来进行测试。

判断升级结果是否为成功。若成功,则判断目标版本信息是否正确;若失败则确定所述交换机升级失败。将这一组合情况、升级失败和验证失败的结果写入日志。

若目标版本信息正确,则判断配置信息是否正确;若错误则确定所述交换机升级失败。将这一组合情况、升级成功和验证失败的结果写入日志。

若配置信息正确,则确定所述交换机升级成功。将这一组合情况、升级成功和验证成功的结果写入日志。若错误则确定所述交换机升级失败。将这一组合情况、升级成功和验证失败的结果写入日志。

不论验证是成功还是失败,均需要进行遍历是否完成的遍历,在此情况中,需要进行2*2*1,共4次判断。

首先判断flash分区参数是否遍历完成,由于本情况中,flash分区参数仅包括主分区,因此判断flash分区参数遍历完成。

判断待测试版本信息是否遍历完成。在本情况中,待测试版本信息包括V1、V2,因此待测试版本信息没有遍历完成,在flash分区参数为主分区、待测试版本信息为V2、升级方式参数为usb方式的情况下,再次对交换机的升级进行验证。

因此,在这样的选择情况下,需要对V1、usb方式、主分区,V2、usb方式、主分区,V1、ftp方式、主分区,V2、ftp方式、主分区四种组合进行验证,获得四条日志。

遍历完成后,结束验证。

通过本发明实施例提供的技术方案,整合了交换机的各项待测参数,通过自动控制来快速、准确的进行待测版本兼容性验证,避免了传统测试方法需人工干预、耗时长、不全面等弊端。

实施例2

图6为本发明实施例2提供的一种软件升级测试的装置的结构图。参考图6,该软件升级测试的装置,包括:

信息读取模块10,用于读取交换机的配置信息以及所述交换机中待升级软件的待测试版本信息;

升级执行模块20,用于按照选定的升级参数对所述交换机中待升级软件进行升级,以获得所述交换机升级后的升级结果和目标版本信息;

升级验证模块30,用于根据所述升级结果、所述目标版本信息和所述配置信息验证所述交换机是否升级成功。

通过本发明实施例提供的技术方案,整合了交换机的各项待测参数,通过自动控制来快速、准确的进行待测版本兼容性验证,避免了传统测试方法需人工干预、耗时长、不全面等弊端。

在此基础上,所述升级参数包括升级方式参数和flash分区参数,升级执行模块20包括:

组合确定子模块,用于确定所述待测试版本信息、升级方式参数、flash分区参数的组合情况;

软件升级子模块,用于根据不同的所述组合情况、逐一对所述交换机中待升级软件进行升级;

结果获取子模块,用于获取每次升级后的升级结果和目标版本信息。

在此基础上,软件升级子模块包括:

参数选择单元,用于选择一待测试版本信息、一升级方式参数和一flash分区参数后,对所述交换机中待升级软件进行升级;

第一判断单元,用于判断所述flash分区参数是否遍历完成;

第二判断单元,用于若所述flash分区参数遍历完成,则判断所述待测试版本信息是否遍历完成;

第三判断单元,用于若所述待测试版本信息遍历完成,则判断所述升级方式参数是否遍历完成;

第四判断单元,用于若所述升级方式参数遍历完成,则结束软件升级测试。

在此基础上,还包括:

第一执行单元,用于若所述flash分区参数未遍历完成,则保持选择的待测试版本信息和升级方式参数不变,选择另一未被遍历的所述flash分区参数对所述交换机中待升级软件进行升级。

在此基础上,还包括:

第二执行单元,用于若所述待测试版本信息未遍历完成,则保持选择的flash分区参数和升级方式参数不变,选择另一未被遍历的所述待测试版本信息对所述交换机中待升级软件进行升级。

在此基础上,还包括:

第三执行单元,用于若所述升级方式参数未遍历完成,则保持选择的flash分区参数和待测试版本信息不变,选择另一未被遍历的所述升级方式参数对所述交换机中待升级软件进行升级

在此基础上,升级验证模块30包括:

第一判断子模块,用于当所述升级结果为成功时,判断所述目标版本信息是否正确;

第二判断子模块,用于当所述目标版本信息正确时,判断所述配置信息是否正确;

第三判断子模块,用于当所述配置信息正确时,确定所述交换机升级成功。

在此基础上,还包括:

第一执行子模块,用于当所述升级结果为失败时,确定所述交换机升级失败。

在此基础上,还包括:

第二执行子模块,用于当所述目标版本信息错误时,确定所述交换机升级失败。

第三执行子模块,用于在此基础上,还包括:

当所述配置信息错误时,确定所述交换机升级失败。

在此基础上,还包括:

第一日志生成模块,用于每次对所述交换机中待升级软件进行升级时,实时生成操作日志;

第二日志生成模块,用于每次验证所述交换机是否升级成功时,实时生成操作日志。

本实施例提供的一种软件升级测试的装置可用于执行实施例1提供的一种软件升级测试的方法,具有相应的功能和有益效果。

虽然,上文中已经用一般性说明、具体实施方式及试验,对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。

相关技术
  • 一种面向软件升级的软件测试方法
  • 一种面向软件升级的软件测试方法
技术分类

06120112389644