CN1852177A - 测试适配器和测试工具系统及其测试方法 - Google Patents

测试适配器和测试工具系统及其测试方法 Download PDF

Info

Publication number
CN1852177A
CN1852177A CN 200510108376 CN200510108376A CN1852177A CN 1852177 A CN1852177 A CN 1852177A CN 200510108376 CN200510108376 CN 200510108376 CN 200510108376 A CN200510108376 A CN 200510108376A CN 1852177 A CN1852177 A CN 1852177A
Authority
CN
China
Prior art keywords
interface
test
protocol
protocol stack
component
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.)
Granted
Application number
CN 200510108376
Other languages
English (en)
Other versions
CN100459530C (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.)
Huawei Technologies Co Ltd
Original Assignee
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB2005101083765A priority Critical patent/CN100459530C/zh
Publication of CN1852177A publication Critical patent/CN1852177A/zh
Application granted granted Critical
Publication of CN100459530C publication Critical patent/CN100459530C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Maintenance And Management Of Digital Transmission (AREA)

Abstract

本发明公开了一种测试适配器(TA)及采用该TA组成的测试工具系统(TS)和测试方法,该TA作为独立的应用程序,通过网络连接与测试执行器(TE)实现动态连接以传递测试信息,这种TE与TA分离的结构使得TS支持分布式测试的需要。TA的内部结构采用分层管理的结构,TA框架通过统一的接口实现公共功能的管理,如完成TA与TE之间的通信,协议栈的配置,以及消息监控、告警等其它通用功能;协议栈通过统一的接口对协议组件进行管理,可以根据不同的测试需求动态对协议组件进行组合,提高了协议组件的重用性,很好地保证了开发的一致性和可继承性,节省了开发投入。

Description

