一种工业交换机自动化测试平台及测试方法与流程

文档序号:14124515阅读:694来源:国知局
一种工业交换机自动化测试平台及测试方法与流程

本发明涉及自动化测试领域,具体涉及一种工业交换机自动化测试平台及测试方法。



背景技术:

随着大型工业控制网络的崛起及工业以太网的大量使用,工业交换机与工业网络通讯更加接近,导致工业网络对工业交换机的需求越来越高。目前的工业交换机测试基本上需要人工进行,对人力成本要求高,测试效率较低。而目前的交换机自动化测试平台只支持简单的通信稳定性测试,该测试人工操作流程简单,仅仅拥有单一测试功能的自动化测试亟需提高测试效率。

申请号为201611186075.9的发明专利申请公开了一种交换机自动化测试装置及测试方法,将待测交换机、测试主机、测试仪、可编程电源及高低温箱通过网线或者串口线连接,通过测试主机控制高低温箱、编程电源及测试仪发包,只能测试简单的高低温等情况下通信稳定性,且只能同时支持一台交换机的测试。该项测试人为操作简单且参与少,出错率低,仅将这此测试项实现自动化并不能完全代替人工进行复杂测试,故对测试效率的提升并不明显。

申请号为201210418681.4的发明专利申请公开了一种交换机测试系统及交换机测试方法。该系统利用上位机、数据输出及输入模块和继电器模块。数据输出模块根据上位机的指令控制继电器的导通状态,上位机发送ping包检测通信性能。该测试系统虽然实现了测试自动化,但是实现的功能仅仅是测试交换机基本的通信性能,该测试若实行人工测试,操作也比较简单。

综上,为单一的测试项实现自动化,并没有明显提高测试效率,反而提高了测试成本。



技术实现要素:

针对现有技术中存在的问题,本发明的目的在于提供一种工业交换机自动化测试平台,该测试平台不仅支持简单的通信稳定性测试,还支持rfc2544二、三层,rfc2889二、三层,802.1qvlan等标准及协议的测试。本发明的另一目的在于提供一种工业交换机自动化测试方法。

为实现上述目的,本发明采用以下技术方案:

一种工业交换机自动化测试平台,所述测试平台包括控制端主机、被测交换机、测试仪、平台交换机以及中心交换机;其中,所述控制端主机通过网线与所述中心交换机相连,所述被测交换机通过网线分别与中心交换机及所述测试仪相连;测试仪通过网线与中心交换机相连;所述平台交换机通过网线与中心交换机相连,与被测交换机或测试仪进行交互通信;测试平台中各设备之间端口连接关系记录在初始化测试脚本中。

进一步,所述控制端主机预先安装与所述测试仪配套的测试软件及测试脚本,该测试脚本包括:初始化测试脚本、全局测试脚本、各个测试项测试脚本、测试仪配置脚本、telnet配置脚本以及本地文件模块。

