辅助交换机验证符合IEEE802.3标准规范的自动化测试工具的制作方法

文档序号:15357875发布日期:2018-09-05 00:13阅读:412来源:国知局

本发明涉及一种物理层协议自动化测试工具,特别涉及一种辅助交换机验证符合ieee802.3标准规范的自动化测试工具,属于网络通信技术领域。



背景技术:

ieeestd802.3协议是一个使用csmla/cd媒体访问控制方法的局域网标准,主要是提供一种行业规范,各个厂家按照统一的标准设计并制造自己的产品。然而,因为目前并没有任何组织制定出相关的检验标准,最终用户并不能确定设备厂商是否完全按照标准来生产自己所使用的交换机,交换机的物理层实现是否符合ieeestd802.3标准规范,是否存在缺陷,因此,有必要对厂商提供的交换机是否符合ieeestd802.3标准规范进行测试。

对于交换机来说,ieeestd802.3协议主要影响到的就是物理端口的相关实现,自协商能力的支持是否符合相关协议标准。而ieeestd802.3协议定义的自协商能力集有很多配置组合,若采用手工覆盖则非常繁琐,并且协议一直在演进,需要使用标准测试工具来保证对交换机是否符合ieeestd802.3标准规范进行测试的一致性。



技术实现要素:

针对现有技术的不足,本发明的主要目的在于:基于ieeestd802.3的定义,设计出合理的验证方案,评估各厂商生产的交换机对协议标准的某些条款的支持是否良好,提出一种辅助交换机验证符合ieee802.3标准规范的自动化测试工具,用于验证交换机的自协商能力,主要用于验证以下条款:

37.auto-negotiationfunction,type1000base-x

72.physicalmediumdependentsublayerandbasebandmedium,type10gbase-kr

73.auto-negotiationforbackplaneandcoppercableassembly

74.forwarderrorcorrection(fec)sublayerforbase-rphys

91.reed-solomonforwarderrorcorrection(rs-fec)sublayerfor100gbase-rphys

为实现前述目的,本发明公开了一种辅助交换机验证符合ieee802.3标准规范的自动化测试工具,具体包括:

控制模块,用于管理其他模块间的交互;

测试用例设计模块,用于根据相关协议标准定义速率自协商测试用例;

测试执行模块,用于对同型号交换机之间根据测试用例进行速率自协商检测,验证所述型号交换机对协议支持是否符合标准;

测试报告生成模块,用于根据测试执行模块的测试结果,生成测试报告;

人机交互模块,用于提供人机交互操作界面,接收用户测试请求。

优选地,所述工具还包括测试脚本生成模块,用于根据测试用例生成自动化测试脚本,测试执行模块调用所述自动化测试脚本执行测试。

优选地,所述根据相关协议标准定义速率自协商测试用例包括:根据相关协议标准定义所有速率组合,以及每组速率组合对应的最终的链路状态。

优选地,所述对同型号交换机之间根据测试用例进行速率自协商检测的过程具体包括:

所述测试执行模块根据所述测试用例设计模块定义的速率组合,在两端所述型号的交换机上配置出相关能力集,互相发送给对端,检查通信链路状态与定义的预期链路状态是否一致,

若一致,按照当前速率,引入数据流量进行发包验证,检查通信链路是否保持完好,若通信链路都保持完好,则表示所述型号交换机对当前速率的支持能力良好;否则,表示所述型号交换机对当前速率的支持能力不良;

若不一致,表示所述型号交换机的自协商能力不符合相关协议标准。

优选地,测试执行模块在所述型号交换机上配置相关能力集时,若所述型号交换机设备无法提供命令配出全部预定义的速率组合,表示所述型号交换机对自协商相关协议标准的支持不完整。

优选地,在进行发包验证时,若通信链路状态不稳定且发生丢包现象,则表示所述型号交换机对cl-72协议支持不良。

优选地,所述检测过程还包括:修改所述型号交换机端口的fec能力位,检查通信链路状态与定义的预期链路状态是否一致,以及进行发包验证时,通信链路是否都保持完好,若通信链路状态一致且发包验证时通信链路保持完好,则表示所述型号交换机对cl-74和cl-91协议支持良好。

优选地,所述检测过程还包括:执行所有测试用例时采取乱序反复循环的方式进行压力验证,检查自协商是否存在异常,若不存在,表示所述型号交换机自协商能力通过压力验证;否则,表示所述型号交换机自协商能力未通过压力测试。

优选地,所述工具使用tcl语言实现。

与现有技术相比,本发明的优点在于:本发明提供了一种辅助交换机验证符合ieee802.3标准规范的自动化测试工具,用于对交换机自协商能力是否符合相关协议标准进行验证,采用本工具可实现测试自动化,且易于扩展测试用例,提高了测试的准确性和全面性。

附图说明

图1是本发明一典型实施例提出的辅助交换机验证符合ieee802.3标准规范的自动化测试工具结构示意图;

图2是本发明一典型实施例提出的交换机能够支持的速率单循环组合表部分示意图;

图3是本发明一典型实施例提出的测试结果部分示意图;

图4时本发明一典型实施例提出的测试工具gui示意图。

具体实施方式

鉴于现有技术中的不足,本案发明人经长期研究和大量实践,得以提出本发明的技术方案。如下将对该技术方案、其实施过程及原理等作进一步的解释说明。

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本发明技术方案公开了一种辅助交换机验证符合ieee802.3标准规范的自动化测试工具,用于验证交换机自协商能力,图1是本发明一典型实施例提出的辅助交换机验证符合ieee802.3标准规范的自动化测试工具结构示意图,所述工具具体包括:

