协议测试用逻辑拓扑网络及其实现协议测试的方法

文档序号:7599509阅读:166来源:国知局
专利名称:协议测试用逻辑拓扑网络及其实现协议测试的方法
技术领域
本发明涉及协议测试技术领域,尤其涉及一种协议测试用逻辑拓扑网络及其实现协议测试的方法。
背景技术
在计算机网络通信领域,通信协议是其中的核心,也是保证正常通信的基本条件,通信协议标准是网络通信规范的基础。网络协议运行的环境是一个实际的物理网络,通常至少需要三个或者三个以上节点才构成一个网络,各节点之间需要通过通信建立稳定的拓扑结构,当网络拓扑或者节点发生变化的时候,还需要通过通信进行拓扑结构的改变,并重新获得稳定的拓扑结构。同时,在网络通信中,网络协议数量庞大且实现复杂,各设备厂商对于协议的理解和实现方式也不尽相同,因此通过协议测试来保证协议实现的正确性和各设备之间的互操作性是必要而且迫切的。
目前采用的协议测试的网络模型如图1所示,将测试端和被测端通过网路连接,测试端根据协议规范生成测试用例,所述的测试用例由测试体执行,测试体执行测试用例,发送协议报文,同时接收被测端的待测体基于所述应用程序的处理并返回的响应报文,然后根据收到的报文是否与预期报文一致,从而得出一致性判定结果。
测试套是以标准的协议描述为基础而设计的一套测试用例,测试套由测试体执行,完成对测试用例脚本的编译和解释,生成待测协议可识别的报文。报文下发给网络接口,网络接口将报文发送到被测端,被测端的网络接口完成通信功能,将收到的报文上传待测体,这样就建立了测试体与待测体之间的通讯通道。因此,从理论讲,只要测试覆盖了待测协议的所有测试点,就可以保证待测协议的一致性。
在进行协议测试过程中,目前通常采用的是一种实际组网测试方法,所述实际组网测试指得是按照通信协议要求,在实际组网环境中,进行相应的配置及安装相应的网络节点,然后令各网络节点中的协议处理部分开始运行,向网络发送测试数据包,并等待网络稳定之后查看状态是否和预期的结果一致,从而确认协议实现是否正确,实现协议测试的目的。
上述方案存在一个较大的问题是一个协议的测试组网环境通常极其复杂,因而需要大量的硬件设备和复杂的组网布线,并且在测试过程中需要多次变换实际的拓扑网络环境,导致实际组网测试实施起来成本较高,工作量大。
目前,进行协议测试所采用的另一种方式是将测试套集成到硬件中,当进行协议测试时,将被测实体和测试工具根据测试用例要求进行配置和组网,之后,运行所述测试用例便可以得到一致性判定结果,实现协议测试的目的。在这种协议测试方法中,由于协议测试过程对硬件设备及测试人员的要求较高,因此,存在着实现协议测试成本较高,且难度大的缺点。