测试适配器和测试工具系统及其测试方法
技术领域
本发明涉及电子或通信领域的测试技术,尤指一种测试适配器(TA,Test Adaptor)和采用该TA组成的测试工具系统(TS,Test System),以及该TS的测试方法。
背景技术
产品出厂或正式投入运营前,一般都需要采用测试工具对产品的质量进行测试和验证。在现有技术中,有很多种测试工具和测试标准,常见的测试标准为TTCN3标准,该标准中把TS定义为一个分层分模块的体系,其包括测试管理器(TM,Test Management)、测试执行器(TE,Test Executor)和TA,其中TA是连接TS和被测系统(SUT,System under test)的一个适配层,负责适配和中转TS与SUT之间的接口调用和消息交互等。
TTCN3标准中定义的测试工具系统中,主要测试功能都集中在TM和TE中实现,而TA的功能较为简单。具体来讲,指导测试执行的逻辑模块,即测试套,被设置在TE中,测试套对设置在TE中的协议组件进行管理,包括创建某协议组件,或释放某协议组件等;另外测试套还需要管理协议组件之间、协议组件和SUT之间,协议组件和测试套之间的消息发送和接收,这里,协议组件是根据SUT支持的协议,预先写入TE中的。
而TA功能简单,只是对被测物理设备的驱动程序进行封装,用于连接SUT或其它模块。
基于TTCN3标准开发的现有测试工具中,其TA与TE之间的连接通常采用本地接入方式,图1是现有技术基于TTCN3标准开发的现有测试工具中TE与TA之间的接口示意图,从图1可见,TA采用动态连接库(DLL)接口或组件对象模型(COM)接口连接TE,即TE和TA运行在一个应用程序中,通俗地说就是TE和TA只能运行在一台计算机上,不支持在不同的计算机上分别运行,即现有测试工具不支持分布式测试。
下面以SUT是一个支持TCP/IP协议的互联网设备,比如路由器为例,详细描述采用现有TS对该SUT进行测试的解决方案。图2是现有技术TS实现测试实施例的连接示意图。
如图2所示,要对这个SUT进行测试,首先必须在TS中实现TCP/IP协议栈,才能和被测系统进行通信。TCP/IP协议栈的核心部分的协议包括传输层协议(TCP/UDP)、网络层协议(IP)和数据链路层(LINK)协议,从图2中可见,按照TTCN3标准协议规定,在TS的TM和TE中定义并编译四个协议组件TCP、UDP、IP和LINK;
然后,将控制这些协议组件的具体测试逻辑写在测试套中。测试套对上述协议组件的管理包括创建(create)、释放(destroy)等,另外测试套还需要管理协议组件之间、协议组件和SUT之间,协议组件和测试套之间的消息的发送(send)和接收(receive)。
从图2中可以看出,绝大部分协议栈的实现被封装在了上层TE中,所以在负责TS和SUT连接的被测系统适配器SA(SUT Adaptor)中,TTCN3标准下的处理相对简单,只是在SA中建立了TS和SUT进行通信的通信接口组件,用于驱动SUT。
当多个TA或协议组件之间有逻辑关系时,比如需要把多个协议组件拼装成一个协议栈时,现有测试工具的TA层没有相应的机制进行封装和管理。
目前,包括TTCN3技术标准,以及基于该标准实现的测试工具,如比较通用的基于TCL、PYTHON等脚本语言的测试技术,均没有对SA的内部结构进行定义和封装管理,而协议组件作为一个功能单一的模块被直接接入到了TE中,如图2中将TCP、UDP、IP、LINK四个协议组件封装在TE中。
在实际的网络通信中,无论是计算机互联网络还是电信网络,都涉及到复杂的网络协议,网络协议是分层的,比如,计算机互联网协议中的TCP/IP协议族、电信网络中的7号信令协议族,均有这样的复杂协议层次。对于复杂协议栈的测试,现有处理办法是在SA中把多层协议的协议栈直接封装成一个模块,不能对协议栈内部的协议层进行进一步的拆除和组合,或者在TS的TE中封装需要的协议层组件,如图2所示。这样会导致测试套中的测试逻辑编写复杂,测试套和协议组件之间耦合性高,而且因为TE中的测试套是直接面对测试工具的用户的,不同的用户的思维模式不一样,将导致编写出来的协议组件形态各异,不规范,不通用,很难重用编写好的协议组件。
由于在复杂的协议栈中,每个协议层都可能包含一个以上的协议。现有TS中的TA,如TTCN3技术标准测试工具的SA往往把所有协议封装成一个协议栈模块;或者将协议组件设置在TE中,与测试套耦合在一起实现测试。如果需要对协议栈内的某层或者某个协议进行组装和重用配置的时候,就需要在测试套或者协议栈模块中进行修改。这样的框架模式是不灵活和不易维护的,不能保证开发的一致性和可继承性。
更重要的是,在某些高级的测试应用中,需要TA从TE中分离出来,作为共享的适配器同时给多个TE使用,比如计算机互联网通信产品和电信网络通信产品都具有这样的特点,而现有技术测试工具中的TA不支持这种分布式的测试环境。
从上述TTCN3标准中定义的测试工具系统来看,大致具有以下缺点:其TA层没有相应的机制进行封装和管理;TA编写出来的协议组件形态各异,不规范,不通用,很难重用编写好的协议组件;测试套中的测试逻辑编写复杂,测试套和协议组件之间耦合性高;这样的框架模式是不灵活和不易维护的,不能保证开发的一致性和可继承性。另外,现有技术测试工具系统的TA不支持这种分布式的测试环境。
发明内容
有鉴于此,本发明的目的在于提供一种测试适配器,该测试适配器能够独立运行,同时能够保证开发的一致性和可继承性。
本发明的另一目的在于,提供一种采用本发明TA组成测试工具系统,该TS能够支持分布式测试执行的需求。
本发明的又一目的在于,提供一种采用上述TS测试SUT的方法,该方法能够灵活简单的实现对SUT的测试。
为达到上述目的,本发明的技术方案具体是这样实现的:
一种测试适配器,其用于对能支持多种协议的被测系统进行测试,其特征在于,包括:
至少一个协议组件,用于承载被测系统所支持的各协议;
至少一个协议栈,所述每个协议栈中设置至少一个所述协议组件,协议栈与组成该协议栈的协议组件间通过协议栈的统一接口和协议组件的统一接口对接,并进行信息交互;
测试适配器框架,用于实现对协议栈及协议组件的管理,并完成测试适配器与测试执行器间通信,所述测试适配器框架与所述协议栈通过测试适配器框架的统一接口和协议栈的统一接口对接。
所述协议组件的统一接口包括:用于连接协议栈与协议组件,或连接协议组件之间的连接处理接口;和用于在协议栈/协议组件与协议组件间传递消息的消息处理接口;
所述协议栈的统一接口包括:用于连接协议栈与测试适配器框架,或连接协议栈与协议组件的连接处理接口;和用于在协议栈与协议组件/测试适配器框架间传递消息的消息处理接口;
所述测试适配器框架的统一接口包括:用于连接测试适配器框架与所述测试执行器,或连接测试适配器框架与协议栈的连接处理接口;和用于在测试适配器框架与测试执行器/协议栈间传递消息的消息处理接口。
所述协议组件的连接处理接口包括建立连接接口和断开连接接口;
所述协议组件的建立连接接口包括:用于接收来自协议栈的建立协议栈与协议组件间连接的指令的协议组件第一建立连接接口,用于创建协议组件之间的连接的协议组件第二建立连接接口;
所述协议组件的断开连接接口包括:用于接收来自协议栈的释放协议栈与协议组件间连接的指令的协议组件第一断开连接接口,用于释放协议组件之间的连接的协议组件第二断开连接接口;
所述协议组件的消息处理接口包括发送消息接口和接收消息接口;
所述协议组件的发送消息接口包括:用于将测试数据从协议组件发送至协议栈/协议组件的协议组件第一发送消息接口,用于在协议组件间发送数据的协议组件第二发送消息接口;
所述协议组件的接收消息接口包括:用于接收来自协议栈/协议组件的测试数据的协议组件第一接收消息接口,用于接收来自协议组件的测试数据的协议组件第二接收消息接口;
所述协议栈的连接处理接口包括建立连接接口和断开连接接口;
所述协议栈的建立连接接口包括:用于接收来自测试适配器框架的建立测试适配器框架与协议栈间连接的指令的协议栈第一建立连接接口,用于创建协议栈与协议组件之间的连接的协议栈第二建立连接接口;
所述协议栈的断开连接接口包括:用于接收来自测试适配器框架的释放测试适配器框架与协议栈间连接的指令的协议栈第一断开连接接口,用于释放协议栈与协议组件之间的连接的协议栈第二断开连接接口;
所述协议栈的消息处理接口包括发送消息接口和接收消息接口;
所述协议栈的发送消息接口包括:用于将测试数据从协议栈发送至测试适配器框架的协议栈第一发送消息接口,用于将测试数据从协议栈发送至协议组件的协议栈第二发送消息接口;
所述协议栈的接收消息接口包括:用于接收来自测试适配器框架的测试数据的协议栈第一接收消息接口,用于接收来自协议组件的测试数据的协议栈第二接收消息接口;
所述测试适配器框架的连接处理接口包括建立连接接口和断开连接接口;
所述测试适配器框架的建立连接接口包括:用于接收来自测试执行器的建立测试执行器与测试适配器框架间连接的指令的测试适配器框架第一建立连接接口,用于创建测试适配器框架与协议栈之间的连接的测试适配器框架第二建立连接接口;
所述测试适配器框架的断开连接接口包括:用于接收来自测试执行器的释放测试执行器与测试适配器框架间连接的指令的测试适配器框架第一断开连接接口,用于释放测试适配器框架与协议栈之间的连接的测试适配器框架第二断开连接接口;
所述测试适配器框架的消息处理接口包括发送消息接口和接收消息接口;
所述测试适配器框架的发送消息接口包括:用于将测试数据从测试适配器框架发送至测试执行器的测试适配器框架第一发送消息接口,用于将测试数据从测试适配器框架发送至协议栈的测试适配器框架第二发送消息接口;
所述测试适配器框架的接收消息接口包括:用于接收来自测试执行器的测试数据的测试适配器框架第一接收消息接口,用于接收来自协议栈的测试数据的测试适配器框架第二接收消息接口。
所述协议组件的统一接口还包括:告警接口和日志接口;
所述协议栈的统一接口还包括:告警接口和日志接口;
所述测试适配器框架的统一接口还包括:告警接口和日志接口;
所述协议组件的告警接口和日志接口包括:
分别用于将来自协议组件的告警数据和日志数据传送给协议栈/协议组件的协议组件第一告警接口和协议组件第一日志接口;
分别用于在协议组件间传送告警数据和日志数据的协议组件第二告警接口和协议组件第二日志接口;
所述协议栈的告警接口和日志接口包括:
分别用于将来自协议栈的告警数据和日志数据传送给测试适配器框架的协议栈第一告警接口和协议栈第一日志接口;
分别用于接收来自协议组件的告警数据和日志数据的协议栈第二告警接口和协议栈第二日志接口;
所述测试适配器框架的告警接口和日志接口包括:
分别用于将来自测试适配器框架的告警数据和日志数据传送给测试执行器的测试适配器框架第一告警接口和测试适配器框架第一日志接口;
分别用于接收来自协议栈的告警数据和日志数据的测试适配器框架第二告警接口和测试适配器框架第二日志接口。
所述协议组件的统一接口还包括:配置数据接口;
所述协议栈的统一接口还包括:配置数据接口;
所述测试适配器框架的统一接口还包括:配置数据接口。
所述协议组件的配置数据接口包括:
用于接收来自协议栈/协议组件的配置数据的协议组件第一接收配置数据接口;
用于接收来自协议组件的配置数据的协议组件第二接收配置数据接口;
用于将配置数据从协议组件发送至协议栈/协议组件的协议组件第一发送配置数据接口;
用于在协议组件间发送配置数据的协议组件第二发送配置数据接口;
所述协议栈的配置数据接口包括:
用于接收来自测试适配器框架的配置数据的协议栈第一接收配置数据接口;
用于接收来自协议组件的配置数据的协议栈第二接收配置数据接口;
用于将配置数据从协议栈发送至测试适配器框架的协议栈第一发送配置数据接口;
用于将配置数据从协议栈发送至协议组件的协议栈第二发送配置数据接口;
所述测试适配器框架的配置数据接口包括:
用于接收来自测试执行器的配置数据的测试适配器框架第一接收配置数据接口;
用于接收来自协议栈的配置数据的测试适配器框架第二接收配置数据接口;
用于将配置数据从测试适配器框架发送至测试执行器的测试适配器框架第二发送配置数据接口;
用于将配置数据从测试适配器框架发送至协议栈的测试适配器框架第二发送配置数据接口。
通过动态链接库DLL或组件对象模型COM接口,实现所述测试适配器框架与协议栈之间、协议栈与协议组件之间的统一接口。
所述测试适配器通过套接字Socket,或分布式组件对象模型Dcom,或NetBios实现自身与测试执行器间通信。
所述测试适配器框架通过数据链表或数组对协议栈及协议组件进行管理。
一种测试工具系统,该测试管理器包括测试管理器、测试执行器测试执行器和至少一个测试适配器;其中,
所述测试执行器用于连接测试管理器与测试适配器,并转发测试管理器与测试适配器间交互的测试数据信息;
所述测试适配器用于对能支持多种协议的被测系统进行测试;
其中,所述测试适配器包括:
至少一个协议组件,用于承载被测系统SUT所支持的各协议;
至少一个协议栈,所述每个协议栈中设置至少一个所述协议组件,协议栈与组成该协议栈的协议组件间通过协议栈的统一接口和协议组件的统一接口对接,并进行信息交互;
测试适配器框架,用于实现对协议栈及协议组件的管理,并完成测试适配器与测试执行器间通信,所述测试适配器框架与所述协议栈通过测试适配器框架的统一接口和协议栈的统一接口对接。
所述测试适配器通过套接字Socket连接,或分布式组件对象模型Dcom连接,或NetBios实现自身与测试执行器间测试数据信息的传递。
当测试适配器为一个以上时,各测试适配器分别建立一个所述Socket连接,分别用于与测试执行器间测试数据信息的传递。
一种采用测试管理器进行测试的方法,该测试管理器包括测试管理器、测试执行器和测试适配器,该方法包括以下步骤:
A.根据被测对象所包含的协议封装测试适配器中的协议组件和协议栈;
B.测试适配器框架按照预设加载处理程序,加载协议栈和协议组件,进行协议组件对象的建立,将加载的协议组件组合为协议栈,并通过测试管理器、测试执行器和测试适配器间的统一接口进行对接;
C.测试执行器执行预设的测试脚本程序,通过测试适配器框架、协议栈和协议组件间的统一接口将测试指令/数据信息发送给被测对象;被测对象根据接收到的测试数据信息进行测试后,通过测试适配器框架、协议栈和协议组件间的统一接口将测试后数据信息返回给测试执行器。
所述测试管理器、测试执行器和测试适配器间的统一接口分别与各自的接口函数一一对应,各自的接口函数唯一对应一接口函数地址。
步骤C中,所述测试执行器将测试指令/数据信息发送给被测对象的方法为:
C1.测试适配器框架通过接口将测试指令信息发送给协议栈,协议栈根据该测试指令信息中的信息,将接收到的测试指令信息发送给相应协议组件;
C2.测试适配器框架通过接口将测试数据信息发送给协议栈,协议栈根据该测试数据信息中的信息,将接收到的测试数据信息发送给相应协议组件。
步骤C中,所述被测对象将测试后数据信息返回给测试执行器的方法为:
测试对象通过对发送消息接口函数的调用,将测试后数据信息发送给协议栈,协议栈调用测试执行器的接收消息接口函数并将接收到的测试后数据返回给测试执行器。
步骤B中所述将协议组件组合成协议栈的方法为:通过预设的图形界面或配置文件,用户选择需要的所述协议组件,根据用户选择的协议组件,测试适配器框架调用预设加载处理函数加载用户所选择的协议组件,并组合成协议栈。
由上述技术方案可见,本发明测试适配器由TA框架(TA Frame)、协议栈(Stack/Protocol Stack)和协议组件(Component/Protocol Component)三部分组成,TA框架对一个或一个以上协议栈进行管理,协议栈对一个或一个以上协议组件进行管理。TA框架与协议栈、协议栈与协议组件、以及协议组件之间设置有统一的接口,可以灵活地在各协议组件及协议栈之间进行拆除和组合,使得针对不同的测试对象构成不同的测试协议栈,也即提高了协议组件的重用性,很好地保证了开发的一致性和可继承性,节省了开发投入。
本发明TA是一个独立的应用程序,通过网络连接与TE进行通信,这样的设计,满足了分布式组网测试的需求。TE和TA可以分布在网络上的不同计算机上,并且一个TE可以连接多个TA,同时一个TA也可以连接多个TE。
另外,在进行产品集成测试和系统测试过程中,对于复杂的通信系统网络,如包含大量交换机,路由器等,可以使用TA模拟部分物理设备。因为通信设备实际上就是具体的协议栈的实现体,而TA提供了协议栈的实现方式,所以可以对具体的设备进行软件模拟,这样就可以解决实际测试中硬件资源稀缺的问题。
附图说明
图1是现有技术基于TTCN3标准开发的现有测试工具中TE与TA之间的接口示意图;
图2是现有技术TS实现测试实施例的连接示意图;
图3是本发明TA组成结构示意图;
图4(a)是本发明TA中TA框架接口示意图;
图4(b)是本发明TA中协议栈接口示意图;
图4(c)是本发明TA中组件接口示意图;
图5是本发明TA内部连接示意图;
图6是本发明TA中TA框架管理协议栈示意图;
图7是本发明TA中协议栈内部结构示意图;
图8是本发明基于TTCN3标准开发的测试工具中TE与TA之间的接口示意图;
图9是利用本发明TA实现测试实施例的连接示意图。
具体实施方式
本发明的核心思想是:TA作为独立的应用程序,通过网络连接与TE实现动态连接以传递测试信息,这种TE与TA分离的结构使得TS支持分布式测试的需要。TA的内部结构采用分层管理的结构,TA框架通过统一的接口实现公共功能的管理,如完成TA与TE之间的通信,协议栈的配置,以及消息监控、告警等其它通用功能;协议栈通过统一的接口对协议组件进行管理,可以根据不同的测试需求动态对协议组件进行组合或拆除,提高了协议组件的重用性,很好地保证了开发的一致性和可继承性,节省了开发投入,同时也为采用本发明TS对SUT的测试更加灵活。
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举较佳实施例,对本发明进一步详细说明。
图3是本发明TA组成结构示意图,从图3中可以看出,TA主要包括TA框架、协议栈和协议组件。
其中,TA框架的主要功能包括:①完成与TE之间的通信。②配置各协议组件,并按照要求将配置的协议组件组成协议栈。③提供其它通用功能,比如消息监控、告警接口、配置命令解释等;
协议栈主要用于方便用户定义常用的协议组件的组合,协议栈由一个或一个以上协议组件组合而成,协议组件之间的连接是逻辑连接。协议栈受TA框架的直接管理;
协议组件用于描述SUT所支持的协议;图3中所示设备组件是特殊的协议组件,设备组件是连接TA与SUT的接口驱动程序。
TA框架与协议栈之间、协议栈与协议组件之间、协议组件之间的接口,可以使用DLL实现,也可以通过Com接口或其它接口实现。
协议组件的统一接口包括:用于连接协议栈与协议组件,或连接协议组件之间的连接处理接口;和用于在协议栈/协议组件与协议组件间传递消息的消息处理接口;协议组件的连接处理接口包括建立连接接口和断开连接接口,协议组件的消息处理接口包括发送消息接口和接收消息接口;
协议栈的统一接口包括:用于连接协议栈与TA框架,或连接协议栈与协议组件的连接处理接口;和用于在协议栈与协议组件/TA框架间传递消息的消息处理接口;协议栈的连接处理接口包括建立连接接口和断开连接接口,协议栈的消息处理接口包括发送消息接口和接收消息接口;
TA框架的统一接口包括:用于连接TA框架与TE,或连接TA框架与协议栈的连接处理接口;和用于在TA框架与TE/协议栈间传递消息的消息处理接口;TA框架的连接处理接口包括建立连接接口和断开连接接口,TA框架的消息处理接口包括发送消息接口和接收消息接口。
下面分别对各部分功能的实现进行详细描述:
1)TA框架
图4(a)是本发明TA中TA框架接口示意图,如图4(a)中所示,TA框架包括以下接口:
建立连接接口open,open11用于接收来自TE的建立TE与TA框架间连接的指令,open12用于创建TA框架与协议栈之间的连接;
断开连接接口close,close11用于接收来自TE的释放TE与TA框架间连接的指令,close12用于释放TA框架与协议栈之间的连接;
发送消息接口sendmsg,sendmsg11用于将测试数据从TA框架发送至TE,sendmsg12用于将测试数据从TA框架发送至协议栈;
接收消息接口recvmsg,recvmsg11用于接收来自TE的测试数据,recvmsg12用于接收来自协议栈的测试数据;
其它可扩展接口,如告警接口warn,warn11和warn12用于传送测试中的告警数据、日志接口log,log11和log12用于传送日志数据。其中,warn11和log11分别用于将来自TA框架的告警数据和日志数据传送给TE;warn12和log12分别用于接收来自协议栈的告警数据和日志数据。
另外还可扩展配置接口config,包括接收配置数据接口recvconfig11和recvconfig12,发送配置数据接口sendconfig11和sendconfug12。其中,recvconfig11用于接收来自TE的配置数据,recvconfig12用于接收来自协议栈的配置数据;sendconfig11用于将配置数据从TA框架发送至TE,sendconfig12用于将配置数据从TA框架发送至协议栈。
以上所述各接口与各自的接口函数一一对应,而每一接口函数唯一对应一接口函数地址,接口之间的连接可以通过接口函数实现。
2)协议栈
图4(b)是本发明TA中协议栈接口示意图,如图4(b)中所示,协议栈包括以下接口:
建立连接接口open,open21用于接收来自TA框架的建立TA框架与协议栈间连接的指令,open22用于创建协议栈与协议组件之间的连接;
断开连接接口close,close21用于接收来自TA框架的释放TA框架与协议栈间连接的指令,close22用于释放协议栈与协议组件之间的连接;
发送消息接口sendmsg,sendmsg21用于将测试数据从协议栈发送至TA框架,sendmsg22用于将测试数据从协议栈发送至协议组件;
接收消息接口recvmsg,recvmsg21用于接收来自TA框架的测试数据,recvmsg22用于接收来自协议组件的测试数据;
其它可扩展接口,如告警接口warn,warn21和warn22用于传送测试中的告警数据、日志接口log,log21和log22用于传送日志数据。其中。Warn21和log21分别用于将来自协议栈的告警数据和日志数据传送给TA框架;warn22和log22分别用于接收来自协议组件的告警数据和日志数据。
另外还可扩展配置接口config,包括接收配置数据接口recvconfig21和recvconfig22,发送配置数据接口sendconfig21和sendconfig22。其中,recvconfig21用于接收来自TA框架的配置数据,recvconfig22用于接收来自协议组件的配置数据;sendconfig21用于将配置数据从协议栈发送至TA框架,sendconfig22用于将配置数据从协议栈发送至协议组件。
以上所述各接口与各自的接口函数一一对应,而每一接口函数唯一对应一接口函数地址,接口之间的连接可以通过接口函数实现。
3)协议组件
图4(c)是本发明TA中协议组件接口示意图,如图4(c)中所示,协议组件包括以下接口:
建立连接接口open,open31用于接收来自协议栈的建立协议栈与协议组件间连接的指令,open32用于创建协议组件之间的连接;
断开连接接口close,close31用于接收来自协议栈的释放协议栈与协议组件间连接的指令,close32用于释放协议组件之间的连接;
发送消息接口sendmsg,sendmsg31用于将测试数据从协议组件发送至协议栈/协议组件,sendmsg32用于在协议组件间发送数据;
接收消息接口recvrmsg,recvmsg31用于接收来自协议栈/协议组件的测试数据,recvmsg32用于接收来自协议组件的测试数据;
其它可扩展接口,如告警接口warn,warn31用于传送测试中的告警数据、日志接口log,log31用于传送日志数据。其中,warn31和log31分别用于将来自协议组件的告警数据和日志数据传送给协议栈/协议组件;warn32和log32分别用于在协议组件间传送告警数据和日志数据。
另外还可扩展配置接口config,包括接收配置数据接口recvconfig31和recvconfig32,发送配置数据接口sendconfig31和sendconfig32。其中,recvconfig31用于接收来自协议栈/协议组件的配置数据,recvconfig32用于接收来自协议组件的配置数据;sendconfig31用于将配置数据从协议组件发送至协议栈/协议组件,sendconfig32用于在协议组件间发送配置数据。
以上所述各接口与各自的接口函数一一对应,而每一接口函数唯一对应一接口函数地址,接口之间的连接可以通过接口函数实现。
上面描述的是本发明测试适配器的组成及各组成部分的接口,图5是本发明TA内部连接示意图,假设在TE中预设了分别与TA框架的open11、close11、recvmag11、recvconfig11、warn11、log11、sendmsg11和sendconfig11相对应的open0、close0、sendmsg0、sendconfig0、warn0、log0、recvmsg0和recvconfig0接口,TE中与TA框架对应的每个接口同样也可以是与各自的接口函数一一对应,而每一接口函数唯一对应一接口函数地址,接口之间的连接可以通过接口函数实现。其中warn0、log0、sendconfig0和recvconfig0接口是可扩展的。将上述TA框架、协议栈和协议组件的对应接口连接在一起,就形成了图5所示的TA内部连接图。从图5可见,从TE发出的调用请求,经过TA框架和协议栈的接收和处理后,最终被转发至协议组件,在协议组件中实现具体调用的功能。
为了实现本发明TA的功能,下面详细介绍TA框架对协议栈的管理,以及协议栈与协议组件之间的关系。
TA框架相当于一个容器,可以管理多个协议栈,同时,TA是分层的管理模式,TA框架只管理协议栈,即TA框架只和协议栈打交道。TA框架可以使用链表或数组的方式来管理一个或一个以上协议栈。
图6是本发明TA中TA框架采用链表方式管理协议栈的示意图,从图6可见,TA框架中使用一个协议栈链表(stack list)来管理协议栈,该协议栈链表用于存储协议栈对应的指向该协议栈的协议栈对象的指针,其中协议栈对象用于保存该协议栈的名称、版本等基本信息。对于需要参与组合的一个协议栈,用户成功加载该协议栈后,就把该协议栈对应的指针添加到该协议栈链表中,指针指向该协议栈的协议栈对象。这样,用户需要使用协议栈时,通过协议栈的指针对该协议栈链表进行遍历,查找该协议栈的协议栈对象,从而获得该协议栈的名称等信息;对于需要从组合中拆除的一个协议栈时,在卸载该协议栈后,通过该协议栈对应的协议栈对象遍历链表中的指针,并把查找到的协议栈对应的指针从协议栈链表中删除。协议栈链表中可以保存一个或一个以上元素,所以TA框架可以管理一个或一个以上协议栈。
与采用协议栈链表相似,可以采用数组来存放指针,也即将协议栈对应的指针作为数组元素来进行管理。
本发明可以把现有工具中实现的SA适配器封装成一个个协议组件,通过共有的协议栈和TA框架进行管理。
图7是本发明TA中协议栈内部结构示意图,协议栈指由一个或一个以上协议组件组合在一起后的逻辑部件。
协议栈的提出是为了方便用户定义常用的协议组件的组合。协议栈可分为透明协议栈,即白盒协议栈,和非透明协议栈,即黑盒协议栈。对于本发明来讲,协议栈内部的协议组件对TA框架是不可见的,即TA框架不可以直接控制协议组件的对外接口,所以协议栈是非透明协议栈。
结合图6可见,协议栈直接由TA框架进行管理,而对协议组件的管理由协议栈来完成。在协议栈中,按照用户需求,一个协议栈可以包含多层协议组件,如Level1、Level2和Level3等;每层协议组件可以包含多个协议组件,如在Level1中,包含协议组件11,协议组件12等;而且每个协议组件之间可以通过协议栈建立逻辑连接,并且根据不同的测试需求可以动态进行组合或拆除。协议栈对协议组件的管理分为加载和接口对接两部分,下面进行具体描述:
1)协议栈和协议组件加载
用户通过TA提供的图形界面或配置文件等方式,选择需要的协议组件并进行分层。根据用户的选择,调用相应的加载处理函数构造协议栈。
这里,加载处理函数是TA框架中的一个内部函数,该加载处理函数用于动态生成一个协议栈对象,并把用户选中的协议组件对象加入协议栈对象中。
TA框架加载一个协议栈就会生成一个协议栈对象,该协议栈对象中除了包含协议栈名称等基本信息之外,还包含一个协议组件管理链表(component list)。协议栈可以采用DLL等方法,一个个地加载协议组件,获取协议组件的接口函数,如open、close、sendmsg、recvmsg等,  然后生成一个记录这些接口函数信息的协议组件对象,并添加到协议组件管理链表中。在协议组件管理链表中,位于顶层的协议组件和位于底层的协议组件都有特殊的标记,如顶层协议组件的标记为TOP,底层协议组件的标记为BOT,分别放在链表的头部和尾部,标识链表的起止位置。中间层的组件,通过位于链表中的顺序进行分层。
2)接口对接
协议组件加载成功后,根据协议栈的分层将相应的接口进行对接,比如上层协议组件的sendmsg接口对接到下层协议组件的recvmsg接口,上层协议组件的open接口对接到下层协议组件的open接口等。具体的对接操作就是把下层协议组件的接口函数地址记录在上层协议组件对象中,同时把上层协议组件的接口函数地址记录在下层协议组件对象中。这样,上层协议组件调用sendmsg,就通过协议栈中转到下层协议组件的recvmsg接口,而下层协议组件调用sendmsg,就通过协议栈中转到上层协议组件的recvmsg函数。
因为协议组件都是在协议栈中集中管理的。所以,对于单个协议组件而言,该协议组件并不知道其它协议组件的存在,在协议组件之间传递数据时,协议组件首先调用sendmsg接口把数据发送给协议栈,协议栈根据发送消息接口提供的数据进行分析,查找数据发送的目的地,然后再调用接收该消息的协议组件的recvmsg接口,把消息传递到目的协议组件。
另外,需要说明的是,TA中的协议组件包括用来描述待测的协议的协议组件,以及封装了TA与SUT间接口的底层协议的协议组件,这种协议组件也称为设备组件。
其中,协议组件是用来描述待测试的协议的,协议组件通常包含一个协议栈的一层或多层协议,也可以是一个完整的协议栈,TA框架将一个或一个以上协议组件构成一个完整的协议栈,协议组件间的合作关系由用户的静态配置文件或实时配置命令定义。这里的协议栈是一个泛指的概念,它可以包含应用层的协议。
设备组件是一种特殊的协议组件,设备组件用于建立TA与SUT之间的连接,因此可以把设备组件看成是封装了TA与SUT间接口的底层协议的协议组件。
从上述TA组成结构可见,TA提供了一个可以组合或拆除协议栈的TA框架,同时组合或拆除多个协议栈,协议栈可以组合或拆除多个协议组件。这些协议组件和协议栈都有统一的一致的接口,可以进行拆除和组合,从而针对不同的测试对象构成不同的测试协议栈。也就是说,TA框架、协议栈和协议组件可以多次重用,根据测试目的进行任意拆除或组合,使得本发明的TA具有可重用性。
而且,由于各协议组件是独立封装的,对于不同的被测对象,可以保留可用协议组件,对某些发生变化的协议组件进行相应修改即可,一方面同样增强了TA的重用性;另一方面,也提高了对TA的维护效率。
本发明TA被设置为一个独立的模块,具体实现时体现为一个独立的进程,即一个独立的计算机应用程序,这样,本发明TA与TE之间可以分布在网络上的不同计算机上,通过网络连接进行动态连接和使用。
图8是本发明基于TTCN3标准开发的测试工具中TE与TA之间的接口示意图,从图8中可见,TA框架对外提供和TE之间的进程间接口,即应用程序之间的接口,支持TE与TA之间进行分布式组网应用,TE和TA可以分布在网络中的不同计算机上,且一个TE可以连接多个TA,同时一个TA也可以连接多个TE。
TE和TA之间接口的具体实现可以使用一些分布式网络通信技术来完成,如:套接字(Socket)、分布式组件对象模型(Dcom)或NetBios等技术。另外,通过建立多个Socket连接,可以实现TE和TA多对多通信。具体实现方法属于现有公知技术,这里不再重述。
下面以SUT是一个支持TCP/IP协议的互联网设备,比如路由器为例,详细描述采用本发明TA组成的TS对该SUT进行测试的解决方案。图9是利用本发明TA实现测试实施例的连接示意图,要对该SUT进行测试,首先在TA中分别封装TCP、UDP、IP、LINK等协议组件;然后封装一个TCP/IP协议栈,协议栈中加载TCP、UDP、IP和LINK协议组件,并进行分层管理。从图9中可以看出,所有协议组件的创建、释放、收发消息都遵循统一的接口。协议组件本身侧重于功能的实现,不需要关心协议栈和协议组件上、下层的协议组件的管理,这些公共的功能在TA框架中统一实现。
在TE中预设了与TA框架的对接接口,具体实现与图5所示完全一致,这里不再重述;在TE的测试套中,功能实现十分简单,只需要按照测试逻辑建立/释放TE与TA的连接,然后就可以通过TA框架和被测系统收发消息了。
具体的测试过程如下:
首先,运行TA框架程序,加载协议栈和协议组件。
通过远程调用TE中的测试脚本或者手工启动TA框架,加载TCP/IP协议栈,TA框架创建协议栈对象并记录协议栈的接口函数地址。协议栈加载的过程中,预设的加载处理函数加载TCP、UDP、IP、LINK四个协议组件,通过测试脚本获取接口函数地址,并进行协议组件对象的创建和接口对接。
其次,运行TE测试套中的测试逻辑,如TTCN3语言编写的测试用例,调用open接口函数建立TE和TA框架的连接,TE向TA框架发送调用open接口函数后,TA框架通过调用协议栈的open接口函数,将建立连接的请求发送至协议栈,协议栈再调用协议组件的open接口函数,请求建立和顶层协议组件,如TCP协议的连接,顶层协议组件处理完毕后,可以直接返回,也可以调用下层协议组件的open接口,建立和下层协议组件,如IP协议的连接,这样层层传递下去,最后通过最底层的设备组件,如LINK协议建立TA和SUT的连接。
之后,继续运行TE中的测试脚本,调用sendmsg接口函数,将TE中的测试数据,或称测试消息,通过TE和TA之间的网络通信接口发送至TA框架;TA框架通过调用协议栈的recvmsg接口函数,将测试数据发送至协议栈;协议栈再调用协议组件的recvmsg接口函数,将数据发送至协议栈中的顶层协议组件,如TCP协议中进行处理。顶层协议组件处理完毕后,调用sendmsg接口函数,通过协议栈将消息传递给下层协议组件,如IP协议的recvmsg接口函数,这样层层通过协议栈传递下去,最后通过最底层的设备组件,如LINK协议发送给SUT。从SUT发送回来的测试数据,也通过上述过程的逆过程向上传递,最后发送到TE中。
因为协议组件都是在协议栈中集中管理的。所以,对于单个协议组件而言,协议组件自身并不知道其它协议组件的存在,在协议组件之间传递数据是通过协议栈来中转的,协议组件首先调用sendmsg接口把数据发送给协议栈,协议栈根据发送消息接口提供的信息进行分析,查找数据发送的目的地,然后再调用接收该消息的协议组件的recvmsg接口,把消息传递到目的协议组件。
图9中的协议组件之间的open接口和close接口、sendmsg接口和recvmsg接口之间的虚线部分表示通过协议栈进行协议组件之间的连接和中转操作。
最后,当测试例运行完毕后,TE通过close接口函数释放和TA框架的连接,TA框架同时会调用协议栈的close接口函数,协议栈调用协议组件的close接口函数,最终通过设备组件释放和SUT的连接。
本实施例中,采用Socket连接技术来实现TE与TA之间的分布式网络通信,这部分实现属于现有公知技术,这里不再重述。
另外,上述采用Socket连接TE与TA之间的通信方式也只是其中一种,还可以通过NetBios、Dcom等网络通信技术来实现TE与TA之间的网络通信,这些方法均属于现有公知技术,因此,这里不再重述。
根据以上对TA的组成及功能的详细描述,可以总结本发明TA的优点在于:
1)支持自动化测试工具分布式使用TA,并支持共享使用。
本发明将TA设置为一个独立的应用程序,能够和自动测试工具中的TE通过网络进行通信。这样,就能满足分布式组网测试的需求。TE和TA可以分布在网络上的不同计算机上。一个TE可以连接多个TA,同时一个TA也可以连接多个TE。
多个TE连接一个TA就是共享模式的使用,因为一个TA可以管理多个协议栈,不同的TE可以使用同一个TA中的不同的协议栈,从而实现协议栈的共享。
2)TA内部的协议栈和协议组件支持共享和重用。
TA提供了一个可以组合或拆除协议栈的TA框架,同时组合或拆除多个协议栈,协议栈可以组合或拆除多个协议组件。这些协议组件和协议栈都有一致的接口,通过拆除和组合,针对不同的SUT构成不同的测试协议栈,也就是说,协议组件可以多次重用,根据我们的测试目的进行任意组合。
3)对物理设备的仿真可以极大的节省测试成本。
在进行产品集成测试和系统测试过程中,对于复杂的通信系统网络,如包含大量交换机,路由器等。可以使用TA模拟部分物理设备。通信设备实际上就是具体的协议栈的实现体,而TA提供了协议栈的实现方式,所以可以对具体的设备进行软件模拟,这样便可以解决实际测试时候硬件资源稀缺的问题。
4)简化上层TE中的测试逻辑。
本发明能够简化测试工具系统上层的测试套/测试脚本的编写,使用户编写测试套变得十分快捷简单,可以提高测试开发的效率,提高了测试工具的易用性。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (18)

