表项容量自动化测试的方法及装置的制作方法

文档序号:7986674阅读:168来源:国知局
专利名称:表项容量自动化测试的方法及装置的制作方法
技术领域
本发明涉及网络通信领域,尤其涉及一种实现网络设备中各表项容量自动化测试的方法及装置。
背景技术
随着计算机和网络通信技术的飞速发展,对网络设备的各表项容量提出了越来越高的需求。在软件测试技术领域,目前对于各网络协议的表项容量的测试而言,主要采用的测试方法为人工测试,同时需要借助商用测试工具,如测试仪,交换机,测试平台等。人工测试有诸多不足,比如测试数据随机、每次测试都需要人工进行比较判断、效率低、浪费人力资源,其次,受商用工具本身的限制,可重用性和可维护性差;再者,由于各网络协议的种类繁杂,因而人工测试容易出错;最后,人工测试也不利于回归测试,需要人工反复测试。

发明内容
本发明的目的在于提供一种表项容量自动化测试的方法。其可对网络设备的各网络协议模块的表项容量进行系统级的自动化测试,利用用户提供的自动化测试用例,通过调用网络设备的各网络协议模块来完成对网络设备的各网络协议模块的表项容量的自动化测试,验证了网络设备的各网络协议模块的表项容量,从而实现了自动化测量,进而解决了不便于回归测试的问题。相应于上述方法,本发明的目的还在于提供一种表项容量自动化测试的装置。为实现上述发明目的之一,本发明的提供了一种表项容量自动化测试的方法,包括如下步骤
51、接收各协议模块的表项容量请求;其中,所述表项容量请求中包括与该协议模块的表项容量对应的第一关键字和索引;
52、获取网络设备的各协议模块所支持的表项容量及测试用例;
53、根据所述测试用例,执行对网络设备的各协议模块的测试,获得各协议模块对应的 RAM及TCAM表满时,所需添加的entry总条目数;
54、根据各协议模块对应的总条目数与所支持的表项容量的比较,得出测试结果并输
出ο作为本发明的进一步改进,所述步骤S2中表项容量的获取步骤具体包括获知某一协议模块的表项容量请求中的第一关键字;查询所述第一关键字在RAM和TCAM表中所对应的表项容量;根据当前网络设备在RAM和TCAM表中所支持的计算规则,得出该协议模块在当前网络设备中所支持的表项容量。作为本发明的进一步改进,所述步骤S3具体为
531、根据所述测试用例,执行测试验证代码并建立网络连接对网络设备的各协议模块实行调用;
532、接收某一网络协议的表项容量请求;533、查询所述第一关键字在RAM中对应的桶是否已满,若是,将所述第一关键字和索引添加到TCAM表中;
534、判断当前RAM和TCAM表是否均满,若是,执行S35;若否,返回S31 ;
535、返回与所述第一关键词所对应的表项的索引值,所述索引值代表当前协议模块所添加的entry总条目数。作为本发明的进一步改进,所述步骤S4具体为
判断各协议模块对应的总条目数与所支持的表项容量是否一致,若是,测试结果为 PASS;若否,测试结果为FAIL;
作为本发明的进一步改进,所述步骤Sl之前还包括 建立并启动网络设备;
检查网络连通性,以保证所述网络设备在建立的测试平台中能够正常工作。为实现本发明的另一发明目的,本发明提供的一种表项容量自动化测试的装置, 包括如下单元
请求接收单元、用于接收各协议模块的表项容量请求;其中,所述表项容量请求中包括与该协议模块的表项容量对应的第一关键字和索引;
表项容量及测试用例获取单元、用于获取网络设备的各协议模块所支持的表项容量及测试用例;
测试单元、用于根据所述测试用例,执行对网络设备的各协议模块的测试,获得各协议模块对应的RAM及TCAM表满时,所需添加的entry总条目数;
测试结果输出单元、用于根据各协议模块对应的总条目数与所支持的表项容量的比较,得出测试结果并输出。作为本发明的进一步改进,所述表项容量及测试用例获取单元中表项容量的获取步骤具体包括
获知某一协议模块的表项容量请求中的第一关键字; 查询所述第一关键字在RAM和TCAM表中所对应的表项容量; 根据当前网络设备在RAM和TCAM表中所支持的计算规则,得出该协议模块在当前网络设备中所支持的表项容量。作为本发明的进一步改进,所述测试单元具体用于
根据所述测试用例,执行测试验证代码并建立网络连接对网络设备的各协议模块实行调用;
接收某一网络协议的表项容量请求;
查询所述第一关键字在RAM中对应的桶是否已满,若是,将所述第一关键字和索引添加到TCAM表中;
判断当前RAM和TCAM表是否均满,若是,返回与所述第一关键词所对应的表项的索引值,所述索引值代表当前协议模块所添加的entry总条目数;若否,再次当前网络协议模块的表项容量直至RAM和TCAM表均被添加满;
作为本发明的进一步改进,所述测试结果输出单元具体用于 判断各协议模块对应的总条目数与所支持的表项容量是否一致,若是,测试结果为 PASS;若否,测试结果为FAIL;作为本发明的进一步改进,所述请求接收单元之前还包括一网络设备启动单元,其用