一种使用本发明的工业交换机自动化测试平台进行测试的测试方法,所述测试方法为:全局测试脚本首先查询由测试人员编辑后的初始化测试脚本,获取被测交换机信息及待测试项;若存在待测试项则继续测试,不存在待测试项则停止测试;全局测试脚本根据待测试项逐项调用对应的测试项测试脚本,;随后全局测试脚本调取初始化测试脚本,删除待测项列表中刚刚调用其测试项测试脚本的测试项;测试项测试脚本依据自身脚本规则执行该测试项整体测试步骤,其中每个测试项测试脚本都包含该项测试所需各设备端口数及平台交换机数量;随后测试项测试脚本调用测试仪配置脚本,测试仪配置脚本使用测试仪配套软件自带功能,即检查测试仪空闲端口的功能,并为该测试项预定要求的测试仪端口数;测试项测试脚本查询初始化测试脚本,获取该测试所处ip网段,用来限制接下来的ip自动配置,获取各设备间端口连接关系,用来为该测试项各设备所需端口的连接做准备;测试项测试脚本依据各设备端口连接关系获取到与已预定的测试仪端口相连的被测交换机或平台交换机端口,测试项测试脚本调用telnet配置脚本依据自身规则配置被测交换机及平台交换机相应端口;测试项测试脚本随后调用测试仪配置脚本,配置测试仪相应端口发包规则;各设备在当前配置完成并规定的通信时间后,测试项测试脚本调用测试仪配置脚本获取测试数据,进行结果判比;若判比不通过或者判比通过且被测交换机、平台交换机或测试仪不需要再配置,测试项测试脚本调用初始化测试脚本及本地文件模块结合获取到的测试数据生成测试log;若判比通过且该测试项还需更改相应设备配置进行后续测试,则测试项测试脚本继续调用测试仪配置脚本或telnet配置脚本,更改测试仪、被测交换机或平台交换机的配置,待平台进行规定时间的通信后,测试项测试脚本调用测试仪配置脚本获取测试数据进行判比;若判比不通过或判比通过且相应设备无需后续配置更改,则测试项测试脚本调用初始化测试脚本及本地文件模块结合获取到的测试数据生成测试log,若判比结果通过且仍需更改相应设备配置则测试项测试脚本继续调用测试仪配置脚本或telnet配置脚本,更改测试仪、被测交换机或平台交换机的配置,待平台进行规定时间的通信后,测试项测试脚本调用测试仪配置脚本获取测试数据进行判比,如此循环,直至该项无需更改相应设备配置,测试项测试脚本调用初始化测试脚本及本地文件模块结合获取到的数据生成测试log;单个测试项完成后,测试项测试脚本调用全局测试脚本跳出该项测试;全局测试脚本继续查询初始化测试脚本,调用下一个测试项的测试项测试脚本。

本发明具有以下有益技术效果:

本发明设计的自动化测试平台不仅支持简单的通信稳定性测试,还支持rfc2544二、三层,rfc2889二、三层,802.1qvlan等标准及协议的测试。该平台支持多台不同被测交换机同时测试,相应地要求多台控制端主机。该平台支持多种测试项,免去人工测试的繁琐操作,一定程度上提高了测试效率。本发明的测试平台设计思路支持多种测试项,免去人工测试的繁琐操作,一定程度上提高了测试效率,具有较大实际意义。

附图说明

图1为本发明的平台拓扑图(实线为网线,虚线为可增加设备所连网线);

图2为本实发明的测试项脚本流程图(序号为处理优先级,对比优先级时只考虑箭头出方向);

图3为本实发明的平台各设备多次配置及判定流程图;

图4为mac地址学习被测交换机与测试仪连接图(虚线为该测试项被关闭端口之间的相连网线);

图5为错误帧过滤被测交换机与测试仪连接图(虚线为该测试项被关闭端口之间的相连网线)。

具体实施方式

下面,参考附图,对本发明进行更全面的说明,附图中示出了本发明的示例性实施例。然而,本发明可以体现为多种不同形式,并不应理解为局限于这里叙述的示例性实施例。而是,提供这些实施例,从而使本发明全面和完整,并将本发明的范围完全地传达给本领域的普通技术人员。