发明内容
鉴于上述现有技术所存在的问题,本发明的目的是提供一种协议测试用逻辑拓扑网络及其实现协议测试的方法,基于较少的物理设备便可以实现相对复杂的协议测试需要的拓扑网络的构造,从而降低实现协议测试的成本,简化了协议测试过程的复杂度。
本发明的目的是通过以下技术方案实现的本发明提供了一种协议测试用逻辑拓扑网络,包括
在协议测试用物理网络中建立辅助协议测试用的虚拟测试体,及用于协议测试的测试体;所述的虚拟测试体与测试体及被测试端利用所述的物理网络连接组建成协议测试用逻辑拓扑网络。
所述的物理网络至少包括测试端主机、被测设备、用于连接测试端主机和被测设备的集线器,以及连接用网线。
所述的虚拟测试体和测试体设置于测试端主机中。
所述的虚拟测试体在物理网络中的数量及其在网络拓扑关系是根据协议测试需要的拓扑网络环境确定。
本发明中,当所述的虚拟测试体与测试体设置于同一主机设备中时,所述的虚拟测试体还提供与测试体进行数据信息交互的接口。
本发明还提供了一种基于所述逻辑拓扑网络的实现协议测试的方法,包括A、各个虚拟测试体在逻辑拓扑网络中根据协议测试的需要进行协议报文的收发操作,并获得收发协议报文的判定结果信息,再将所述判定结果信息发送给测试体;B、所述测试体获得各个虚拟测试体发来收发协议报文的判定结果信息,并根据各个信息获得协议测试结果。
所述的步骤A包括各个虚拟测试体根据是否收到协议报文,以及收到协议报文与预期收到的协议报文是否相同确定所述的判定结果信息。
所述的步骤A还包括所述的各个虚拟测试体在逻辑拓扑网络中共享同一数据链路进行协议报文的收发。
所述的步骤A还包括
当测试体与虚拟测试体设置于同一主机设备中时,所述的测试体通过虚拟测试体提供的接口获取所述的比较结果信息。
所述的虚拟测试体采用与测试体采用相同的描述语言实现,或者提供测试体访问的接口。
由上述本发明提供的技术方案可以看出,本发明中利用虚拟测试体,由虚拟测试体来完成其他测试体的辅助测试用例的执行功能;且在网络数据传输过程中,利用数据链路共享,将逻辑拓扑环境中的各个网络的链路都在一个共享链路上实现;因此,本发明利用虚拟测试体可以在简单物理拓扑环境上组建复杂的逻辑拓扑环境,即在通信协议测试过程中,对于协议测试需要的复杂的逻辑拓扑环境,可以通过本发明提供的虚拟组网技术实现,从而减少硬件设备,降低协议测试成本。
而且,本发明在测试过程中,测试用例要求知道其他测试体(如虚拟测试体)状态的改变,或者是否收到某个特定的报文之类的信息的情况,则由于本发明中的各虚拟测试体与测试体均处于同一物理设备中,因而可以在虚拟测试体实现中添加相应的服务,即提供相应的接口,测试体可以通过相应的接口获得虚拟测试体的相应信息,从而使得测试体上的相应测试用例可以自动执行。