建立并启动网络设备;
检查网络连通性,以保证所述网络设备在建立的测试平台中能够正常工作。与现有技术相比,本发明可对网络设备的各网络协议模块的表项容量进行系统级的自动化测试,利用用户提供的自动化测试用例,通过调用网络设备的各网络协议模块来完成对网络设备的各网络协议模块的表项容量的自动化测试,验证了网络设备的各网络协议模块的表项容量,从而大大提高了系统测试的效率,且减小了出错率,真真实现了自动化测试。


图1是本发明一实施方式中的表项容量自动化测试的方法的工作流程图; 图2是图1所述的实施方式的方法中获知表项容量的具体步骤流程图3是图1所述的实施方式的方法中表项容量自动化测试的具体步骤流程图; 图4是本发明一实施方式中的表项容量自动化测试的装置的模块示意图。
具体实施例方式以下将结合附图所示的具体实施方式
对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。如图1所示,在本实施方式中,本发明一种表项容量自动化测试的方法,包括如下步骤
Si、接收各协议模块的表项容量请求;其中,所述表项容量请求中包括与该协议模块的表项容量对应的第一关键字和索引;
在本发明中,一个网络设备包括多个网络协议模块,所提及的网络设备包括网络服务器、交换机、路由器、防火墙等,常见的网络协议有TCP/IP协议、IPX/SPX协议、NetBEUI协议等。在步骤Sl之前还包括建立并启动网络设备;检查网络连通性,以保证所述网络设备在建立的测试平台中能够正常工作。S2、获取网络设备的各协议模块所支持的表项容量及测试用例;
如图2所示,步骤S2具体为检索该网络设备的各协议模块所支持的表项容量,当网络设备接收到某一网络协议模块的表项容量请求(携带请求的表项容量的第一关键字)时 (步骤S21),查询该第一关键字在RAM和TCAM表中所对应的表项容量,返回查询结果(步骤 S22),其值为该第一关键字在RAM和TCAM表中所分别对应的表项容量,在根据这一协议模块,对于该网络设备在RAM和TCAM表中所支持的不同计算规则(这个计算规则由不同设备的各协议模块给出),得出这一协议模块在该网络设备中所支持的表项容量(步骤S23)。按照上述的方法,就可以检索出该网络设备的各协议模块所支持的表项容量;
在此之后,根据检索出来的各网络协议模块所支持的表项容量,用户向测试平台提交验证各协议模块表项容量的测试用例;其中,测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。S3、根据所述测试用例,执行对网络设备的各协议模块的测试,获得各协议模块对应的RAM及TCAM表满时,所需添加的entry总条目数;
如图3所示,所述步骤S3具体为
531、根据所述测试用例,执行测试验证代码并建立网络连接对网络设备的各协议模块实行调用;
532、接收某一网络协议的表项容量请求;
533、查询所述第一关键字在RAM中对应的桶是否已满,若是,将所述第一关键字和索引添加到TCAM表中;
534、判断当前RAM和TCAM表是否均满,若是,执行S35;若否,返回S31 ;
535、返回与所述第一关键词所对应的表项的索引值,所述索引值代表当前协议模块所添加的entry总条目数。S4、根据各协议模块对应的总条目数与所支持的表项容量的比较,得出测试结果并输出。具体地,判断各协议模块对应的entry总条目数与所支持的表项容量是否一致(步骤S41),若是,测试结果为PASS (步骤S42);若否,测试结果为FAIL (步骤S43);
本实施方式中,为了测试表项容量,需建立系统各网络协议模块的检测和监听模块的模块,判别各种不同的网络协议模块,保证该网络设备的各网络协议模块在建立的测试平台中可以正常工作;
用测试平台来执行测试验证代码,建立网络连接,对该网络设备的各协议模块进行调用,当该网络设备接收到某一网络协议模块的表项容量的调用请求(携带请求的表项容量的第一关键字和索引)时,该网络设备首先查询该第一关键字在RAM表中所对应的桶是否已满,若已满,再查询TACM表,并将所述的第一关键字和所以添加进TCAM表中,这一次的调用结束后,判断该第一关键字在网络设备RAM和TCAM表中是否已都满,若没有添加满,就再次调用改网络设备的某一网络协议模块的表项容量,直至该第一关键字在网络设备RAM和 TCAM表中都已添加满了 entry,这时返回与所述第一关键字所对应的表项的索引,也就是这一协议模块所能够添加的entry总条目数(表项容量),然后再判断其值与所得出该协议模块的所支持的表项容量是否一致,若一致,则测试结果为pass,相反若不一致,则测试结果为fail。按照上述的方法,就可以得出各协议模块表项容量验证的结果。最后,得出各协议模块表项容量验证的结果后输出测试结果,至此整个自动化测试结束ο接下来,将结合图4对本发明一实施方式中表项容量自动化测试的装置及进行介绍;其包括如下单元
请求接收单元10、用于接收各协议模块的表项容量请求;其中,所述表项容量请求中包括与该协议模块的表项容量对应的第一关键字和索引;
在本发明中,一个网络设备包括多个网络协议模块,所提及的网络设备包括网络服务器、交换机、路由器、防火墙等,常见的网络协议有:TCP/IP协议、IPX/SPX协议、NetBEUI协议等。在请求接收单元之前还包括一网络设备启动单元,其用于建立并启动网络设备;检查网络连通性,以保证所述网络设备在建立的测试平台中能够正常工作。表项容量及测试用例获取单元20、用于获取网络设备的各协议模块所支持的表项容量及测试用例;
结合图2所示,表项容量及测试用例获取单元20具体用于检索该网络设备的各协议模块所支持的表项容量,当网络设备接收到某一网络协议模块的表项容量请求(携带请求的表项容量的第一关键字)时(步骤S21),查询该第一关键字在RAM和TCAM表中所对应的表项容量,返回查询结果(步骤S22),其值为该第一关键字在RAM和TCAM表中所分别对应的表项容量,在根据这一协议模块,对于该网络设备在RAM和TCAM表中所支持的不同计算规则(这个计算规则由不同设备的各协议模块给出),得出这一协议模块在该网络设备中所支持的表项容量(步骤S23)。按照上述的方法,就可以检索出该网络设备的各协议模块所支持的表项容量;
在此之后,根据检索出来的各网络协议模块所支持的表项容量,用户向测试平台提交验证各协议模块表项容量的测试用例;其中,测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。测试单元30、用于根据所述测试用例,执行对网络设备的各协议模块的测试,获得各协议模块对应的RAM及TCAM表满时,所需添加的entry总条目数;
所述测试单元30具体用于
根据所述测试用例,执行测试验证代码并建立网络连接对网络设备的各协议模块实行调用;
接收某一网络协议的表项容量请求;
查询所述第一关键字在RAM中对应的桶是否已满,若是,将所述第一关键字和索引添加到TCAM表中;
判断当前RAM和TCAM表是否均满,若是,返回与所述第一关键词所对应的表项的索引值,所述索引值代表当前协议模块所添加的entry总条目数;若否,再次当前网络协议模块的表项容量直至RAM和TCAM表均被添加满;
测试结果输出单元40、用于根据各协议模块对应的总条目数与所支持的表项容量的比较,得出测试结果并输出。具体地,判断各协议模块对应的entry总条目数与所支持的表项容量是否一致,若是,测试结果为PASS ;若否,测试结果为FAIL ;
本实施方式中,为了测试表项容量,需建立系统各网络协议模块的检测和监听模块的模块,判别各种不同的网络协议模块,保证该网络设备的各网络协议模块在建立的测试平台中可以正常工作;
用测试平台来执行测试验证代码,建立网络连接,对该网络设备的各协议模块进行调用,当该网络设备接收到某一网络协议模块的表项容量的调用请求(携带请求的表项容量的第一关键字和索引)时,该网络设备首先查询该第一关键字在RAM表中所对应的桶是否已满,若已满,再查询TACM表,并将所述的第一关键字和所以添加进TCAM表中,这一次的调用结束后,判断该第一关键字在网络设备RAM和TCAM表中是否已都满,若没有添加满,就再次调用改网络设备的某一网络协议模块的表项容量,直至该第一关键字在网络设备RAM和TCAM表中都已添加满了 entry,这时返回与所述第一关键字所对应的表项的索引,也就是这一协议模块所能够添加的entry总条目数(表项容量),然后再判断其值与所得出该协议模块的所支持的表项容量是否一致,若一致,则测试结果为pass,相反若不一致,则测试结果为fail。按照上述的方法,就可以得出各协议模块表项容量验证的结果。最后,得出各协议模块表项容量验证的结果后输出测试结果,至此整个自动化测试结束ο根据以上对本发明的详细介绍,本发明涉及一种实现网络各协议模块的表项容量的自动化测试的方法,包括建立并启动终端网络设备;检查网络的连通性;检索该网络设备的各协议模块所支持的表项容量;根据检索出来的各网络协议模块所支持的表项容量, 用户向测试平台提交验证各协议模块表项容量的测试用例;建立系统各网络协议模块的检测和监听模块的模块;用测试平台来执行测试验证代码,建立网络连接,对该网络设备的各协议模块进行调用,并对终端网络设备的各协议模块调用的返回值与检索出来的各网络协议模块所支持的表项容量进行比较,得出测试结果;根据得出各协议模块表项容量验证的结果,输出测试结果;整个测试结束。该方法只需要编写一些网络应用层协议的测试用例就可以完成网络应用层协议的测试,少了人工进行网络应用层协议测试部署的步骤,从而实现了自动化。为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备 (可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。以上所描述的装置实施方式仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。本申请可用于众多通用或专用的计算系统环境或配置、或通讯系统环境或设备中。例如个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、 基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、 包括以上任何系统或设备的分布式计算环境等等,以及交换机、路由器、包括以上任何设备的通讯系统环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
9
应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
权利要求
1.一种表项容量自动化测试的方法,其特征在于,其包括如下步骤51、接收各协议模块的表项容量请求;其中,所述表项容量请求中包括与该协议模块的表项容量对应的第一关键字和索引;52、获取网络设备的各协议模块所支持的表项容量及测试用例;53、根据所述测试用例,执行对网络设备的各协议模块的测试,获得各协议模块对应的 RAM及TCAM表满时,所需添加的entry总条目数;54、根据各协议模块对应的总条目数与所支持的表项容量的比较,得出测试结果并输出ο
2.根据权利要求1所述的方法,其特征在于,所述步骤S2中表项容量的获取步骤具体包括521、获知某一协议模块的表项容量请求中的第一关键字;522、查询所述第一关键字在RAM和TCAM表中所对应的表项容量;523、根据当前网络设备在RAM和TCAM表中所支持的计算规则,得出该协议模块在当前网络设备中所支持的表项容量。
3.根据权利要求1所述的方法,其特征在于,所述步骤S3具体为531、根据所述测试用例,执行测试验证代码并建立网络连接对网络设备的各协议模块实行调用;532、接收某一网络协议的表项容量请求;533、查询所述第一关键字在RAM中对应的桶是否已满,若是,将所述第一关键字和索引添加到TCAM表中;534、判断当前RAM和TCAM表是否均满,若是,执行S35;若否,返回S31 ;535、返回与所述第一关键词所对应的表项的索引值,所述索引值代表当前协议模块所添加的entry总条目数。
4.根据权利要求1所述的方法,其特征在于,所述步骤S4具体为判断各协议模块对应的entry总条目数与所支持的表项容量是否一致,若是,测试结果为PASS ;若否,测试结果为FAIL。
5.根据权利要求1所述的方法,其特征在于,所述步骤Sl之前还包括建立并启动网络设备;检查网络连通性,以保证所述网络设备在建立的测试平台中能够正常工作。
6.一种表项容量自动化测试的装置,其特征在于,其包括如下单元请求接收单元、用于接收各协议模块的表项容量请求;其中,所述表项容量请求中包括与该协议模块的表项容量对应的第一关键字和索引;表项容量及测试用例获取单元、用于获取网络设备的各协议模块所支持的表项容量及测试用例;测试单元、用于根据所述测试用例,执行对网络设备的各协议模块的测试,获得各协议模块对应的RAM及TCAM表满时,所需添加的entry总条目数;测试结果输出单元、用于根据各协议模块对应的总条目数与所支持的表项容量的比较,得出测试结果并输出。
7.根据权利要求6所述的装置,其特征在于,所述表项容量及测试用例获取单元中表项容量的获取步骤具体包括获知某一协议模块的表项容量请求中的第一关键字;查询所述第一关键字在RAM和TCAM表中所对应的表项容量;根据当前网络设备在RAM和TCAM表中所支持的计算规则,得出该协议模块在当前网络设备中所支持的表项容量。
8.根据权利要求6所述的装置,其特征在于,所述测试单元具体用于根据所述测试用例,执行测试验证代码并建立网络连接对网络设备的各协议模块实行调用;接收某一网络协议的表项容量请求;查询所述第一关键字在RAM中对应的桶是否已满,若是,将所述第一关键字和索引添加到TCAM表中;判断当前RAM和TCAM表是否均满,若是,返回与所述第一关键词所对应的表项的索引值,所述索引值代表当前协议模块所添加的entry总条目数;若否,再次当前网络协议模块的表项容量直至RAM和TCAM表均被添加满。
9.根据权利要求6所述的装置,其特征在于,所述测试结果输出单元具体用于判断各协议模块对应的entry总条目数与所支持的表项容量是否一致,若是,测试结果为PASS ;若否,测试结果为FAIL。
10.根据权利要求6所述的装置,其特征在于,所述请求接收单元之前还包括一网络设备启动单元,其用于建立并启动网络设备;检查网络连通性,以保证所述网络设备在建立的测试平台中能够正常工作。
全文摘要
本发明揭示了一种表项容量自动化测试的方法及装置,其中,所述方法包括如下步骤接收各协议模块的表项容量请求;其中,所述表项容量请求中包括与该协议模块的表项容量对应的第一关键字和索引;获取网络设备的各协议模块所支持的表项容量及测试用例;根据所述测试用例,执行对网络设备的各协议模块的测试,获得各协议模块对应的RAM及TCAM表满时,所需添加的entry总条目数;根据各协议模块对应的总条目数与所支持的表项容量的比较,得出测试结果并输出。本发明大大提高了系统测试的效率,且减小了出错率,真真实现了自动化测试。
文档编号H04L12/26GK102427414SQ20111038040
公开日2012年4月25日 申请日期2011年11月25日 优先权日2011年11月25日
发明者倪春霞, 杨锐 申请人:盛科网络(苏州)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1