如图1所示,本发明提供了一种工业交换机自动化测试平台,该测试平台包括控制端主机、被测交换机、测试仪、平台交换机以及中心交换机。以下描述将控制端主机简称为ucc,被测交换机简称为dut。ucc预先安装与测试仪配套的测试软件及依据本发明公布的测试脚本设计思路设计的测试脚本。脚本包括:初始化测试脚本、全局测试脚本、各个测试项测试脚本、测试仪配置脚本、telnet配置脚本、本地文件模块等。该平台ucc通过网线与中心交换机相连,dut通过网线分别与中心交换机及测试仪相连,平台交换机通过网线与中心交换机相连。测试仪通过网线与中心交换机及dut相连,作用为与dut及平台交换机交互通信。平台各设备之间端口连接关系记录在初始化测试脚本中,dut第一次接入平台时,需在初始化测试脚本中编辑平台各端口间的连接关系,以便测试时其他脚本获取,同样地,连接端口变化时在初始化测试配置脚本文件中修改即可。各脚本当中,初始化测试脚本包含dut待测试项、测试所处的ip网段及各设备间端口连接关系。全局测试脚本在开始测试时查询初始化测试脚本,获取待测试项等数据,为之后逐项调用测试项测试脚本做准备。全局测试脚本根据待测项逐项调用测试项测试脚本,每调用一次测试项测试脚本,全局测试脚本都会从初始化测试脚本的待测试项列表中删除该测试项,以避免重复测试。telnet配置脚本及测试仪配置脚本则依据测试项测试脚本的调用进行dut、平台交换机的自动配置及测试仪的自动配置。测试项测试脚本规定了该测试项的测试规则,每个测试项都有对应的测试项测试脚本,为简便起见,以下描述除实例外将各测试项不同的测试项测试脚本统称为测试项测试脚本。每个测试项测试脚本包含该测试项所需各设备的端口数及平台交换机数量等信息,其执行时检查自身脚本规定所需测试仪端口数及平台交换机数量,调用测试仪配置脚本预定相应数量的测试仪端口。随后测试项测试脚本查询初始化测试脚本来获取测试所处ip网段、各设备间端口连接关系,调用telnet配置脚本来配置dut及平台交换机,调用测试仪配置脚本来配置测试仪。每个测试项的测试项测试脚本都规定了dut、平台交换机、测试仪的配置及是否需要再次更改配置。单个测试项测试完成后,测试项测试脚本会调用初始化测试脚本及本地文件模块,结合通过调用测试仪配置脚本获取到的测试数据,生成测试log。随后测试项测试脚本调用全局测试脚本,跳出该项测试,继续该dut的下一项测试。

在测试时,测试人员预先在ucc上使用文本编辑器编辑初始化测试脚本,编辑内容包括各设备端口间连接关系、dut的sn码、mac地址、测试所属ip范围及待测试用例项等。随后执行全局测试脚本,开始自动化测试。

如图2所示,全局测试脚本首先查询由测试人员编辑后的初始化测试脚本,获取dut待测试项,这对应于图2中序号①所示步骤,此处存在判定,若存在待测试项则继续测试,不存在待测试项则停止测试。全局测试脚本根据待测试项逐项调用对应的测试项测试脚本,这对应图2中序号②所示步骤。随后全局测试脚本调取初始化测试脚本,删除待测项列表中刚刚调用其测试项测试脚本的测试项,这对应于图2中的序号③所示步骤。测试项测试脚本依据自身脚本规则执行该测试项整体测试步骤,其中每个测试项测试脚本都包含该项测试所需各设备端口数及平台交换机数量。随后测试项测试脚本调用测试仪配置脚本,测试仪配置脚本使用测试仪配套软件自带功能,即检查测试仪空闲端口的功能,并为该测试项预定要求的测试仪端口数,这对应图2中的序号④所示步骤。测试项测试脚本查询初始化测试脚本,获取该测试所处ip网段,用来限制接下来的ip自动配置,获取各设备间端口连接关系,用来为该测试项各设备所需端口的连接做准备,这对应图2中的序号⑤所示步骤。测试项测试脚本依据各设备端口连接关系获取到与已预定的测试仪端口相连的dut或平台交换机端口,测试项测试脚本调用telnet配置脚本依据自身规则配置dut及平台交换机相应端口,比如配置交换机端口up&down或者端口vlanid等其他交换机配置,这对应于图2中的序号⑥所示步骤。测试项测试脚本随后调用测试仪配置脚本,配置测试仪相应端口发包规则,这对应于图2中序号⑦所示步骤。各设备在当前配置完成并规定的通信时间后,测试项测试脚本调用测试仪配置脚本获取测试数据,进行结果判比,这对应图2中的序号⑧所示步骤。若判比不通过或者判比通过且dut、平台交换机或测试仪不需要再配置,测试项测试脚本调用初始化测试脚本及本地文件模块结合获取到的测试数据生成测试log,这对应于图二中序号⑧、⑩、所示步骤,跳过图2中序号⑨所示的虚线步骤。若判比通过且该测试项还需更改相应设备配置进行后续测试,比如调用测试仪配置脚本控制测试仪从某些端口单向发包改为双向发包,则测试项测试脚本继续调用测试仪配置脚本或telnet配置脚本,更改测试仪、dut或平台交换机的配置,待平台进行规定时间的通信后,测试项测试脚本调用测试仪配置脚本获取测试数据进行判比,这对应图2中序号⑨所示步骤。若判比不通过或判比通过且相应设备无需后续配置更改,则测试项测试脚本调用初始化测试脚本及本地文件模块结合获取到的测试数据生成测试log,若判比结果通过且仍需更改相应设备配置则继续进行图2中序号⑨所示步骤,如此循环,直至该项五需更改相应设备配置,测试项测试脚本调用初始化测试脚本及本地文件模块结合获取到的数据生成测试log,如图2中序号⑨、⑩、所示步骤。同样,图3中整体流程图中的序号⑧所示步骤判定也说明了这一点。需要注意的是,测试项测试脚本对应于每一个测试项都有相应的步骤规定图2及图3所示步骤只是对脚本设计的一个说明。单个测试项完成后,测试项测试脚本调用全局测试脚本跳出该项测试,这对于图2中序号所示步骤。全局测试脚本继续查询初始化测试脚本,调用下一个测试项的测试项测试脚本。