1.一种测试适配器,其用于对能支持多种协议的被测系统进行测试,其特征在于,包括:
至少一个协议组件,用于承载被测系统所支持的各协议;
至少一个协议栈,所述每个协议栈中设置至少一个所述协议组件,协议栈与组成该协议栈的协议组件间通过协议栈的统一接口和协议组件的统一接口对接,并进行信息交互;
测试适配器框架,用于实现对协议栈及协议组件的管理,并完成测试适配器与测试执行器间通信,所述测试适配器框架与所述协议栈通过测试适配器框架的统一接口和协议栈的统一接口对接。
2.根据权利要求1所述的测试适配器,其特征在于,
所述协议组件的统一接口包括:用于连接协议栈与协议组件,或连接协议组件之间的连接处理接口;和用于在协议栈/协议组件与协议组件间传递消息的消息处理接口;
所述协议栈的统一接口包括:用于连接协议栈与测试适配器框架,或连接协议栈与协议组件的连接处理接口;和用于在协议栈与协议组件/测试适配器框架间传递消息的消息处理接口;
所述测试适配器框架的统一接口包括:用于连接测试适配器框架与所述测试执行器,或连接测试适配器框架与协议栈的连接处理接口;和用于在测试适配器框架与测试执行器/协议栈间传递消息的消息处理接口。
3.根据权利要求2所述的测试适配器,其特征在于,
所述协议组件的连接处理接口包括建立连接接口和断开连接接口;
所述协议组件的建立连接接口包括:用于接收来自协议栈的建立协议栈与协议组件间连接的指令的协议组件第一建立连接接口,用于创建协议组件之间的连接的协议组件第二建立连接接口;
所述协议组件的断开连接接口包括:用于接收来自协议栈的释放协议栈与协议组件间连接的指令的协议组件第一断开连接接口,用于释放协议组件之间的连接的协议组件第二断开连接接口;
所述协议组件的消息处理接口包括发送消息接口和接收消息接口;
所述协议组件的发送消息接口包括:用于将测试数据从协议组件发送至协议栈/协议组件的协议组件第一发送消息接口,用于在协议组件间发送数据的协议组件第二发送消息接口;
所述协议组件的接收消息接口包括:用于接收来自协议栈/协议组件的测试数据的协议组件第一接收消息接口,用于接收来自协议组件的测试数据的协议组件第二接收消息接口;
所述协议栈的连接处理接口包括建立连接接口和断开连接接口;
所述协议栈的建立连接接口包括:用于接收来自测试适配器框架的建立测试适配器框架与协议栈间连接的指令的协议栈第一建立连接接口,用于创建协议栈与协议组件之间的连接的协议栈第二建立连接接口;
所述协议栈的断开连接接口包括:用于接收来自测试适配器框架的释放测试适配器框架与协议栈间连接的指令的协议栈第一断开连接接口,用于释放协议栈与协议组件之间的连接的协议栈第二断开连接接口;
所述协议栈的消息处理接口包括发送消息接口和接收消息接口;
所述协议栈的发送消息接口包括:用于将测试数据从协议栈发送至测试适配器框架的协议栈第一发送消息接口,用于将测试数据从协议栈发送至协议组件的协议栈第二发送消息接口;
所述协议栈的接收消息接口包括:用于接收来自测试适配器框架的测试数据的协议栈第一接收消息接口,用于接收来自协议组件的测试数据的协议栈第二接收消息接口;
所述测试适配器框架的连接处理接口包括建立连接接口和断开连接接口;
所述测试适配器框架的建立连接接口包括:用于接收来自测试执行器的建立测试执行器与测试适配器框架间连接的指令的测试适配器框架第一建立连接接口,用于创建测试适配器框架与协议栈之间的连接的测试适配器框架第二建立连接接口;
所述测试适配器框架的断开连接接口包括:用于接收来自测试执行器的释放测试执行器与测试适配器框架间连接的指令的测试适配器框架第一断开连接接口,用于释放测试适配器框架与协议栈之间的连接的测试适配器框架第二断开连接接口;
所述测试适配器框架的消息处理接口包括发送消息接口和接收消息接口;
所述测试适配器框架的发送消息接口包括:用于将测试数据从测试适配器框架发送至测试执行器的测试适配器框架第一发送消息接口,用于将测试数据从测试适配器框架发送至协议栈的测试适配器框架第二发送消息接口;
所述测试适配器框架的接收消息接口包括:用于接收来自测试执行器的测试数据的测试适配器框架第一接收消息接口,用于接收来自协议栈的测试数据的测试适配器框架第二接收消息接口。
4.根据权利要求3所述的测试适配器,其特征在于,
所述协议组件的统一接口还包括:告警接口和日志接口;
所述协议栈的统一接口还包括:告警接口和日志接口;
所述测试适配器框架的统一接口还包括:告警接口和日志接口。
5.根据权利要求4所述的测试适配器,其特征在于,
所述协议组件的告警接口和日志接口包括:
分别用于将来自协议组件的告警数据和日志数据传送给协议栈/协议组件的协议组件第一告警接口和协议组件第一日志接口;
分别用于在协议组件间传送告警数据和日志数据的协议组件第二告警接口和协议组件第二日志接口;
所述协议栈的告警接口和日志接口包括:
分别用于将来自协议栈的告警数据和日志数据传送给测试适配器框架的协议栈第一告警接口和协议栈第一日志接口;
分别用于接收来自协议组件的告警数据和日志数据的协议栈第二告警接口和协议栈第二日志接口;
所述测试适配器框架的告警接口和日志接口包括:
分别用于将来自测试适配器框架的告警数据和日志数据传送给测试执行器的测试适配器框架第一告警接口和测试适配器框架第一日志接口;
分别用于接收来自协议栈的告警数据和日志数据的测试适配器框架第二告警接口和测试适配器框架第二日志接口。
6.根据权利要求4所述的测试适配器,其特征在于,
所述协议组件的统一接口还包括:配置数据接口;
所述协议栈的统一接口还包括:配置数据接口;
所述测试适配器框架的统一接口还包括:配置数据接口。
7.根据权利要求6所述的测试适配器,其特征在于,
所述协议组件的配置数据接口包括:
用于接收来自协议栈/协议组件的配置数据的协议组件第一接收配置数据接口;
用于接收来自协议组件的配置数据的协议组件第二接收配置数据接口;
用于将配置数据从协议组件发送至协议栈/协议组件的协议组件第一发送配置数据接口;
用于在协议组件间发送配置数据的协议组件第二发送配置数据接口;
所述协议栈的配置数据接口包括:
用于接收来自测试适配器框架的配置数据的协议栈第一接收配置数据接口;
用于接收来自协议组件的配置数据的协议栈第二接收配置数据接口;
用于将配置数据从协议栈发送至测试适配器框架的协议栈第一发送配置数据接口;
用于将配置数据从协议栈发送至协议组件的协议栈第二发送配置数据接口;
所述测试适配器框架的配置数据接口包括:
用于接收来自测试执行器的配置数据的测试适配器框架第一接收配置数据接口;
用于接收来自协议栈的配置数据的测试适配器框架第二接收配置数据接口;
用于将配置数据从测试适配器框架发送至测试执行器的测试适配器框架第二发送配置数据接口;
用于将配置数据从测试适配器框架发送至协议栈的测试适配器框架第二发送配置数据接口。
8.根据权利要求1至7任一项所述的测试适配器,其特征在于:通过动态链接库DLL或组件对象模型COM接口,实现所述测试适配器框架与协议栈之间、协议栈与协议组件之间的统一接口。
9.根据权利要求1所述的测试适配器,其特征在于:所述测试适配器通过套接字Socket,或分布式组件对象模型Dcom,或NetBios实现自身与测试执行器间通信。
10.根据权利要求1所述的测试适配器,其特征在于,所述测试适配器框架通过数据链表或数组对协议栈及协议组件进行管理。
11.一种测试工具系统,其特征在于,该测试管理器包括测试管理器、测试执行器测试执行器和至少一个测试适配器;其中,
所述测试执行器用于连接测试管理器与测试适配器,并转发测试管理器与测试适配器间交互的测试数据信息;
所述测试适配器用于对能支持多种协议的被测系统进行测试;
其中,所述测试适配器包括:
至少一个协议组件,用于承载被测系统SUT所支持的各协议;
至少一个协议栈,所述每个协议栈中设置至少一个所述协议组件,协议栈与组成该协议栈的协议组件间通过协议栈的统一接口和协议组件的统一接口对接,并进行信息交互;
测试适配器框架,用于实现对协议栈及协议组件的管理,并完成测试适配器与测试执行器间通信,所述测试适配器框架与所述协议栈通过测试适配器框架的统一接口和协议栈的统一接口对接。
12.根据权利要求11所述的测试管理器,其特征在于,所述测试适配器通过套接字Socket连接,或分布式组件对象模型Dcom连接,或NetBios实现自身与测试执行器间测试数据信息的传递。
13.根据权利要求12所述的测试管理器,其特征在于,当测试适配器为一个以上时,各测试适配器分别建立一个所述Socket连接,分别用于与测试执行器间测试数据信息的传递。
14.一种采用测试管理器进行测试的方法,其特征在于,该测试管理器包括测试管理器、测试执行器和测试适配器,该方法包括以下步骤:
A.根据被测对象所包含的协议封装测试适配器中的协议组件和协议栈;
B.测试适配器框架按照预设加载处理程序,加载协议栈和协议组件,进行协议组件对象的建立,将加载的协议组件组合为协议栈,并通过测试管理器、测试执行器和测试适配器间的统一接口进行对接;
C.测试执行器执行预设的测试脚本程序,通过测试适配器框架、协议栈和协议组件间的统一接口将测试指令/数据信息发送给被测对象;被测对象根据接收到的测试数据信息进行测试后,通过测试适配器框架、协议栈和协议组件间的统一接口将测试后数据信息返回给测试执行器。
15.根据权利要求14所述的方法,其特征在于:所述测试管理器、测试执行器和测试适配器间的统一接口分别与各自的接口函数一一对应,各自的接口函数唯一对应一接口函数地址。
16.根据权利要求14所述的方法,其特征在于,步骤C中,所述测试执行器将测试指令/数据信息发送给被测对象的方法为:
C1.测试适配器框架通过接口将测试指令信息发送给协议栈,协议栈根据该测试指令信息中的信息,将接收到的测试指令信息发送给相应协议组件;
C2.测试适配器框架通过接口将测试数据信息发送给协议栈,协议栈根据该测试数据信息中的信息,将接收到的测试数据信息发送给相应协议组件。
17.根据权利要求14所述的方法,其特征在于,步骤C中,所述被测对象将测试后数据信息返回给测试执行器的方法为:
测试对象通过对发送消息接口函数的调用,将测试后数据信息发送给协议栈,协议栈调用测试执行器的接收消息接口函数并将接收到的测试后数据返回给测试执行器。
18.根据权利要求14所述的方法,其特征在于:步骤B中所述将协议组件组合成协议栈的方法为:通过预设的图形界面或配置文件,用户选择需要的所述协议组件,根据用户选择的协议组件,测试适配器框架调用预设加载处理函数加载用户所选择的协议组件,并组合成协议栈。
CNB2005101083765A 2005-10-13 2005-10-13 测试适配器和测试工具系统及其测试方法 Expired - Fee Related CN100459530C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005101083765A CN100459530C (zh) 2005-10-13 2005-10-13 测试适配器和测试工具系统及其测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005101083765A CN100459530C (zh) 2005-10-13 2005-10-13 测试适配器和测试工具系统及其测试方法