控制模块100,用于管理其他模块间的交互;

测试用例设计模块101,用于根据相关协议标准定义速率自协商测试用例;

测试执行模块102,用于对同型号交换机之间根据测试用例进行速率自协商检测,验证所述型号交换机对协议支持是否符合标准;

测试报告生成模块103,用于根据测试执行模块的测试结果,生成测试报告;

人机交互模块104,用于提供人机交互操作界面,接收用户测试请求。

优选地,所述工具还包括测试脚本生成模块105,用于根据测试用例生成自动化测试脚本,测试执行模块调用所述自动化测试脚本执行测试。

本发明典型实施例所公开的辅助交换机验证符合ieee802.3标准规范的自动化测试工具,主要用于验证交换机自协商能力,具体地提供对ieeestd802.3cl-37/72/73/74/91标准的测试(cl-xx中数字表示的是其在ieeestd802.3文档中的第几章节)。cl-37和cl-73都是速率的自协商标准协议,其主要区别是分别定义1g及以下介质类型和10g及以上介质,因此下文通过对cl-73标准的验证为例,来对本发明技术方案的原理和实施过程做进一步阐述。

自协商过程就是两端的交换机接口都需要先设定自己支持的能力集,然后互相发送给对端,两端通过比较从交集中选出支持的最优能力(如速率,fec类型等),如果能协商成功,最终链路就能正常连接,否则协商失败,链路无法正常连接。本发明典型实施例所述的测试工具所采用的验证原理就是对各种能力集的组合,然后判断链路最终能否正常连接,转发是否异常。

ieee802.373.6章节定义了一张bitmap,用来申明自己的自协商相关能力集。本发明实施例参考单循环赛制对阵表,测试用例设计模块根据cl-73.6协议中定义的所有速率,定义出理论上可能出现的各种速率组合作为测试用例,速率单循环组合表部分示意图如图2所示。然后根据相关协议标准,预先定义每种速率组合对应的最终链路的连接状态。

设计好完整的速率组合列表和预期状态列表后,测试执行模块根据待测试交换机提供的命令行,配置相关速率组合,并检测最终的链路状态。若最终链路状态与预期定义的状态不一致,说明该交换机的自协商能力支持是不符合标准规范的。若最终链路状态与预期定义的状态一致,还可继续引入数据流量进行发包验证,验证该交换机是否真正的支持当前速率。如果待测试交换机无法提供命令行配置出全部预期速率组合,那么说明该交换机对于相关协议标准支持的不完整。按照上述流程,测试执行模块执行所有测试用例后,测试报告生成模块根据测试结果给出测试报告。为使测试报告展现更加直观,在生成测试报告时,可采用不同标记来标识出不同的测试结果,例如,对测试通过或不通过或不支持的速率组合设置不同的背景色,使用第一背景色表示测试通过;第二背景色表示测试结果与预期不符,测试不通过;第三背景色表示不支持当前速率,跳过。图3为测试报告示意图的部分展示,为使测试结果更易于查看和监测,例如,若“1ga-full/1ga-full”测试未通过,则可使用红色背景色表示,“a-1ga-full/1ga-full”不支持该速率组合,则可使用橙色背景色表示,其他测试结果正常,可使用绿色背景色表示。

进一步地,基于上述基本测试步骤,还可继续扩展测试用例,用于验证cl-/72/74/91标准,扩展方式至少包括:

1.一个测试用例执行完成后,可通过交换机命令行修改端口的能力集,例如对fec的能力位进行修改,检查最终链路状态是否符合预期状态,且发包验证是否正常,从而实现覆盖cl-74和cl-91的组合验证。若通信链路状态一致且发包验证时通信链路保持完好,则表示所述型号交换机对cl-74和cl-91协议支持良好。

2.对于cl-72链路训练(linktraining)的验证可以和发包验证同步执行,在进行发包验证时,若通信链路状态不稳定且发生丢包现象,则表示所述型号交换机对cl-72协议支持不好。因为如果训练失败或协商参数不是最优时,反映到链路上就是连接状态不稳定及发生丢包现象。

进一步地,执行所有测试用例时,可通过采取无序反复循环的方式对交换机进行压力测试,验证在压力的情况下,交换机执行自协商是否异常。若不存在异常,表示所述型号交换机自协商能力通过压力验证;否则,表示所述型号交换机自协商能力未通过压力测试。

以上测试过程都可通过代码执行,例如采用生成自动化测试脚本进行自动执行,从而实现测试自动化,只有交换机需要进行设备连线,或通过人机交互界面输入相关测试指令等操作时,需要人工介入。并且,基于预先设计的速率单循环组合表,结合交换机的命令行,可以灵活按需扩展测试用例。

本发明所述工具或测试过程可使用tcl(toolcontrollanguage,工具控制语言)实现;tcl是一种脚本语言,不需要编译就能够解释执行,具有开发迅速,易于扩充的特点,对于扩展测试用例较为方便;而且tcl语言可以良好地支持面向对象,这样可以直观方便地测试两台交换机间的自协商能力(即横轴表示一台交换机的配置顺序,竖轴表示另一台);tcl可移植性良好和丰富的扩展包和程序库也可以便捷的开发出gui,真正实现工具化,本发明另一优选实施例使用tcl语言开发测试工具生成的gui的示意图如图4所示。

应当理解,上述实施例仅为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。

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