图1为协议一致性测试模型;图2是带虚拟测试体的协议一致性测试模型;图3是一个协议测试的逻辑拓扑环境;图4是图3对应的物理拓扑环境;图5是图4对应的虚拟物理拓扑环境。
具体实施例方式
本发明的主要目的是实现通过简单的物理设备实现复杂的拓扑网络,用于进行针对复杂的拓扑网络的协议测试。本发明的核心思想是在简单的物理设备中采用虚拟的方式建立多个虚拟测试体,利用各个虚拟测试体及实际的物理设备实现协议测试需要的复杂的拓扑网络的组建。
本发明所述的逻辑拓扑网络如图2所示,包括位于测试端的虚拟测试体、测试体,以及被测端,所述的被测端与测试端间通过实际通道(即物理通道)相连;所述的测试端和被测端均为实际的物理设备,测试体通过虚拟通道与被测端中的被测体通信,进行协议测试,在协议测试过程中虚拟测试体1至虚拟测试体n用于辅助测试体的协议测试过程。
在实现本发明所述的逻辑拓扑网络过程中,首先,组建相应的物理网络,所述物理网络包括测试计算机、路由器、集线器、交换机和网线等;简单地,可以将测试主机(即测试端)和被测设备(被测端)通过一个集线器连接成一个实际存在的物理网络;测试主机作为测试节点,其中设置有协议测试用的测试体,通过执行测试体上的测试用例便可以执行协议测试过程,所述的被测设备为实际存在的物理设备,如待测路由器等;之后,根据需要执行的测试用例确定该测试用例需要的逻辑拓扑网络环境,以便于基于相应的逻辑拓扑网络环境进行相应的协议测试;根据所述的协议测试需要的逻辑拓扑网络,即根据测试用例的测试目的,在测试主机中设置相应的辅助协议测试用的虚拟测试体,所述的虚拟测试体即为采用软件模拟的协议测试过程中应用的辅助测试体,所述的虚拟测试体通常用于实现接收一些简单的外部数据包,并且给出对这个数据包的响应的功能;在测试主机中设置的所述的虚拟测试体的数量可以根据协议测试需要设置,具体可以设置一个或多个;所述的虚拟测试体与测试体及被测设备间的逻辑连接关系同样为根据协议测试的需要进行设置;所述的虚拟测试可以采用与实现测试体相同的描述语言实现;所述的描述语言是实现测试用例的编程语言,在通信协议测试中经常应用的测试用例描述语言包括工具命令语言(Tool Command Language,TCL)、树表组合语法(Tree and Tabular Combined Notation,TTCN)、C语言等;假设协议测试需要的逻辑拓扑网络如图3所示,图3所示的逻辑拓扑网络对应的物理拓扑网络如图4所示;图3中包括网络N1、N2、N3、N4......N100、N101,测试路由器TR1、TR2、TR3和TR4,测试节点TN,以及待测路由器RUT,在本发明之前,如果需要针对图3所示的逻辑拓扑网络进行协议测试,则需要构建如图4所示的物理拓扑网络,然后在该物理拓扑网络中进行相应的协议测试,而利用本发明只需要组建如图5所示的物理网络即可,物理网络中包括通过集线器相连接的测试节点TN和待测路由器RUT,之后,在所述物理网络的测试节点上设置相应的虚拟测试体,具体为在测试节点TN中设置四个虚拟测试体,分别对应着图3中的测试路由器TR1至TR4;所述的虚拟测试体需要实现的功能还是根据协议测试的需要确定,并可以使用实现所述测试用例的描述语言实现该虚拟测试体;当所述的虚拟测试体与测试体位于同一主机设备中时,所述的虚拟测试体还需要提供与测试体通信需要的接口,以便于测试体通过所述接口获取虚拟测试体的协议测试的结果信息,例如,接收报文的判定结果信息;经过上述虚拟测试体的建立过程后,基于实际的组网环境中测试节点的虚拟组网环境便已经实现,从而实现协议测试需要的逻辑拓扑网络的构造。
本发明还需要在测试节点上设置相应的测试体,即使用测试用例描述语言实现相应的测试用例,执行所述的测试用例,根据需要在虚拟测试体的配合下便可以实现协议的测试,得到协议测试的结果。
基于所述逻辑拓扑网络本发明还提供了一种实现协议测试的方法,该方法包括以下处理过程(1)各个虚拟测试体在逻辑拓扑网络中根据协议测试的需要进行协议报文的收发操作,并获得收发协议报文的判定结果信息,再将所述判定结果信息发送给测试体;所述的各个虚拟测试体在逻辑拓扑网络中共享同一数据链路进行协议报文的收发;而且,当测试体与虚拟测试体设置于同一主机设备中时,所述的测试体通过虚拟测试体提供的接口获取所述的比较结果信息;各个虚拟测试体根据是否收到协议报文,以及收到协议报文与预期收到的协议报文是否相同确定所述的判定结果信息;所述的虚拟测试体是在测试体上用程序实现其他测试体在该测试用例中的功能,如图3中的测试路由器TR1、TR2、TR3和TR4在测试中接收协议描述的报文并对其进行解析,以及发送一些协议描述的报文的功能,同时还为测试体提供相应的通信接口;所述的虚拟测试体在协议测试过程中的作用是保证测试用例可以自动获得辅助测试的虚拟测试的判定结果信息,并自动运行获得协议测试结果;例如在图3中协议要求测试路由器TR1、TR2、TR3和TR4在测试节点TN给待测路由器RUT发送特定报文后应该收到相应的报文,在测试过程测试路由器TR1、TR2、TR3和TR4则可以根据是否收到相应的报文和收到的报文是否与预期报文相同给出一致性判定结果,测试体则可以通过虚拟测试体提供的接口自动获取所述的判定结果信息,以辅助测试用例的自动执行;(2)所述测试体获得各个虚拟测试体发来收发协议报文的判定结果信息,并根据各个信息获得协议测试结果。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种协议测试用逻辑拓扑网络,其特征在于,包括在协议测试用物理网络中建立辅助协议测试用的虚拟测试体及用于协议测试的测试体;所述的虚拟测试体与测试体及被测试端利用所述的物理网络连接组建成协议测试用逻辑拓扑网络。
2.根据权利要求1所述的协议测试用逻辑拓扑网络,其特征在于,所述的物理网络至少包括测试端主机、被测设备、用于连接测试端主机和被测设备的集线器,以及连接用网线。
3.根据权利要求2所述的协议测试用逻辑拓扑网络,其特征在于,所述的虚拟测试体和测试体设置于测试端主机中。
4.根据权利要求1、2或3所述的协议测试用逻辑拓扑网络,其特征在于,所述的虚拟测试体在物理网络中的数量及其网络拓扑关系是根据协议测试需要的拓扑网络环境确定的。
5.根据权利要求1、2或3所述的协议测试用逻辑拓扑网络,其特征在于,当所述的虚拟测试体与测试体设置于同一主机设备中时,所述的虚拟测试体还提供与测试体进行数据信息交互的接口。
6.一种基于所述逻辑拓扑网络的实现协议测试的方法,其特征在于,包括A、各个虚拟测试体在逻辑拓扑网络中根据协议测试的需要进行协议报文的收发操作,并获得收发协议报文的判定结果信息,再将所述判定结果信息发送给测试体;B、所述测试体获得各个虚拟测试体发来的收发协议报文的判定结果信息,并根据各个信息获得协议测试结果。
7.根据权利要求6所述的实现协议测试的方法,其特征在于,所述的步骤A包括各个虚拟测试体根据是否收到协议报文,以及收到协议报文与预期收到的协议报文是否相同确定所述的判定结果信息。
8.根据权利要求6或7所述的实现协议测试的方法,其特征在于,所述的步骤A还包括所述的各个虚拟测试体在逻辑拓扑网络中共享同一数据链路进行协议报文的收发。
9.根据权利要求6或7所述的实现协议测试的方法,其特征在于,所述的步骤A还包括当测试体与虚拟测试体设置于同一主机设备中时,所述的测试体通过虚拟测试体提供的接口获取所述的判定结果信息。
10.根据权利要求6或7所述的实现协议测试的方法,其特征在于,所述的虚拟测试体采用与测试体相同的描述语言实现,或者提供测试体访问的接口。
全文摘要
本发明涉及一种协议测试用逻辑拓扑网络及其实现协议测试的方法。本发明的核心思想是在简单的物理设备中采用虚拟的方式建立多个用于辅助协议测试的虚拟测试体,利用各个虚拟测试体及实际的物理设备组建协议测试需要的复杂的拓扑网络。因此,在通信协议测试过程中,对于协议测试需要的复杂的逻辑拓扑环境,可以通过本发明提供的虚拟组网技术实现,从而减少硬件设备,降低协议测试成本。而且,本发明在测试过程中,对于测试用例要求知道其他测试体状态的改变,或者是否收到某个特定的报文之类的信息的情况,可以通过虚拟测试体提供相应的接口获得虚拟测试体的相应信息,从而使得测试体上的相应测试用例可以自动执行。
文档编号H04L29/06GK1780237SQ20041009131
公开日2006年5月31日 申请日期2004年11月22日 优先权日2004年11月22日
发明者赵宝华, 屈玉贵, 周颢, 林华辉, 柯尧, 徐军委, 郭雄辉, 钱兰, 陈波, 黄东晓, 姜振海, 刘恒昌, 张炜, 李建, 李正良, 葛猛, 高存皓 申请人:华为技术有限公司, 中国科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1