Publications (2)

Publication Number Publication Date
CN1852177A true CN1852177A (zh) 2006-10-25
CN100459530C CN100459530C (zh) 2009-02-04

Family

ID=37133647

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101083765A Expired - Fee Related CN100459530C (zh) 2005-10-13 2005-10-13 测试适配器和测试工具系统及其测试方法

Country Status (1)

Country Link
CN (1) CN100459530C (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101388089A (zh) * 2005-08-09 2009-03-18 金蝶软件(中国)有限公司 一种工作流中业务逻辑处理的方法和装置
CN101599854B (zh) * 2008-06-06 2011-06-01 中国移动通信集团公司 基于组件的协议栈重配置方法、设备及系统
CN101242620B (zh) * 2008-03-07 2012-03-28 深圳国人通信有限公司 一种直放站监控的实现方法及系统
CN102420713A (zh) * 2010-09-28 2012-04-18 大唐移动通信设备有限公司 一种测试数据包封装方法及设备
CN102721835A (zh) * 2012-07-03 2012-10-10 航天科工防御技术研究试验中心 测试适配器
CN104267683A (zh) * 2014-09-16 2015-01-07 深圳市佳晨科技有限公司 产品质量测试启动控制系统及产品质量测试启动控制方法
CN104426715A (zh) * 2013-09-03 2015-03-18 北京信威通信技术股份有限公司 一种分布式测试工具控制方法
CN104539699A (zh) * 2014-12-26 2015-04-22 山东中创软件商用中间件股份有限公司 适配器组件
CN104899150A (zh) * 2015-06-30 2015-09-09 上海斐讯数据通信技术有限公司 基于面向对象的自动化测试方法及系统、和自动化平台
CN105282207A (zh) * 2014-07-25 2016-01-27 中国科学院声学研究所 一种基于可拼装通信协议栈的通信方法及系统
CN105354142A (zh) * 2015-11-26 2016-02-24 深圳市金证科技股份有限公司 中间件测试方法及装置
CN106851513A (zh) * 2016-12-30 2017-06-13 歌尔科技有限公司 一种电子产品的测试方法和系统
CN109885309A (zh) * 2019-01-14 2019-06-14 北京中科晶上科技股份有限公司 生成用于建立协议栈软件的配置文件的方法
CN110224898A (zh) * 2019-06-26 2019-09-10 南方电网科学研究院有限责任公司 配电终端的规约加密测试方法、装置、设备及存储介质
CN110798384A (zh) * 2019-11-06 2020-02-14 中国电子科技集团公司第四十一研究所 一种基于协议分层的协议仿真测试系统及方法
WO2020119430A1 (zh) * 2018-12-14 2020-06-18 深圳壹账通智能科技有限公司 协议接口测试方法、装置、计算机设备和存储介质
CN113032287A (zh) * 2021-05-25 2021-06-25 常州微亿智造科技有限公司 支持分布式的多组件性能测试方法和系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001211224A (ja) * 2000-01-27 2001-08-03 Denso Corp データ通信アダプタ
KR100414669B1 (ko) * 2001-10-29 2004-01-13 삼성전자주식회사 이동통신 시스템에서 비동기 전송모드 데이터 변환 장치
JP2003283594A (ja) * 2002-03-25 2003-10-03 Kddi Research & Development Laboratories Inc 通信プロトコルの試験装置
JP2005210575A (ja) * 2004-01-26 2005-08-04 Matsushita Electric Ind Co Ltd 情報通信システムおよびそのプログラム

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101388089A (zh) * 2005-08-09 2009-03-18 金蝶软件(中国)有限公司 一种工作流中业务逻辑处理的方法和装置
CN101242620B (zh) * 2008-03-07 2012-03-28 深圳国人通信有限公司 一种直放站监控的实现方法及系统
CN101599854B (zh) * 2008-06-06 2011-06-01 中国移动通信集团公司 基于组件的协议栈重配置方法、设备及系统
CN102420713A (zh) * 2010-09-28 2012-04-18 大唐移动通信设备有限公司 一种测试数据包封装方法及设备
CN102721835A (zh) * 2012-07-03 2012-10-10 航天科工防御技术研究试验中心 测试适配器
CN102721835B (zh) * 2012-07-03 2014-06-04 航天科工防御技术研究试验中心 测试适配器
CN104426715A (zh) * 2013-09-03 2015-03-18 北京信威通信技术股份有限公司 一种分布式测试工具控制方法
CN104426715B (zh) * 2013-09-03 2018-03-09 北京信威通信技术股份有限公司 一种分布式测试工具控制方法
CN105282207A (zh) * 2014-07-25 2016-01-27 中国科学院声学研究所 一种基于可拼装通信协议栈的通信方法及系统
CN105282207B (zh) * 2014-07-25 2019-01-22 中国科学院声学研究所 一种基于可拼装通信协议栈的通信方法及系统
CN104267683A (zh) * 2014-09-16 2015-01-07 深圳市佳晨科技有限公司 产品质量测试启动控制系统及产品质量测试启动控制方法
CN104267683B (zh) * 2014-09-16 2017-05-24 深圳市佳晨科技有限公司 产品质量测试启动控制系统及产品质量测试启动控制方法
CN104539699A (zh) * 2014-12-26 2015-04-22 山东中创软件商用中间件股份有限公司 适配器组件
CN104539699B (zh) * 2014-12-26 2018-07-31 山东中创软件商用中间件股份有限公司 适配器组件
CN104899150B (zh) * 2015-06-30 2018-03-02 上海斐讯数据通信技术有限公司 基于面向对象的自动化测试方法及系统、和自动化平台
CN104899150A (zh) * 2015-06-30 2015-09-09 上海斐讯数据通信技术有限公司 基于面向对象的自动化测试方法及系统、和自动化平台
CN105354142A (zh) * 2015-11-26 2016-02-24 深圳市金证科技股份有限公司 中间件测试方法及装置
CN105354142B (zh) * 2015-11-26 2018-05-01 深圳市金证科技股份有限公司 中间件测试方法及装置
CN106851513B (zh) * 2016-12-30 2020-06-30 歌尔科技有限公司 一种电子产品的测试方法和系统
CN106851513A (zh) * 2016-12-30 2017-06-13 歌尔科技有限公司 一种电子产品的测试方法和系统
WO2020119430A1 (zh) * 2018-12-14 2020-06-18 深圳壹账通智能科技有限公司 协议接口测试方法、装置、计算机设备和存储介质
CN109885309A (zh) * 2019-01-14 2019-06-14 北京中科晶上科技股份有限公司 生成用于建立协议栈软件的配置文件的方法
CN109885309B (zh) * 2019-01-14 2022-05-24 北京中科晶上科技股份有限公司 生成用于建立协议栈软件的配置文件的方法
CN110224898A (zh) * 2019-06-26 2019-09-10 南方电网科学研究院有限责任公司 配电终端的规约加密测试方法、装置、设备及存储介质
CN110798384A (zh) * 2019-11-06 2020-02-14 中国电子科技集团公司第四十一研究所 一种基于协议分层的协议仿真测试系统及方法
CN110798384B (zh) * 2019-11-06 2021-09-28 中国电子科技集团公司第四十一研究所 一种基于协议分层的协议仿真测试系统及方法
CN113032287A (zh) * 2021-05-25 2021-06-25 常州微亿智造科技有限公司 支持分布式的多组件性能测试方法和系统

Also Published As

Publication number Publication date
CN100459530C (zh) 2009-02-04

Similar Documents

Publication Publication Date Title
CN1852177A (zh) 测试适配器和测试工具系统及其测试方法
CN1149492C (zh) 遥控方法和服务器
CN1142489C (zh) 信息处理方法和服务器
CN1275139C (zh) 链接信息制作设备和链接信息制作方法
CN1143208C (zh) 用于消息转换的装置和方法
CN1444359A (zh) 代理,图像形成装置管理系统、方法和程序,存储介质
CN1916963A (zh) 支持多个图型处理单元方法与系统
CN1484171A (zh) 操作屏幕显示装置、方法及包含显示操作屏幕的程序的记录媒体
CN1702635A (zh) 高速接口电路检查模块、高速接口电路检查对象模块和高速接口电路检查方法
CN101068198A (zh) 楼宇系统中传输信息的方法、装置和系统
CN101035027A (zh) 网管接口信息交互方法、装置及通知上报方法
CN1906583A (zh) 信息处理设备、中断处理控制方法、以及计算机程序
CN1866221A (zh) 一种软件接口测试方法和装置
CN1787459A (zh) 一种下发命令的方法和系统
CN1790957A (zh) 设备测试方法
CN1859196A (zh) 基于规则的电信领域网络数据采集处理系统及实现方法
CN1845213A (zh) 一种实现sms4密码算法中加解密处理的方法
CN1145876C (zh) 网络系统和网络接口卡
CN1278421C (zh) 半导体装置
CN1820514A (zh) 管理电信网络的系统体系结构、方法和计算机程序产品
CN1744054A (zh) 一种自动化测试辅助系统及相应的软件自动测试方法
CN1612567A (zh) 为在不同协议下可用的应用提供服务的系统
CN1741525A (zh) 一种媒体发布系统及方法
CN1821946A (zh) 一种存储系统以及存储数据的方法和读取数据的方法
CN1756161A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090204

Termination date: 20161013