设备测试方法及装置与流程

文档序号:11064732阅读:2315来源:国知局
设备测试方法及装置与制造工艺
本发明涉及通信领域,尤其是涉及一种设备测试方法及装置。
背景技术
:随着自动化测试技术的蓬勃发展,自动化测试工具已经深入到路由器或交换机的测试中,业界普遍采用的自动化测试过程一般如图1(图1是根据现有技术的自动化测试实现过程示意图)所示,主要包括以下几个步骤:(1)通过TCL(ToolCommandLanguage,工具命令语言)脚本建立测试脚本库;(2)按照测试规范要求搭建一个统一的物理测试拓扑;(3)读取测试脚本并解析其所依赖的逻辑拓扑,将逻辑拓扑映射到物理拓扑上,执行测试脚本定义的操作;(图1中的通用功能指的是向测试脚本提供所需要的各种基础能力,如设备接入控制、测试数据获取等);(4)系统顺序执行完所有定义的测试脚本,输出测试结果。这种自动化测试方法的特点在于:对于同一个被测对象(被测设备),整套测试脚本共用一个测试拓扑,测试脚本1启动,开始进行逻辑-物理拓扑映射,测试执行,等待测试脚本1执行完成后再进行下一个测试脚本2的逻辑-物理拓扑映射、测试执行,逻辑清晰简明,其属于单拓扑单进程的测试方法。但是,当被测设备是路由器或交换机这类网络设备时,这种单拓扑单进程的自动化测试方法体现出以下缺陷:(1)测试过程中当前测试脚本独占被测设备,因此这种测试方法会造成测试资源和时间的浪费;(2)由于路由器或交换机需要支持多拓扑多协议工作,测试脚本的并行和叠加执行才容易发现测试问题,因此这种测试方式不容发现测试问题;(3)整个单进程测试过程中,被测设备的异常状态(如部分板卡、端口异常或重启)没有被监控,而这些异常是会直接影响测试结果的。因此,如何提供一种可以对路由器或交换机等网络设备进行自动化测试技 术方案,从而达到提高测试效率、节省测试资源、易于发现测试问题以及保证测试结果准确性的目的,成为亟待解决的问题。技术实现要素:本发明的主要目的在于提供一种相较于传统的单进程自动化设备测试方法,可以提高测试效率、节省测试成本且更容易从测试结果中发现设备问题的测试方案。为了达到上述目的,本发明提供了一种设备测试方法,包括:获取当前需要进行测试的被测设备的测试拓扑,其中,所述测试拓扑包括多个相互独立的测试子拓扑;根据所述多个测试子拓扑对所述被测设备进行并行测试,得到测试结果。优选地,根据所述多个测试子拓扑对所述被测设备进行并行测试包括:将每个所述测试子拓扑的测试脚本集合发送给测试设备;指示所述测试设备使用所有的所述测试脚本集合对所述待测设备进行所述并行测试。优选地,所述方法还包括:在所述并行测试开始后,每间隔预定时长,对所述被测设备的设备状态进行查询,并保存查询到的设备状态。优选地,所述设备状态包括:所述被测设备的所有端口和/或板卡的工作状态。优选地,所述被测设备为一个或多个支持多拓扑和多协议的设备。优选地,所述支持多拓扑和多协议的设备包括:路由器或交换机。本发明还提供了一种设备测试装置,包括:获取模块,用于获取当前需要进行测试的被测设备的测试拓扑,其中,所述测试拓扑包括多个相互独立的测试子拓扑;测试模块,用于根据所述多个测试子拓扑对所述被测设备进行并行测试,得到测试结果。优选地,所述测试模块包括:发送单元,用于将每个所述测试子拓扑的测试脚本集合发送给测试设备;指示测试单元,用于指示所述测试设备使用所有的所述测试脚本集合对所述待测设备进行所述并行测试。优选地,所述装置还包括:查询保存模块,用于在所述并行测试开始后,每间隔预定时长,对所述被测设备的设备状态进行查询,并保存查询到的设备 状态。优选地,所述设备状态包括:所述被测设备的所有端口和/或板卡的工作状态。优选地,所述被测设备为一个或多个支持多拓扑和多协议的设备。优选地,所述支持多拓扑和多协议的设备包括:路由器或交换机。与现有技术相比,本发明所述的设备测试方法及装置,可以根据预先为被测设备设定的多个相互独立的测试子拓扑同时对被测设备进行并行测试,尤其更适用于支持多拓扑多协议的路由器或交换机等设备,有利于发现这些设备的问题,相比于传统的单进程测试方式,达到了提高测试效率、节约测试成本的效果。附图说明图1是根据现有技术的自动化测试实现示意图;图2是根据本发明实施例的设备测试方法流程图;图3是根据本发明优选实施例的自动化并行测试架构的示意图;图4是根据本发明优选实施例的设备网络管理类测试的拓扑示意图;图5A是根据本发明优选实施例的测试子拓扑1的示意图;图5B是根据本发明优选实施例的测试子拓扑2的示意图;图5C是根据本发明优选实施例的测试子拓扑0的示意图;图6是根据本发明实施例的设备测试装置的结构框图;以及图7是根据本发明优选实施例的设备测试装置的示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域的普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提供了一种设备测试方法。图2是根据本发明实施例的设备测试方法流程图,如图2所示,该流程包括以下步骤(步骤S202-步骤S204):步骤S202、获取当前需要进行测试的被测设备的测试拓扑,其中,所述测试拓扑包括多个相互独立的测试子拓扑;步骤S204、根据所述多个测试子拓扑对所述被测设备进行并行测试,得到测试结果。通过上述步骤,可以使用预先为被测设备设定的多个测试子拓扑对被测设备进行并行测试,由于多个测试子拓扑之间是相互独立的,并不会对多个测试子拓扑的测试子结果产生干扰,汇总这些测试子结果既可以得到对应于被测设备的最终测试结果。在本发明实施例中,步骤S204可以通过采用这样的实现方式:将每个所述测试子拓扑的测试脚本集合发送给测试设备,再指示所述测试设备使用所有的所述测试脚本集合对所述待测设备进行所述并行测试。在本发明实施例中,在所述并行测试开始后,每间隔预定时长,还可以对所述被测设备的设备状态进行查询,并保存查询到的设备状态。这样做的好处是:定时查询得到的查询结果(即设备状态)可以作为最终测试结果的参考因素,有利于对被测设备的测试状态进行整体分析。其中,所述设备状态可以包括:所述被测设备的所有端口和/或板卡的工作状态。在实际应用中,端口可以是业务端口,专门的测试端口等,设备状态可以是正常状态,也可以是异常状态,例如,异常状态可以是部分板块或端口发生异常或重启时的状态。传统的单进程设备自动化测试方法是没有对设备状态进行监控的,而设备发生异常时的状态是会直接影响测试结果的,因此,有必须对设备进行监控,以发现异常状态。需要说明的是,在本发明实施例中,所述被测设备可以为一个或多个支持多拓扑和多协议的设备。但并不排除其他任何可以使用本发明实施例提供的设备测试方法的被测设备。较佳地,所述支持多拓扑和多协议的设备可以包括:路由器或交换机。路由器或交换机都是具有多个端口的设备,本身也是工作在多拓扑结构中,并支持多协议,但是在实际应用中,并不局限于该两种设备。为便于理解上述设备测试方法,以下结合附图和优选实施例进行更加详细 的描述。为了执行上述实施例提供的设备测试方法,需要在实施设备测试方法前搭建一个自动化并行测试架构,请参考图3(图3是根据本发明优选实施例的自动化并行测试架构的示意图),如图3所示,该自动化并行测试架构包括测试拓扑集(由多个测试拓扑子集构成,均为逻辑拓扑),与测试拓扑子集具有映射关系的测试脚本子集,定时查看被测设备状态脚本,以及多进程测试策略模块(可以是软件功能型模块,也可以是集成了软件功能的硬件)。该自动化并行测试架构的搭建过程包括如下步骤:(1)通过TCL脚本建立测试脚本库;(2)通过对测试规范进行分析整理,得到测试拓扑集合,该测试拓扑集是对测试用例拓扑进行分类总结出的典型测试拓扑的集合,相对现有测试系统中大而全的一个完整测试拓扑,该测试拓扑集合中的每个测试子拓扑相对简单、独立、容易单独满足测试规范。例如,如图4所示(图4是根据本发明优选实施例的设备网络管理类测试的拓扑示意图,其中DUT即为被测设备),在对设备进行网络管理类测试时,并不需要测试仪表端口和被测设备业务接口的组网拓扑,只需要能远程访问到被测设备。(3)依据测试拓扑集中的测试子拓扑,对脚本库划分满足各自测试子拓扑的测试脚本子集,当然测试脚本属于同一个测试脚本子集必须满足同一个测试子拓扑的映射,多进程并行测试时理论上会影响各自测试结果的测试脚本(例如,路由下发速度测试和LSP(LayeredServiceProvider,分层服务提供程序)下发速度测试,都对被测设备的CPU具有较大需求),因此应尽量合并测试拓扑,以对放在同一个测试脚本子集中进行串行测试;对于路由器交换机这类网络设备来说,不同测试子拓扑下的测试例(例如各种协议、捆绑、镜像等功能)基本同时进行是不应该互相影响的,如果从最终测试结果发现存在影响,则恰恰是被测设备在测试中应该发现的问题。(4)根据被测设备上已有的物理业务端口搭建测试环境(即物理拓扑),并将各个测试子拓扑输入多进程测试策略模块。至此,自动化并行测试架构的搭建过程完成,使用该自动化并行测试架构执行上述设备测试方法的过程如下:多进程测试策略模块分析输入的测试子拓扑,启动测试子拓扑进程,进行对应测试用例的并行测试,每个测试子拓扑进程读取测试脚本并依次运行测试脚本,并行执行完所有测试脚本子集,由于各个测试子拓扑进程之间是相互独立的,各个测试结果(可以称为测试子结果)之间互不影响,汇总这些测试子结果即得到被测设备的测试结果。当然,还可以预先设定一个时长,并每间隔该时长,就可以定时查看被测设备的状态(是一个单独进程脚本,时长满时运行该单独进程脚本即可实现查询功能),这样一来,就可以定时查询并记录设备状态信息,供分析测试结果的时候作为参考因素。为便于进一步理解,以交换机测试中的部分功能测试为例,描述该设备测试方法的实施过程,请参考表1:表1、交换机测试中的部分测试用例序号测试例1STP2RSTP3VLAN接入4VLAN标记帧5VLAN学习6VLAN过滤7VLAN隔离8VLAN交换9环路检测10用户密码安全性对于某一个型号的交换机(被测设备),要完成以上测试用例,现有自动化测试工具通常做法是:首先搭建一个大而全的测试拓扑,如果实际物理拓扑能完全满足逻辑测试拓扑,10个测试脚本将会顺序执行至测试结束,而如果实际物理拓扑不能完全满足既定拓扑(例如,目前只有1台被测设备DUT-1可用作功能测试),会导致整个自动化测试无法进行。而采用本发明实施例提供的设备测试方法(并行测试),由于测试拓扑集(包括测试子拓扑1、测试子拓扑2、测试子拓扑0,请参考图5A-图5C)是预先根据测试规范的要求分析整理出来的,根据该三个测试子拓扑把以上10个测试脚本划分成3个可以并行执行的测试脚本子集如表2所示,可以看出在 不同子拓扑中,被测设备并行进行3个子集测试理论上是互不干扰的。表2、自动化并行测试的测试脚本子集如果当前只有1台该型号交换机DUT-1,就可以搭建满足测试子拓扑1和测试子拓扑0的物理拓扑,测试策略模块将启动测试脚本子集1和测试脚本子集3并行测试,输出7个测试结果;如果需要满足所有测试子拓扑,策略模块将同时启动3个测试脚本子集进行多进程并行测试,输出10个测试结果;并且,在测试过程进行中或结束后,能够通过测试脚本子集3中的定时查询设备状态进程获取设备测试状态信息,以辅助判断整台设备的测试状态。对应于上述设备测试方法,本发明实施例还提供了一种设备测试装置,用以实施上述设备测试方法。图6是根据本发明实施例的设备测试装置的结构框图,如图6所示,该装置包括:获取模块10和测试模块20。其中,获取模块10,用于获取当前需要进行测试的被测设备的测试拓扑,其中,所述测试拓扑包括多个相互独立的测试子拓扑;测试模块20,连接至获取模块10用于根据所述多个测试子拓扑对所述被测设备进行并行测试,得到测试结果。在图6所示的设备测试装置的基础上,本发明优选实施例还提供了一种设备测试装置,请参考图7,图7是根据本发明优选实施例的设备测试装置的示意图,如图7所示:所述测试模块20可以进一步包括:发送单元22,用于将每个所述测试子拓扑的测试脚本集合发送给测试设备;指示测试单元24,用于指示所述测试设备使用所有的所述测试脚本集合对所述待测设备进行所述并行测试。所述装置还可以包括:查询保存模块30,用于在所述并行测试开始后, 每间隔预定时长,对所述被测设备的设备状态进行查询,并保存查询到的设备状态。其中,所述设备状态可以包括:所述被测设备的所有端口和/或板卡的工作状态。在本发明实施例中,所述被测设备为一个或多个支持多拓扑和多协议的设备。较佳地,所述支持多拓扑和多协议的设备可以包括:路由器或交换机。可以看出,相对于现有自动化测试方法中对于同一个测试对象统一设定一个自动化测试拓扑(环境)的做法,当被测对象是路由器或交换机这类本身就工作在多拓扑下的网络设备时,本发明实施例提供的这种将整个测试拓扑拆分成多个相对独立的测试子拓扑集,只要被测设备满足其中一个子拓扑就能进行相关模块的测试方式,不会因为不满足全部的既定拓扑而导致所有自动化测试脚本无法执行。通过本发明实施例,对于被测设备是路由器或交换机等网络设备的情况,可以依据不同的测试子拓扑能并行运行多个测试脚本子集,相对于传统单拓扑单进程的自动化测试方式,多个测试脚本的并行执行不仅能够节省测试时间、提高测试效率,更能暴露被测设备在单拓扑单功能测试中未能发现的问题。而且,由于定时查询被测设备状态的脚本的增加设计,可以保证全程记录被测设备所有端口/板卡的工作状态,有利于对被测设备测试状态的整体分析。以上所述是本发明的优选实施方式,应当指出,对于本领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为包含在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1