图3中各序号为脚本处理顺序与图2的区别是图3详细表述了测试项测试脚本判定及各设备再次配置前后各脚本的执行步骤。

下面就普通32口二层交换机为例,对本发明的实施方式进行进一步说明。另外,若多个被测交换机同时进行测试则只需在初始化测试脚本中编辑不同测试ip网段即可,其余步骤与下述细节原理一致。

本实例列举两个具体测试项,即假设该dut需测试的测试项有rfc2889二层性能中的mac地址学习及错误帧过滤。该测试拓扑图如图1所示,该测试流程图如图2所示,mac地址学习测试项的dut与测试仪连接关系如图4所示,错误帧过滤测试项的dut与测试仪连接关系如图5所示。首先测试人员编辑初始化测试脚本中各设备端口间连接关系、dut信息,编辑该测试网段为192.168.1.1/24,编辑待测试项为rfc2889二层性能中的mac地址学习及错误帧过滤。运行全局测试脚本,全局测试脚本查询初始化配置脚本,获取到该dut待测项为mac地址学习及错误帧过滤,判比结果为继续测试,如图2中序号①步骤所示。随后全局测试脚本调用第一个测试项测试脚本,即mac地址学习测试项测试脚本,如图2中序号②步骤所示。全局测试脚本调取初始化测试脚本,删除待测项列表中的mac地址学习测试项,这对应于图2中的序号③所示步骤。mac地址学习测试项测试脚本依据自身脚本规则执行该测试项整体测试步骤,其脚本规定该测试项所需测试仪端口数为4,平台交换机数量0。随后mac地址学习测试项测试脚本调用测试仪配置脚本,调用测试仪配套软件自带功能,即检查测试仪空闲端口的功能,为该测试项预定要求的测试仪端口数,这对应图二中的序号所示④。mac地址学习测试项测试脚本查询初始化测试脚本,获取该测试所处ip网段为192.168.1.1/24,据此限制接下来的ip自动配置,获取各设备间端口连接关系,如图2中序号⑤步骤所示。测试仪端口预定完成后,mac地址学习测试项测试脚本依据各设备端口连接关系获取到与已预定的4个测试仪端口相连的dut端口,调用telnet配置脚本配置dut与测试仪相连的4个端口,配置该4个端口为up状态,vlanid默认为1,ip地址为192.168.1.2/24,线速转发,如图2中序号⑥步骤所示,其中dut和测试仪端口连接关系如图4所示。mac地址学习测试项测试脚本随后调用测试仪配置脚本,其配置测试仪相应的4个端口发包规则,配置测试仪a端口向b端口持续发送5s的100%的64字节大小的包,如图2中序号⑦步骤所示。待规定5s的通信时间后,mac地址学习测试项测试脚本调用测试仪配置脚本获取测试数据,即各端口收发包情况,用来与自身脚本设定值进行判比,如图2中序号⑧步骤所示。其中设定值为测试仪b、c、d端口均收到来自a端口的数据,若判比结果不通过,则mac地址学习测试项测试脚本调用初始化测试脚本及本地文件模块结合获取到的测试数据生成测试log。若判比结果通过,则mac地址学习测试项测试脚本继续调用测试仪配置脚本,配置测试仪b端口持续发送5s数据帧,随后a端口向b端口单向发送5s的64字节大小的包,待规定的通信时间结束后,mac地址学习测试项测试脚本调用测试仪配置脚本获取测试数据,与自身脚本设定值进行判比,这对应图2中序号⑨所示步骤。设定值为只有b端口收到来自a端口的数据,无论判比结果通过与否,mac地址学习测试项测试脚本都会调用初始化测试脚本及本地文件模块结合获取到的测试数据生成测试log,这对应图2中序号⑨、⑩、所示步骤。随后mac地址学习测试项测试脚本调用全局测试脚本,跳出mac地址学习测试项的测试,这对应于图2中的序号所示步骤。全局测试脚本继续查询初始化测试脚本,这对应图2中序号①所示步骤,调用下一个测试项的测试项测试脚本,即错误帧过滤测试项测试脚本,这对应图2中序号②所示步骤。全局测试脚本调取初始化测试脚本,删除待测试表项中的错误帧过滤一项,这对应图2中的序号③所示步骤。错误帧过滤测试项测试脚本依据自身脚本规则执行该测试项整体测试步骤,其脚本规定该测试项所需测试仪端口数为2,平台交换机数量0。随后错误帧过滤测试项测试脚本调用测试仪配置脚本,调用测试仪配套软件自带功能,即检查测试仪空闲端口的功能,为该测试项预定要求的测试仪端口数,这对应图2中的序号④所示步骤。错误帧过滤测试项测试脚本查询初始化测试脚本,获取该测试所处ip网段为192.168.1.1/24,据此限制接下来的ip自动配置,获取各设备间端口连接关系,如图2中序号⑤所示步骤。测试仪端口预定完成后,错误帧过滤测试项测试脚本依据各设备端口连接关系获取到与已预定的2个测试仪端口相连的dut端口,调用telnet配置脚本配置dut与测试仪相连的2个端口,配置该2个端口为up状态,vlanid默认为1,ip地址为192.168.1.2/24,线速转发,如图2中序号⑥所示步骤,其中dut和测试仪端口连接关系如图5图5所示。错误帧测试项测试脚本随后调用测试仪配置脚本,其配置测试仪相应的2个端口发包规则,配置测试仪a端口向b端口持续发送5s的64字节大小的数据帧,如图2中序号⑦所示步骤。待规定5s的通信时间后,错误帧过滤测试项测试脚本调用测试仪配置脚本获取测试数据,即各端口收发包情况,用来与自身脚本设定值进行判比,如图2中序号⑧所示步骤。其中设定值为测试仪b端口收到来自a端口的数据,若判比结果不通过,则错误帧过滤测试项测试脚本调用初始化测试脚本及本地文件模块结合获取到的测试数据生成测试log。若判比结果通过,则错误帧过滤测试项测试脚本继续调用测试仪配置脚本,配置测试仪a端口持续发送5s的63字节大小的数据帧,待规定的5s通信时间结束后,错误帧过滤测试项测试脚本调用测试仪配置脚本获取测试数据,与自身脚本设定值进行判比,这对应图2中序号⑨所示步骤。设定值为b端口未收到来自a端口的数据,无论判比结果通过与否,错误帧过滤测试项测试脚本都会调用初始化测试脚本及本地文件模块结合获取到的测试数据生成测试log,这对应图2中序号⑨、⑩、所示步骤。随后错误帧过滤测试项测试脚本调用全局测试脚本,跳出错误帧过滤测试项的测试,这对应于图2中的序号所示步骤。全局测试脚本继续查询初始化测试脚本,这对应图2中序号①所示步骤,经过判比,发现待测表项中无待测项,结束测试。至此,该32口二层交换机测试结束,测试log保存在本地,该设计方案实现了交换机自动化的测试。

本发明设计的自动化测试平台不仅支持简单的通信稳定性测试,还支持rfc2544二、三层,rfc2889二、三层,802.1qvlan等标准及协议的测试。该平台支持多台不同被测交换机同时测试,相应地要求多台控制端主机。该平台支持多种测试项,免去人工测试的繁琐操作,一定程度上提高了测试效率。

上面所述只是为了说明本发明,应该理解为本发明并不局限于以上实施例,符合本发明思想的各种变通形式均在本发明的保护范围之内。

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