一种光网络单元vlan功能的自动化测试工具及测试方法
【专利摘要】本发明提供一种光网络单元vlan功能的自动化测试工具及测试方法。在电脑上设置由交互界面、文件系统、测试脚本组成的测试工具,先在交互界面上定制测试项和输入基本设置参数,再将参数和测试项存入文件系统中,再通过运行测试脚本,收集测试数据,并将数据存入文件系统,最后在界面上显示结果,并根据需求导出测试报告。本发明中使用交换机连接设备来实现所有端口的逐一测试。在vlan切换模式脚本中通过排列组合的方式,使用双重循环列出了所有可能的切换方式;在vlan混合模式脚本中使用最大组合数的方式,对尽可能多的端口进行多种模式的组合。本发明测试覆盖范围大,结果准确,能有效提升测试效率。
【专利说明】—种光网络单元vlan功能的自动化测试工具及测试方法
【技术领域】
[0001]本发明涉及数通产品的自动化测试领域,尤其涉及PON系统设备中一种ONU的vlan功能的自动化测试工具及测试方法。
【背景技术】
[0002]交互界面是人和计算机进行信息交换的通道,用户通过交互界面面向计算机输入信息、进行操作,计算机则通过交互界面向用户提供信息,以供阅读、分析和判断。当前交互界面运用最广泛的是图形用户界面,用户通过图形识别与控制交互元素,进行有目的性的操作,但由于文化差异和图形理解的误区,很多操作被演化为尝试,图形用户界面和人机交互过程极大程度地依赖于视觉和手动控制的参与。
[0003]文件系统是操作系统中用于明确磁盘或分区上的文件的方法和数据结构;即在磁盘上组织文件的方法。也指用于存储文件的磁盘或分区,或文件系统种类。本发明中的文件系统,指的就是存放文件的一块区域,具体形象来说就是一个大的文件夹。
[0004]在数通产品的自动化测试领域,应用最广泛的脚本语言是TCL,TCL(Tool CommandLanguage)是一种解释执行的脚本语言(Scripting Language)。它提供了通用的编程能力:支持变量、过程和控制结构;同时TCL还拥有一个功能强大的固有的核心命令集。各种测试仪可以提供API接口供tcl脚本进行访问引用。
[0005]TCL解释器将把扩展命令和扩展控制结构与固有命令和固有控制结构同等看待。扩展后的TCL语言将可以继承TCL核心部分的所有功能,包括核心命令、控制结构、数据类型、对过程的支持等。根据需要,我们甚至可以屏蔽掉TCL的某些固有命令和固有控制结构。通过对TCL的扩展、继承或屏蔽,用户用不着像平时定义一种计算机语言那样对词法、语法、语义、语用等各方面加以定义,就可以方便的为自己的应用领域提供一种功能完备的脚本语言。
[0006]现有技术方案中对PON (powerless optical network,无源光网络)系统设备的ONU (optical network unit,光网络单元)的vlan功能进行手工测试,在搭建拓扑之后,通过手动输入设备配置命令和配置测试仪器,先每个模式分别测试,再随机组合测试和随机切换测试,一般由于时间有限,不会测试所有端口。
[0007]因此,现有方法具有以下缺点:
1)手工测试效率低下,操作复杂,配置时间较长
2)受时间限制,无法对组合测试和切换测试做到全面覆盖,测试覆盖范围不足,尤其是在多端口设备的测试上。
[0008]3)由于需要多次进行手工操作,存在不确定性和安全隐患。
【发明内容】
[0009]本发明通过一种光网络单元vlan功能的自动化测试工具及测试方法,实现以下目的:1)由脚本自动进行配置操作,人工只需要运行脚本即可,使操作简单快速,提升测试效率;2)可以由脚本进行大量组合测试,使测试覆盖范围大,更全面;3)只需要人工输入参数、开始运行,由脚本进行固定配置和判断,使结果更准确。
[0010]为了达到上述目的,本发明的一个技术方案是提供一种光网络单元vlan功能的自动化测试工具,运行该工具的电脑通过测试仪对用户端设备的光网络单元执行自动化测试;
所述自动化测试工具,包含:交互界面,文件系统,和测试脚本;
所述交互界面,提供自动化测试工具的操作界面,对所述文件系统和测试脚本进行配置和管理,并控制所述测试脚本开始运行;
所述文件系统,将测试过程中的配置文件、测试参数和条件、测试结果的报告,存放到文件中;
所述测试脚本,从文件系统调用测试所需的文件,根据设定的公用函数脚本进行局端设备、用户端设备和测试仪的配置来自动执行测试过程,并将汇总的测试结果记录到文件系统的文件中,以便所述交互界面能够从文件系统中读取相应的文件获取测试结果并输出显不O
[0011]优选地,所述测试脚本中进一步包括:
telnet脚本,包含能够登录到局端设备和用户端设备进行配置命令输入的telnet函
数;
测试仪配置脚本,用来对测试仪进行初始化和基础检查,以及加载测试仪的脚本库; 配置命令脚本,包含执行每一项测试时所需要执行的命令配置函数;
文件操作脚本,包含对测试过程中的各个文件进行处理的函数;
测试项脚本,通过调用测试仪配置脚本和配置命令脚本,设置每一项测试执行的过程;以及,
测试执行脚本,通过调用其他所有脚本来执行自动化测试:调用telnet函数登录到所需要配置的设备,执行预设的测试项,输出测试结果。
[0012]优选地,所述交互界面进一步设置有:
文件操作模块,用来配置测试项和测试参数,对文件系统进行区域定义,并对文件进行
管理;
全局配置模块,用来输入全局参数;
功能菜单模块,用来提供测试功能的选择界面,并对应显示各测试功能所需条件参数的输入界面;
报告生成模块,用来将测试结果转换成excel表格;
输出模块,用来将测试配置文件、测试记录、测试结果即时显示。
[0013]优选地,所述文件系统是电脑中的一个文件夹。
[0014]本发明的另一个技术方案是提供一种光网络单元vlan功能的自动化测试方法,使用上述的自动化测试工具来实现,其包含以下过程:
打开文件通道,初始化环境;
调用telnet函数登录到局端设备和用户端设备,检查测试仪和设备的配置;
使用交换机作为测试仪与用户端设备对接,执行预设的若干个测试项,输出相应的测试结果; 关闭测试仪、关闭telnet函数、关闭文件通道,结束测试;
其中,每个测试项的执行进一步包含以下过程:
初始化测试仪和设备的配置;
测试仪发送一段时间的流量;
计算测试仪各端口的流量速率;
抓取测试仪各端口接收到的报文进行解析,并判断结果是否通过;
每项测试之间等待设定的时间间隔,使配置生效并测试记录处理。
[0015]优选地,所述测试仪发送的流量,包含:发送不带tag的流量、发送带tag的流量、发送多条带不同tag的流量;所述tag,是报文中的802.1Q vlan标志;每次开始发送流量之前,清除统计结果及抓包缓存。
[0016]优选地,所述的测试项,进一步包含:
单项vlan测试,每次重置配置后对各个端口的各个vlan模式进行逐项测试;vlan切换测试,通过两重循环对每个端口的各个vlan模式之间所有可能的切换进行测试;
vlan混合测试,使用最大组合数方式对配置为不同vlan模式的多个端口进行混合测试。
[0017]综上所述,本发明公开了一种测试ONU的vlan功能的自动化测试工具及测试方法。本工具主要由交互界面、文件系统、测试脚本组成。先在交互界面上定制测试项和输入基本设置参数,再将参数和测试项存入文件系统中,再通过运行测试脚本,收集测试数据,并将数据存入文件系统,最后在界面上显示结果,并根据需求导出测试报告。
[0018]本发明中使用交换机连接来实现所有端口的逐一测试。在vlan切换模式脚本中通过排列组合的方式,使用双层循环列出了所有可能的切换方式;在vlan混合模式脚本中使用最大组合数的方式,对尽可能多的端口进行多种模式的组合。
[0019]与现有最好技术相比,本发明的优点在于:
(1)使用脚本代替CUI的方式完成OLT配置命令下发,测试人员只需简单操作该工具就可向OLT下发配置命令,既可以节省输入时间,也可以避免学习不同OLT配置所花费的时间;
(2)使用脚本执行测试用例中的测试步骤,测试人员只需简单操作VLAN自动化工具就可完成测试步骤的执行,既可以减少人力的占用时间,也可以降低测试人员的技能要求;
(3)测试人员通过VLAN自动化工具运行测试脚本基本可以同时使用打流仪器和0LT,充分地利用了设备的空闲时间,极大地提高了设备的使用率;
(4)测试结果的判断,通过脚本采用既定的规则进行判断,相比纯人工测试的判断具有更高的可靠性。
[0020](5)测试数据的统计,将数据存放到数据库中,通过制定固定的规则,可以进行个性化和可视性高的统计输出。
[0021](6)测试结果的导出,可以通过该工具一键导出测试报告,测试结果清晰,可以根据需求定制测试报告格式。
[0022](7)使用此方法效率明显高于现有技术,自动化测试一项只需30s,手工测试测试一项大约需要5分钟,测试项也只能达到自动化测试的20%。如当手工测试项为15项时,手工测试时间为75分钟,此时自动化测试测试项可以达到75项,而测试时间只需要37.5分钟。
【专利附图】
【附图说明】
[0023]图1是本发明所述自动化测试工具的架构示意图;
图2是本发明中测试执行脚本的流程图;
图3是本发明中单项vlan测试模式的流程图;
图4是本发明中vlan切换测试模式的流程图;
图5是本发明中测试项脚本过程流程图。
【具体实施方式】
[0024]本发明涉及无源光网络(powerless optical network, PON)中一种光网络单元(optical network unit, ONU)的vlan功能的自动化测试工具及测试方法。
[0025]如图1所示,本发明所述的测试工具主要包括3个部分:1、交互界面,提供工具的操作界面,用于对文件系统和测试脚本进行配置和管理,显示文件内容和测试结果;2、文件系统,用于存放测试过程中需要使用的文件:例如,配置文件、测试数据、测试结果、日志记录,等等;3、测试脚本,包括自动执行测试过程中需要调用的公用函数脚本。
[0026]其中,所述交互界面可以对测试脚本进行单向操作,单向开始运行脚本;交互界面上输入的测试参数和条件会存入配置文件,所述测试脚本在执行时会从文件中调用这些参数;所述测试脚本在执行过程汇总输出的测试记录(结果)会存入配置文件,交互界面会即时读取对应的文件,显示在界面中。本发明的工具还可以生成excel测试报告,通过转换的脚本将测试记录文件中的数据以指定格式填入表格中。
[0027]具体的,本发明所述测试工具中的交互界面要实现的功能,主要包括:对文件系统进行区域定义;管理文件,进行导入导出;即时显示文件内容;配置测试项和测试参数。为了实现上述功能,所述交互界面设置有5个部分:1)文件操作模块;2)全局配置模块;3)功能菜单模块;4)报告生成模块;5)输出模块。
[0028]I)文件操作模块:用来新建测试项,导入/导出配置文件、导入/导出脚本,把测试项和配置、脚本关联,定义文件系统存放位置,一般一个功能的所有脚本和记录文件放在同一个目录下。
[0029]2)全局配置模块:用来输入全局参数,如仪器设备连接地址和用户名密码等。
[0030]3)功能菜单模块:用来按照系统、功能、子功能展开的三级菜单,选中后,会在右边显示所选的子功能所需要的条件参数输入界面;功能和子功能都可以打勾,勾选多个时会按照顺序执行所有功能的测试。
[0031]4)报告生成模块:用来测试过程中,测试脚本会将每一项的测试结果以记录文件的形式储存,点击生成报告按钮,即开始运行报告格式转换脚本,将测试结果记录文件中的信息转换成excel表格,然后存放在最初设置的文件夹中。
[0032]5)输出模块:用来将测试配置文件、测试记录、测试结果记录文件中的信息即时显示出来。
[0033]本发明所述测试工具中的文件系统,是用于存放配置文件、输入条件、测试脚本、测试记录、测试报告的存储系统。在本实施例中,使用电脑中的一个特定的文件夹进行文件存储。
[0034]本发明所述测试工具中的测试脚本,用于控制待测设备和测试仪,记录和判断测试结果。测试脚本进一步包括6个部分:测试执行脚本、测试项脚本、telnet脚本、测试仪配置脚本、配置命令脚本、文件操作脚本,通过在测试执行脚本中调用其他几个脚本来执行测试。
[0035]其中,本发明的测试执行脚本,用来调用telnet函数登录到所需要配置的设备,执行预设的测试项,输出总的测试结果。测试执行脚本中明确了功能测试的总流程,如图2所示,包含以下过程:
Al、打开文件通道,初始化环境;
A2、调用telnet函数登录到光线路终端OLT (optical line terminal)和ONU设备;初始化配置,包括:初始化OLT的PON 口和ONU的配置;检查测试仪和ONU的配置;
A3、交换机与ONU对接,执行单vlan测试项,逐一测试所有端口的vlan模式,同时输出单项测试结果;
A4、再次初始化配置,测试vlan切换测试项,输出测试结果;
A5、再次初始化配置,测试vlan混合测试项,输出测试结果;
A6、关闭测试仪,关闭telnet,关闭文件通道,结束测试。
[0036]在每项测试中间要有一小段时间间隔,可以是在A4、A5中再次初始化交换机、OLT的PON 口、ONU的配置之后等待设定的时间,上述流程中以IOs为例,用于使配置生效和测试记录处理。
[0037]本发明的测试项脚本设置了每一项测试执行的过程。每项测试时需要先配置测试设备和测试仪,所以需要调用测试仪配置脚本、配置命令脚本。即,所有子测试项进行测试时都必须经过这个过程:配置待测设备;配置测试仪,发送一段时间的流量;计算流量速率,或者抓取测试仪某端口接收到的报文进行解析,以判断结果是否通过。
[0038]其中,发送的流量进一步包括:发送不带tag的流量、发送带tag的流量、发送η条带不同tag的流量;这里tag指的是报文中的802.1Q vlan标志;tag=vlanlist,指的是802.1Qvlan标志中的VID号与vlanlist中的数值相同。在每次开始发送流量前都需要清除统计结果、抓包缓存等。
[0039]具体的,每项测试都会按照图5中所示的执行流程进行自动操作:
B1、配置ONU设备的vlan模式,检查vlan配置、测试仪配置;
B2、测试仪开始发送不带tag的流量,等待t后,读取各个端口的发送接收速率并输出;读取抓包结果并解析,判断结果是否通过;
B3、配置交换机、OLT的vlan,使带指定tag的流量能通过;
B4、根据设定的vlanlist进行循环:配置流量的tag,时间t后抓包,判断结果;
B5、停止流量发送,初始化ixia,配置流量tag,重新开始发送:对发η条流量,分别带tag= vlanlist,时间t后抓包,判断结果;
B6、清除配置后返回。
[0040]本发明中测试vlan功能的测试项脚本,可以进一步分为3个部分:单项vlan测试、vlan切换测试、vlan混合测试。[0041 ] I)所述单项vlan测试是对各个vlan模式和各个端口的逐项测试,每项测试都是先清除配置再进行测试;如图3所示,列举了一个端口的单vlan测试模式的以下流程:
Cl、交换机选择启用其中一个端口,开始测试;
C2、配置ONU设备,测试该端口的其中一个vlan模式;
C3、重新配置ONU设备,测试该端口的下一个vlan模式;
C4、以此类推,重复B3过程,直至依次完成该端口所有vlan模式的测试后,结束该端口测试并返回。
[0042]在完成当前选定端口的测试之后,使交换机切换到另一个端口,执行类似Cf C4的过程;直到完成所有端口的测试后,结束测试并返回。
[0043]2)所述vlan切换测试是对每个端口的各个vlan模式之间的切换进行测试,通过两重循环实现所有可能的切换的测试。如图4所示,列举了其中一个端口进行模式切换的以下流程:
D1、交换机选择启用其中一个端口,开始测试;初始化i=l,并设定η为所有vlan模式的总数;
D2、判断i是否小于等于η:如果i小于等于n,则初始化j=l并继续执行D3,否则结束测试并返回;
D3、判断j是否小于等于η:如果j小于等于n,则继续执行D4,否则执行i++后返回至D2进行判断;
D4、判断j和i是否相等:如果相等则执行j++后返回至D3进行判断,如果不相等则从模式i切换到模式j并继续执行D5 ;
D5、模式切换后执行模式j的测试,测试完成执行j++,之后返回至D3进行判断。
[0044]也就是说,通过上述过程,先对当前选定端口的第一个vlan模式切换到该端口中除该模式以外的其他所有vlan模式的情况分别进行测试;再跳转到该端口的下一个vlan模式执行切换其他模式及测试的操作。在当前选定端口的所有vlan模式切换方式都测试完毕以后,使交换机切换到下一个端口,进行类似Df D5的过程。
[0045]3)所述vlan混合测试是对配置为不同vlan模式的多个端口进行混合测试:即,同时选中多个端口一起测试(端口数小于等于所有vlan模式的总数),将每个端口配置为不同的vlan模式,同时进行测试。
[0046]这里的组合方式有两种情况:a、端口数大于等于vlan模式总数,此时需要选中数量等于模式总数的端口,每个端口配置不同的vlan模式,进行测试;b、端口数小于vlan模式总数,此时需要在所有端口上同时配置不同的vlan模式,这时就需要使用排列组合列出所有的组合方式。
[0047]本发明的Telnet脚本是进行配置的基础,测试过程中需要对测试系统中的局端设备和用户端设备进行配置,就需要通过telnet的方式登录到设备上,输入配置命令。telnet脚本是所有需要通过telnet测试的功能都需要的,可以反复使用,该脚本在测试执行脚本中调用。
[0048]本发明的配置命令脚本是执行每一项测试时所需要执行的命令配置函数,在测试项脚本中调用。
[0049]本发明的测试仪配置脚本,测试仪配置脚本主要是对测试仪进行初始化和一些基础检查,以及加载测试仪的脚本库。
[0050]本发明的文件操作脚本是用于对测试过程中各个文件的处理,包括将测试结果以特定格式输出的转换函数,可以通过修改转换函数来修改所需要的格式。
[0051]以下介绍本发明的一个具体操作实例:
预置条件为已导入脚本并设置脚本目录和文件系统目录;
测试操作步骤包括:
1、手工搭建测试拓扑,建立好连接;
2、在电脑上运行本发明的测试工具,在全局配置模块中填入测试仪相关地址,选择测试vlan功能,选择测试项为全部,填入测试需要的局端和终端的管理地址和用户名密码。
[0052]3、点击开始,当输出界面提示测试结束时,点击生成报告。
[0053]在其他的实施例中,本发明还可以有以下的替代方案:
不同的功能进行自动化测试只需要根据需求编写不同的测试执行脚本、测试项脚本、配置命令脚本即可,telnet脚本、测试仪配置脚本、文件操作脚本可以重复使用。
[0054]如果需要长期使用的自动化测试平台,或者需要进行一些个性化统计输出,可以使用数据库取代文件系统,数据库的主要作用在于管理设备的配置命令、测试数据的搜集和统计、测试结果的记录,以及测试日志信息的记录。使用数据库,有利于增强数据的管理、统计和维护。
[0055]如果测试内容较少或使用次数很少,为了减少开发成本,也可以将去掉交互界面,通过直接对输入文件、配置文件进行操作,再手动运行测试脚本来执行测试。如此,则可以减少一定的开发成本。
[0056]本发明中的工具结构也适用于自动化测试平台开发,可以增强可扩展性,通过界面增加或删除脚本,通过数据库管理多种设备、多个功能的配置脚本,通过简单修改也可以实现对测试结果的可视化统计。
[0057]尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
【权利要求】
1.一种光网络单元Vlan功能的自动化测试工具,运行该工具的电脑通过测试仪对用户端设备的光网络单元执行自动化测试,其特征在于, 所述自动化测试工具,包含:交互界面,文件系统,和测试脚本; 所述交互界面,提供自动化测试工具的操作界面,对所述文件系统和测试脚本进行配置和管理,并控制所述测试脚本开始运行; 所述文件系统,将测试过程中的配置文件、测试参数和条件、测试结果的报告,存放到文件中; 所述测试脚本,从文件系统调用测试所需的文件,根据设定的公用函数脚本进行局端设备、用户端设备和测试仪的配置来自动执行测试过程,并将汇总的测试结果记录到文件系统的文件中,以便所述交互界面能够从文件系统中读取相应的文件获取测试结果并输出显不O
2.如权利要求1所述的自动化测试工具,其特征在于, 所述测试脚本中进一步包括: telnet脚本,包含能够登录到局端设备和用户端设备进行配置命令输入的telnet函数; 测试仪配置脚本,用来对测试仪进行初始化和基础检查,以及加载测试仪的脚本库; 配置命令脚本,包含执行每一项测试时所需要执行的命令配置函数; 文件操作脚本,包含对测试过程中的各个文件进行处理的函数; 测试项脚本,通过调用测试仪配置脚本和配置命令脚本,设置每一项测试执行的过程;以及,` 测试执行脚本,通过调用其他所有脚本来执行自动化测试:调用telnet函数登录到所需要配置的设备,执行预设的测试项,输出测试结果。
3.如权利要求1所述的自动化测试工具,其特征在于,所述交互界面进一步设置有: 文件操作模块,用来配置测试项和测试参数,对文件系统进行区域定义,并对文件进行管理; 全局配置模块,用来输入全局参数; 功能菜单模块,用来提供测试功能的选择界面,并对应显示各测试功能所需条件参数的输入界面; 报告生成模块,用来将测试结果转换成excel表格; 输出模块,用来将测试配置文件、测试记录、测试结果即时显示。
4.如权利要求1所述的自动化测试工具,其特征在于, 所述文件系统是电脑中的一个文件夹。
5.一种光网络单元vlan功能的自动化测试方法,使用如权利要求2所述的自动化测试工具来实现,其特征在于,包含以下过程: 打开文件通道,初始化环境; 调用telnet函数登录到局端设备和用户端设备,检查测试仪和设备的配置; 使用交换机作为测试仪与用户端设备对接,执行预设的测试项,输出相应的测试结果; 关闭测试仪、关闭telnet函数、关闭文件通道,结束测试;其中,每个测试项的执行进一步包含以下过程: 初始化测试仪和设备的配置; 测试仪发送一段时间的流量; 计算测试仪各端口的流量速率; 抓取测试仪各端口接收到的报文进行解析,并判断结果是否通过; 每项测试之间等待设定的时间间隔,使配置生效并测试记录处理。
6.如权利要求5所述的自动化测试方法,其特征在于, 所述测试仪发送的流量,包含:发送不带tag的流量、发送带tag的流量、发送多条带不同tag的流量;所述tag,是报文中的802.1Q vlan标志;每次开始发送流量之前,清除统计结果及抓包缓存。
7.如权利要求5所述的自动化测试方法,其特征在于, 所述的测试项,进一步包含: 单项vlan测试,每次重置配置后对各个端口的各个vlan模式进行逐项测试;vlan切换测试,通过两重循环对每个端口的各个vlan模式之间所有可能的切换进行测试; vlan混合测试,使用最大组合数方式对配置为不同vlan模式的多个端口进行混合测试。`
【文档编号】H04B10/07GK103684581SQ201310714131
【公开日】2014年3月26日 申请日期:2013年12月20日 优先权日:2013年12月20日
【发明者】缪友坚, 石武阳, 徐佳敏 申请人:上海斐讯数据通信技术有限公司