CN100370764C - 协议测试的装置及其实现协议测试的方法 - Google Patents

协议测试的装置及其实现协议测试的方法 Download PDF

Info

Publication number
CN100370764C
CN100370764C CNB200410090854XA CN200410090854A CN100370764C CN 100370764 C CN100370764 C CN 100370764C CN B200410090854X A CNB200410090854X A CN B200410090854XA CN 200410090854 A CN200410090854 A CN 200410090854A CN 100370764 C CN100370764 C CN 100370764C
Authority
CN
China
Prior art keywords
protocol
test
module
abstract
agreement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB200410090854XA
Other languages
English (en)
Other versions
CN1777124A (zh
Inventor
赵宝华
屈玉贵
周颢
林华辉
柯尧
徐军委
郭雄辉
钱兰
陈波
黄东晓
姜振海
刘恒昌
张炜
李建
李正良
葛猛
高存皓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Science and Technology of China USTC
Huawei Technologies Co Ltd
Original Assignee
University of Science and Technology of China USTC
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Science and Technology of China USTC, Huawei Technologies Co Ltd filed Critical University of Science and Technology of China USTC
Priority to CNB200410090854XA priority Critical patent/CN100370764C/zh
Publication of CN1777124A publication Critical patent/CN1777124A/zh
Application granted granted Critical
Publication of CN100370764C publication Critical patent/CN100370764C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明涉及一种协议测试的装置及其实现协议测试的方法。本发明的核心是针对协议测试环境进行层次的划分,从而划分为协议无关单元和协议相关单元,所述的协议无关单元执行的操作处理与具体的协议内容无关,可以适用于任何协议的测试,所述的协议相关单元则用于负责具体的协议的测试操作处理,本发明中针对协议相关单元还进一步划分出了相应的通用协议测试过程模块,作为各种协议测试过程中的公共部分供各种协议测试重复使用,从而,最大程度地保证协议相关的层次的可重用性,避免测试套开发过程的重复劳动。因此,本发明具有较强的通用性、可重用性和可扩展性。

Description

协议测试的装置及其实现协议测试的方法
技术领域
本发明涉及网络通信测试技术领域,尤其涉及一种层次化协议测试的装置及其实现协议测试的方法。
背景技术
网络协议是现代通信领域中的一个非常重要的概念,是网络通信的一组规范。协议实现的正确性是通信网络能够正常工作的基本保证。而协议测试则是保证协议实现正确性和网络产品互通的重要手段。任何协议产品在投入使用之前都应该先通过相应的协议测试。
针对协议测试可以分为两个阶段,第一阶段是测试集的构造,第二个阶段是测试集的执行。测试集通常是使用一种形式语言描述的抽象操作过程,故也称ATS(Abstract Test Suite,抽象测试集),测试集中包括协议测试需要测试的内容。因此,协议测试工作的完成还需要有一个执行环境执行抽象测试集中描述的操作,这也是协议测试的重要阶段;所述的执行环境包括测试设备、网络拓扑连接等硬件环境和在测试机中执行测试例的软件环境,其中,测试执行软件环境完成抽象测试集的解释或编译,将抽象测试集转换为可执行测试集,完成测试集所描述的如报文编码,解码,接受,发送,检查等操作,给出测试集执行的结果等功能,构造测试执行软件环境即为对这些功能的实现。
下面将针对目前的协议测试集的执行阶段的具体实现方式进行说明。
目前,协议测试的国际准语言是TTCN(Tree and Tabular CombinedNotation,树表组合语法)。用TTCN描述的抽象测试集有两种格式,具体为:面向开发人员的表格格式TTCN.GR和面向机器的文本格式TTCN.MP。
基于TTCN的抽象测试集的执行通常可以采用两种方式,具体包括:
第一种方式的实施过程如图1所示,具体为:
1、用转化程序将TTCN.GR文件转化为TTCN.MP文件,将TTCN.MP文件翻译成平台无关的C语言代码;
2、根据具体协议和平台,依据翻译程序所定义的接口规范编写测试驱动程序,实现测试体和被测体的连接和协议报文的收发;
3、综合编译源代码生成最终的可执行代码;
第二种方式的实施过程如图2所示,具体为:
1、构造一个通用的TTCN.MP文件执行器;
2、用转化程序将TTCN.GR文件转化为TTCN.MP文件;
3、依据翻译程序所定义的接口规范编写测试驱动程序;
4、连接测试执行器和测试驱动程序,解释执行MP文件。
采用TTCN方法的主要缺点有:
1、构造测试执行环境的开发代价很高,无论是采用翻译方式还是解释执行方式,都需要对TTCN语法和语义的完整支持;
2、代码执行效率不高;
3、一些测试方法的支持仍有困难,如分布式测试等。
目前,业界更常采用的协议测试集的执行方式是基于脚本语言的测试方式,如图3所示,该方式的实施过程为:
1、根据具体协议用C/C++语言实现测试中需要使用的操作过程,并封装成脚本语言的命令格式;
2、使用所述的操作命令编写TCL测试脚本,通过TCL命令的组合以完成特定的测试目的;
3、执行TCL测试脚本,由脚本解释器(即TCL执行器)控制执行操作过程并输出操作的结果。
使用该方式测试集是针对某个特定的协议而设计的,设计的时候只需考虑需要用到的操作,因此实现比较容易,开发代价小,速度快。用高级语言编写的测试操作过程被直接编译成可执行目标码,整个执行系统的结构比较紧凑,因而执行效率也会比较高。
但是,基于脚本语言的测试方式也存通用性差,测试框架结构的可重用性差等缺点。因为,整个执行环境都是针对于某个协议而设计的,当要完成其他协议的测试时,所有的内容都需要重新构造;通常一条测试命令完成一种特定的协议功能,虽然不同的协议在这些功能上有公共的部分,但由于测试命令的专用性和其紧耦合的实现方式,使得公共部分的功能很难重用,因而开发多种协议的测试集时需要完成大量的重复性工作,因而降低了开发协议测试工具的效率。
发明内容
鉴于上述现有技术所存在的问题,本发明的目的是提供一种协议测试的装置及其实现协议测试的方法,使得协议测试装置中的公共部分可以被重复应用,从而使得协议测试过程的实现更为简单、方便。
本发明的目的是通过以下技术方案实现的:
本发明提供了一种协议测试装置,包括一协议相关单元、一协议无关单元,其中:
协议相关单元:根据待测试的协议设置,并在协议无关单元的支持下,用于在协议测试过程中,处理与具体协议的测试过程相关的内容信息,并进行具体的协议测试处理;
协议无关单元:用于支持协议相关单元的协议测试操作,其中包括接口管理操作和命令解释操作,所述的接口管理操作用于根据协议相关单元的控制进行协议报文的收发操作,所述的命令解释操作用于控制协议相关单元进行具体的协议测试处理,所述协议无关单元独立于所述协议相关单元设置;
所述的协议相关单元进一步包括:
抽象测试脚本模块,用于通过向命令解释器发送命令调用连接控制管理模块及通用协议测试过程模块进行相应的协议测试操作,每一种协议测试对应一个抽象测试脚本模块;
通用协议测试过程模块,包含着进行各种协议测试用的公共子程序,该模块在抽象测试脚本模块的控制下,用于从命令解释器接收控制操作命令,并根据所述的控制操作命令调用相应的公共子程序配合抽象测试脚本模块进行协议测试处理;
且所述协议无关单元进一步包括:
命令解释器:属于与协议无关单元,接收抽象测试脚本的测试命令,经解析处理后,根据命令的内容将其发送给连接控制管理模块或者通用协议测试过程模块;
连接控制管理模块:属于与协议无关单元,在抽象测试脚本模块的控制管理下,从命令解释器接收控制管理命令,并通过网络接口与被测试端的连接互通;
并且,所述的抽象测试脚本模块、命令解释器、连接控制管理模块和通用协议测试过程模块间相互独立设置。
所述的连接控制管理模块进一步包括:
抽象网络接口管理模块:用于在抽象测试脚本模块的控制下,通过网络接口驱动模块对与待测协议相关的网络接口的访问及管理操作;
网络接口驱动模块:用于实现由与协议无关的抽象网络接口到与待测协议相关的网络接口的映射。
所述的协议测试的装置中的协议无关单元还包括:
报文缓冲管理模块:用于实现针对协议报文缓冲区的各项管理操作,以及为实现具体协议的编解码提供基本支持命令,所述的协议报文缓冲区用于缓存接收或待发送的协议报文。
所述的协议相关单元还包括:
协议参考实现模块:用于提供可以在测试机器中直接访问待测系统中待测协议层次的下层待测协议实体的对等体的网络接口。
所述的协议参考实现模块包括:
当待测系统中的下层包含多个待测协议实体时,所述的协议参考实现模块的数量与其包含的待测协议实体数量对应相等。
所述的命令解释器还包括:
命令注册模块:用于接收用户注册的新的命令,所述的新的命令对应着相应的处理例程。
所述的抽象测试脚本模块涉及的测试操作包括:
接口的初始化操作、协议报文的编解码、协议报文的收发及协议报文数据域的比较。
所述的协议测试的装置还包括:
协议报文的收发模块:用于在抽象测试脚本模块的控制下进行协议报文的收发操作;
协议报文的编解码模块:用于在抽象测试脚本模块的控制下对待发送的协议报文进行编码,对接收的协议报文进行解码;
其中,所述的协议报文的收发模块和协议报文的编解码模块可以内置于所述的通用协议测试过程模块、协议参考实现模块或报文缓冲管理模块中实现。
本发明还提供了一种实现协议测试的方法,包括:
A、抽象测试脚本模块开始进行协议测试时,向命令解释器发送协议测试命令,所述命令解释器解释所述命令后根据命令的内容将其发送给连接控制管理模块或者通用协议测试过程模块;
B、连接控制管理模块收到所述的协议测试命令后,则根据所述命令进行抽象网络接口和实际网络接口的连接及管理操作;
通用协议测试过程模块收到所述的协议测试命令后,则根据所述命令调用相应的公共子程序进行并配合抽象测试脚本模块进行协议测试处理。
所述的实现协议测试的方法还包括:
根据具体的待测试协议的类型确定进行该项协议测试需要的一个抽象测试脚本模块,并执行步骤A。
由上述本发明提供的技术方案可以看出,本发明提出了一种基于命令式脚本语言的层次化通用协议测试装置的构造方法,该方法以命令解释器为中心,将整个测试环境划分成相对独立的层次结构,以实现测试环境的通用性、可重用性和可扩展性。因此,本发明具有如下优点:
采用层次化的构造方法,分离出测试环境中协议无关的部分构成通用测试平台,使得测试环境具有通用性,测试套开发只需关心协议相关单元的扩展,从而使测试套开发工作方便快捷;
对于协议相关的部分作为测试平台的扩展部分,最大程度地保证协议相关的层次的可重用性,避免测试套开发过程的重复劳动,加快开发进度;
以命令解释器作为测试执行环境的核心,可以避免构造支持完整的TTCN语法和语义的编译器或执行器而带来的巨大开发代价;
抽象网络接口则隔离了抽象测试集和不同网络接口的具体操作细节,简化抽象测试集的描述;
通过网络接口驱动把抽象网络接口映射到不同的实际网络接口中,可以灵活的适应测试过程中各种不同的网络拓扑结构的测试需求。
附图说明
图1和图2分别为现有技术中抽象测试集的执行过程示意图;
图3为现有技术中基于TCL语言的协议测试过程示意图;
图4为本发明中协议测试装置层次划分结构示意图;
图5为带有协议参考实现模块的测试过程示意图;
图6为本发明所述的装置的结构示意图。
具体实施方式
本发明的核心是针对协议测试环境进行层次的划分,从而划分为协议无关单元和协议相关单元,所述的协议无关单元执行的操作处理与具体的协议内容无关,可以适用于任何协议的测试,所述的协议相关单元则用于负责具体的协议的测试操作处理,本发明中针对协议相关单元还进一步划分出了相应的通用协议测试过程模块,作为各种协议测试过程中公共部分供各种协议测试重复使用。因此,本发明具有较强的通用性,当需要对一种新的协议进行测试时,只需要开发相应的抽象测试脚本模块,并将其与通用协议测试过程模块及协议无关单元关联即可。
本发明提供的协议测试的装置在具体实现过程中,如图4、图5和图6所示,具体为将协议测试环境按其功能自顶向下划分为7个层次,每个层次使用下层提供的功能,为上层提供支持,每个层次都具有相对独立性,可被单独地重用,扩展或替换;每层相当于独立的功能模块,各个功能模块间的连接关系如图6所示。
下面将分别结合附图对本发明所述装置包含的各个层(或模块)实现的功能及作用作进一步说明。
(1)抽象测试脚本层,即抽象测试脚本模块,具体为一个针对具体协议进行测试用的抽象测试集;
抽象测试脚本层包括用于特定协议测试的测试用例脚本集,测试脚本是一组可以完成特定测试功能的有序操作步骤的集合,所述操作步骤具体包括:接口的初始化、协议报文的编码、协议报文的发送、协议报文的接收、协议报文的解码,以及协议报文数据域的比较,判断等;其中,接口初始化、协议报文的接收和发送使用抽象网络接口层所定义的网络接口访问操作命令描述,协议报文的编、解码主要由通用协议测试过程层或下层协议参考实现层完成,也可直接调用报文缓冲区管理层定义的基本操作完成。
(2)通用协议测试过程层,即通用协议测试过程模块,该模块包含协议测试过程中应用的公共子程序;
通用测试过程层包含构造测试脚本时经常需要使用的公共子过程,测试过程至少包括:
复杂协议测试过程中的某个子过程的有序操作集;
一个协议测试过程中的某个交互片断;
对协议数据进行处理的比较复杂的通用的算法过程;
上述通用协议测试过程均使用命令脚本构造,为一组在协议测试过程中具有某些公共特征的抽象测试脚本所共用。
(3)协议参考实现层,即协议参考实现模块,提供直接访问待测系统中待测协议层的下层的网络接口;
所述的协议参考实现层为使用脚本语言在测试机实现的协议实体,该层为可选层,即只有测试机器操作系统提供的网络接口所访问的网络层次处于待测系统中的待测协议层次的下层协议的对等层次以下时才存在该层;
在待测系统中,协议栈实现可以包含多个层次,但并不是所有的层次都需要测试,待测协议只是其中的一个层次,协议参考实现层就是在测试过程测试环境加上测试机器中的协议栈,从而实现与被测系统中的协议栈实现形成一一对应的关系;其中,测试脚本层与待测系协议层对应,协议参考实现层加上测试主机中操作系统的协议栈实现与待测系统中的其他协议层次一一对应;在测试主机中的操作系统没有提供相应层次的协议实体实现的情况下,需要测试环境来提供该协议参考实现层;
协议参考实现层可以包含多个子层,每个子层为上层提供与待测协议对等的网络访问接口;也就是说,协议参考实现层包含的子层与待测系统中的待测协议实体的所处层次以下的若干层互为对等体,一一对应,从而使得从抽象测试脚本层的角度来看,可观察到的直接是待测协议层的行为,而不是通过它的底层间接去观察,对于待测协议体具有多个层次的情况,测试活动分多次进行,就每一次的测试活动而言,待测的层次都只有一个,和测试单个层次的协议实体是一样的;
如图5所示,测试系统的网络接口能直接访问协议的第K层,而待测系统中待测协议实体位于第N层,因而网络访问接口能直接观察到的是待测系统中第K+1层的行为,而第N层的行为需要通过K+1层至N-1层间接观察,如果没有参考实现层,则在构造测试例时测试例描述的操作必须包含K+1层至N-1层的所有行为,参考实现层实际是在测试系统中基于K层网络访问接口对K+1层至N-1层的协议实体进行实现,为测试脚本层提供N-1层的网络访问接口,从而在抽象测试脚本层构造测试例时只需要描述N层的协议行为。
(4)命令解释器层,即命令解释器,用于解析抽象测试脚本模块的测试命令,也就是说,命令解释器是测试过程的核心,由其完成抽象的测试命令到具体测试例程的映射,控制每个测试操作步骤地具体执行;
命令解释器层是一个可扩展命令式语言解释器,例如,可以选用TCL解释器,当然也可以选用其他命令解释器,命令解释器至少包括以下功能:
1、解析形如:“命令名称参数1参数2...”的命令格式;
2、根据解析的出来的命令名称执行相应的处理例程,具体包括:
命令解释器的内嵌命令:即命令解释器所提供的基本命令,该命令用于完成一些基本的运算,程序流程控制等功能,且所述命令独立于具体应用,与协议测试无关;
为实现协议测试而对命令解释器进行扩展的命令:这些命令是使用其他高级语言按照命令解释器的扩展机制实现的,用于控制包括协议报文编解码、协议报文收发等过程;
3、提供扩展机制允许用户在命令解释器中注册新命令和实现命令相应的处理例程,即允许用户在命令解释器中建立新的命令与相应的处理例程间的对应关系,以便于根据相应的命令执行对应的处理例程。
如图4所示,命令解释器为分界线,测试环境在命令解释器之上的部分是与平台无关的,在命令解释器之下的部分是平台相关的,从而方便了与平台无关部分可以在不同的平台上重复应用。
(5)报文缓冲区管理层,即报文缓冲管理模块,用于实现针对协议报文缓冲区的各项管理操作,所述的协议报文缓冲区用于缓存接收或待发送的协议报文;
所述的报文缓冲区管理层包含一组实现报文缓冲区管理命令的例程,这些命令包括针对报文缓冲区的申请、释放、填写及读取等功能,并可选地包括针对报文的编解码操作功能;
所述的报文缓冲区管理模块实际就是一个存储管理模块,除了对存储资源的管理之外,还包括对存储内容进行各种格式的操作,这些操作是独立于任何一种具体协议的,可以为具体的协议报文编解码提供支持,也是测试环境中的一个通用部分;将这一部分从具体协议报文编解码部分分离出来,可以使得测试环境的对不同协议测试的适应性更强,也是本发明区别于现有的一些基于脚本语言的测试方法的优点之一。
(6)抽象网络接口层,即抽象网络接口模块,用于通过网络接口驱动模块访问与协议无关的实际的网络接口,以便于进行协议报文的收发操作;
所述的抽象网络接口层包括一组针对与具体平台和协议无关的网络接口进行访问操作的抽象命令,这些操作至少包括:接口的创建、接口的关闭、在接口接收报文、通过接口发送报文、检测接口状态等;
抽象网络接口层为测试脚本的编写定义了一组与具体协议无关的操作命令,这些命令的格式是与待测协议无关的,但具体测试过程测试相应的开发人员需要根据具体的待测协议开发与待测协议对应的网络接口驱动模块将这些操作映射到实际的网络接口,而实际的网络接口与待测协议相关,即测试不同的协议对应着需要应用不同的实际的网络接口。
(7)网络接口驱动层,即网络接口驱动模块,用于将所述的抽象网络接口映射到实际的网络接口上;
所述的网络接口驱动层包括一组将抽象网络接口映射到操作系统或第三方软件提供的具体的网络接口操作的例程,网络接口驱动层根据具体的测试需求实现抽象网络接口层定义的各种操作。
如图6所示,本发明所述的装置中是以命令解释器为中心,不同模块之间的调用主要是通过命令解释器来调度完成的,在图6中,用实细线箭头描述命令解释器执行抽象测试脚本模块的命令,并调用通过协议测试过程模块、缓冲区管理模块及抽象网络接口模块的过程;采用虚细线箭头描述了模块之间的逻辑调用关系,还以虚粗箭头描述了在测试过程中收发数据报文时数据在测试装置中的不同层次间的流向。
在上述的本发明提供的测试装置中,所述的抽象测试脚本模块(即抽象测试集)是与待测协议相关的,所述的通用协议测试过程模块、协议参考实现模块和网络接口驱动模块是和协议相关但可直接重复应用于各种协议测试过程,所述的命令解释器和报文缓冲区管理模块和抽象网络接口与具体的测试协议无关,可以被重复应用。
本发明所述的装置在具体实现过程中,可以分四个步骤实现:
步骤1:构建通用测试平台,即实现测试环境中协议无关层次,具体可以按如下方式完成:
选择一种可扩展命令式脚本语言解释器作为测试环境的执行器,即命令解释器,如TCL解释器等;
依据命令脚本语言的扩展规范使用C语言实现协议报文缓冲区管理的扩展命令,并为抽象网络接口操作的实现提供编程接口,从而使得抽象接口在实现报文收发操作时可以通过所述编程接口对协议报文缓冲区进行访问;
实现抽象网络接口命令,并为用户提供编程接口用于编写网络接口驱动程序,从而完成从与协议无关的抽象网络接口到与具体待测协议相关的实际网络接口的映射。
步骤1实现的是测试装置中的通用部分,可以开发为一个独立的成品应用于各种不同的协议测试场合。
步骤2:实现通用平台的协议相关性扩展,即测试环境中协议相关层次的实现,具体可以按如下步骤完成:
编写网络接口驱动程序:根据测试的需要选择合适的网络访问接口,根据操作系统或所选第三方软件提供的协议访问接口和抽象网络接口层提供的编程接口,完成抽象网络接口层定义的操作到实际操作的映射,比如如果需要对网络层进行测试,则需要将抽象网络接口映射为针对数据链路层网络接口的访问操作,如果是需要对应用层进行测试,则需要将抽象网络接口映射为针对传输层网络接口的操作;
构建协议参考实现层:如果操作系统或第三方软件提供的网络接口访问的网络层次和待测协议的下层是处于对等层,则可跳过这一步,否则需要使用脚本语言编写下层协议参考实现层,使得从抽象测试集(即抽象测试脚本的集合)层的位置观察测试环境提供的网络接口可直接访问的网络层次是与待测协议的下层对等的;比如,如果待测协议是传输层协议,而测试过程抽象网络接口映射到链路层操作,则需要使用脚本语言完成网络层的参考实现;如果待测协议的下层和可以访问的接口隔了多层,则参考实现层也需要相应的分成多个子层;
构建通用协议测试过程层:使用脚本语言将常用的操作序列集或一些相对复杂的协议处理过程编写成通用过程提供给多个测试用例共用;
步骤3:抽象测试脚本的编写,具体可以按如下方式完成:
根据具体协议的测试目的,使用测试环境中各个层次所提供的操作命令或操作过程编写抽象测试脚本,通常针对一种协议的每个测试目的需要编写一个抽象测试脚本,同一个协议的多个抽象测试脚本构成该协议的抽象测试集,抽象测试集包含针对各种协议进行测试用的抽象测试脚本模块。
步骤4:执行所述抽象测试脚本,具体可以按如下方式完成:
在上述步骤1和2所构造的测试环境中,使用命令解释器解释执行上述步骤3所编写的抽象测试脚本,然后,观察输出结果,给出测试判决,这样便可以实现相应的协议测试过程。
基于上述装置,本发明还提供了一种实现协议测试的方法,仍参见图6,具体实现过程如下:
1、由于不同的协议测试过程对应着不同的抽象测试脚本,因此,首先应该根据具体的待测试协议的类型确定进行该项协议测试需要的一个抽象测试脚本模块;
2、抽象测试脚本模块开始进行协议测试时,向命令解释器发送协议测试命令,即所述的命令解释器执行抽象测试脚本模块的命令;所述命令解释器解释所述命令后根据命令的内容将其发送给连接控制管理模块或者通用协议测试过程模块,以调用相应的模块进行协议测试操作;所述的命令包括协议报文的编码,协议报文的解码,协议报文的发送,协议报文的接收等操作;
所述的协议报文编码过程处理为:从报文缓冲区中申请一块合适大小的缓冲区;根据具体协议报文定义,使用报文缓冲区管理模块提供的基本命令按特定的格式在所申请的缓冲区的特定的位置填写特定的内容;
所述的报文解码过程处理为:根据具体协议报文定义,使用报文缓冲区管理模块提供的基本命令按特定的格式从所需要解码的缓冲区的特定的位置读取相应的内容;
3、连接控制管理模块收到所述的协议测试命令后,则根据所述命令进行抽象网络接口和实际网络接口的连接及管理操作,具体包括协议报文的发送,接收等;
所述的报文发送过程处理为:从报文缓冲区模块中获取待发送的报文;调用网络接口驱动模块完成该报文的发送;
所述的报文接收过程处理为:在报文缓冲区管理模块中申请一块指定大小的报文缓冲区;然后,调用网络接口驱动模块接收报文,将报文保存所申请的缓冲区中;
4、通用协议测试过程模块收到所述的协议测试命令后,则根据所述命令调用相应的公共子程序进行并配合抽象测试脚本模块进行协议测试处理。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种协议测试装置,其特征在于,包括一协议相关单元、一协议无关单元,其中:
所述协议相关单元,根据待测试的协议设置,并在协议无关单元的支持下,用于在协议测试过程中,处理与具体协议的测试过程相关的内容信息,并进行具体的协议测试处理;
所述协议无关单元,用于支持协议相关单元的协议测试操作,其中包括接口管理操作和命令解释操作,所述的接口管理操作用于根据协议相关单元的控制进行协议报文的收发操作,所述的命令解释操作用于控制协议相关单元进行具体的协议测试处理,所述协议无关单元独立于所述协议相关单元设置;
所述的协议相关单元进一步包括:
抽象测试脚本模块,用于通过向命令解释器发送命令调用连接控制管理模块及通用协议测试过程模块进行相应的协议测试操作,每一种协议测试对应一个抽象测试脚本模块;
通用协议测试过程模块,包含着进行各种协议测试用的公共子程序,该模块在抽象测试脚本模块的控制下,用于从命令解释器接收控制操作命令,并根据所述的控制操作命令调用相应的公共子程序配合抽象测试脚本模块进行协议测试处理;
且所述协议无关单元进一步包括:
命令解释器,用于接收所述抽象测试脚本的测试命令,经解析处理后,根据命令的内容将其发送给连接控制管理模块或者通用协议测试过程模块;
连接控制管理模块,在抽象测试脚本模块的控制管理下,用于从所述命令解释器接收控制管理命令,并通过网络接口与被测试端的连接互通;
其中,所述的抽象测试脚本模块、命令解释器、连接控制管理模块和通用协议测试过程模块间相互独立设置。
2.根据权利要求1所述的协议测试的装置,其特征在于,所述的连接控制管理模块进一步包括:
抽象网络接口管理模块:用于在抽象测试脚本模块的控制下,通过网络接口驱动模块对与待测协议相关的网络接口的访问及管理操作;
网络接口驱动模块:用于实现由与协议无关的抽象网络接口到与待测协议相关的网络接口的映射。
3.根据权利要求1所述的协议测试的装置,其特征在于,所述的协议无关单元还包括:
报文缓冲管理模块:用于实现针对协议报文缓冲区的各项管理操作,以及为实现具体协议的编解码提供基本支持命令,所述的协议报文缓冲区用于缓存接收或待发送的协议报文。
4.根据权利要求3所述的协议测试的装置,其特征在于,所述的协议相关单元还包括:
协议参考实现模块:用于提供可以在测试机器中直接访问待测系统中待测协议层次的下层待测协议实体的对等体的网络接口。
5.根据权利要求4所述的协议测试的装置,其特征在于,所述的协议参考实现模块包括:
当待测系统中的下层包含多个待测协议实体时,所述的协议参考实现模块的数量与其包含的待测协议实体数量对应相等。
6.根据权利要求1所述的协议测试的装置,其特征在于,所述的命令解释器还包括:
命令注册模块:用于接收用户注册的新的命令,所述的新的命令对应着相应的处理例程。
7.根据权利要求1所述的协议测试的装置,其特征在于,所述的抽象测试脚本模块涉及的测试操作包括:
接口的初始化操作、协议报文的编解码、协议报文的收发及协议报文数据域的比较。
8.根据权利要求4所述的协议测试的装置,其特征在于,所述的装置还包括:
协议报文的收发模块:用于在抽象测试脚本模块的控制下进行协议报文的收发操作;
协议报文的编解码模块:用于在抽象测试脚本模块的控制下对待发送的协议报文进行编码,对接收的协议报文进行解码;
且,所述的协议报文的收发模块和协议报文的编解码模块内置于所述的通用协议测试过程模块、协议参考实现模块或报文缓冲管理模块中实现。
9.一种实现协议测试的方法,其特征在于,包括:
A、抽象测试脚本模块开始进行协议测试时,向命令解释器发送协议测试命令,所述命令解释器解释所述命令后根据命令的内容将其发送给连接控制管理模块或者通用协议测试过程模块;
B、连接控制管理模块收到所述的协议测试命令后,则根据所述命令进行抽象网络接口和实际网络接口的连接及管理操作;
通用协议测试过程模块收到所述的协议测试命令后,则根据所述命令调用相应的公共子程序进行并配合抽象测试脚本模块进行协议测试处理。
10.根据权利要求9所述的实现协议测试的方法,其特征在于,所述的方法还包括:
根据具体的待测试协议的类型确定进行该项协议测试需要的一个抽象测试脚本模块,并执行步骤A。
CNB200410090854XA 2004-11-16 2004-11-16 协议测试的装置及其实现协议测试的方法 Expired - Fee Related CN100370764C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB200410090854XA CN100370764C (zh) 2004-11-16 2004-11-16 协议测试的装置及其实现协议测试的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB200410090854XA CN100370764C (zh) 2004-11-16 2004-11-16 协议测试的装置及其实现协议测试的方法

Publications (2)

Publication Number Publication Date
CN1777124A CN1777124A (zh) 2006-05-24
CN100370764C true CN100370764C (zh) 2008-02-20

Family

ID=36766443

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200410090854XA Expired - Fee Related CN100370764C (zh) 2004-11-16 2004-11-16 协议测试的装置及其实现协议测试的方法

Country Status (1)

Country Link
CN (1) CN100370764C (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101312580B (zh) * 2008-07-11 2011-12-28 深圳国人通信有限公司 一种直放站监控中心和直放站监控方法
CN101695172B (zh) * 2009-10-16 2012-06-27 北京天碁科技有限公司 通信设备消息接口独立描述与编码的方法及装置
CN102830983A (zh) * 2011-06-14 2012-12-19 上海未来宽带技术及应用工程研究中心有限公司 一种可动态加载不同终端交换芯片驱动的方法
CN102724084B (zh) * 2012-05-25 2015-04-22 国网电力科学研究院 一种电网视频监控系统测试验证系统
WO2015180132A1 (zh) * 2014-05-30 2015-12-03 华为技术有限公司 一种网络协议配置方法、装置
CN104009889B (zh) 2014-06-10 2017-04-26 西安西电捷通无线网络通信股份有限公司 一种通信协议测试方法及其被测设备和测试平台
CN106330593B (zh) * 2015-07-01 2021-03-26 中兴通讯股份有限公司 协议检测方法及装置
CN106571896B (zh) * 2016-11-11 2019-09-03 西安长远电子工程有限责任公司 一种雷达通讯方法
CN107733741A (zh) * 2017-10-30 2018-02-23 中国电力科学研究院有限公司 用于协议一致性测试的软件架构方法及平台
CN110704234B (zh) * 2019-09-12 2023-05-23 无锡江南计算技术研究所 一种存控数据传输错误注入方法
CN112867044A (zh) * 2021-01-14 2021-05-28 江苏亨鑫众联通信技术有限公司 一种基站模拟测试终端、测试方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1357981A (zh) * 2000-12-04 2002-07-10 深圳黎明电脑网络有限公司 可进行多种应用协议测试的方法
US20030093259A1 (en) * 2001-11-12 2003-05-15 Andreas Kolbe Protocol test device including a network processor
CN1471267A (zh) * 2002-07-22 2004-01-28 华为技术有限公司 一种网络协议测试方法及其测试系统
JP2004088183A (ja) * 2002-08-23 2004-03-18 Matsushita Electric Ind Co Ltd プロトコル試験装置及びプロトコル試験方法
CN1540892A (zh) * 2003-11-03 2004-10-27 中国科学院计算技术研究所 计算机网络协议测试传输方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1357981A (zh) * 2000-12-04 2002-07-10 深圳黎明电脑网络有限公司 可进行多种应用协议测试的方法
US20030093259A1 (en) * 2001-11-12 2003-05-15 Andreas Kolbe Protocol test device including a network processor
CN1471267A (zh) * 2002-07-22 2004-01-28 华为技术有限公司 一种网络协议测试方法及其测试系统
JP2004088183A (ja) * 2002-08-23 2004-03-18 Matsushita Electric Ind Co Ltd プロトコル試験装置及びプロトコル試験方法
CN1540892A (zh) * 2003-11-03 2004-10-27 中国科学院计算技术研究所 计算机网络协议测试传输方法

Also Published As

Publication number Publication date
CN1777124A (zh) 2006-05-24

Similar Documents

Publication Publication Date Title
CN100370764C (zh) 协议测试的装置及其实现协议测试的方法
CN100388229C (zh) 一种自动生成桩函数和驱动函数的单元测试系统及方法
JP3706145B2 (ja) Unix開放型システム間相互接続層のテスト
CN101150463B (zh) 测试方法和系统
JP3706144B2 (ja) プロトコルインターフェースゲートウェイ
CN100385864C (zh) 协议一致性测试装置及测试方法
US6134515A (en) Controlling a first type telecommunications switch upon translating instructions for a second type telecommunications switch
CN114253740A (zh) 基于Linux内核的协议栈数据传输方法及装置
CN106095601B (zh) 一种多进程并发解算差分服务器系统及其实现方法
CN103200026A (zh) 固件的升级方法及系统
CN100428171C (zh) 数据平面与控制平面之间的通讯方法
CN107015912A (zh) 实现远程调试的系统、方法、装置、及电子设备
US7469359B2 (en) Method and apparatus for testing communication software
JP3887672B2 (ja) プロトコル・スタック生成装置及び方法
CN109992517A (zh) 基于uefi的固件模块调试方法和系统
CN107948009A (zh) Plc协议测试的数据交互通道的构建方法及模型
CN109684148B (zh) 一种基于arinc653的机载嵌入式软件虚拟总线通信构建方法
CN100362817C (zh) 软件模块的测试方法
CN111198770A (zh) Ros1消息的通信方法、装置和系统、转换方法和装置
CN109299011A (zh) 一种应用程序的测试方法及系统
CN117424840A (zh) 一种软件无线电平台标准符合性覆盖测试方法
CN106560797A (zh) 一种基于调试器的单元测试系统及方法
CN100389627C (zh) 短信接口测试设备
CN114115832A (zh) 一种物联网嵌入式设备与云平台通信协议实现方法
CN104731700B (zh) 一种支持表格驱动局部数据的单元测试系统和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080220

Termination date: 20151116

EXPY Termination of patent right or utility model