1、引言
td-scdma系统是我国提出的第三代移动通信标准,在国际上引起了广泛的关注。目前,国内很多厂商及科研单位正从事td-scdma协议栈软件的研发工作,协议软件的实现是否严格反映3gpp标准要求,很大程度上影响着我国td-scdma的发展前景,因此,对协议测试进行研究有着非常重要的现实意义。
cc是非接入层cm子层的一个实体,主要完成cs域基本的呼叫管理,是整个cm子层的核心(如图1所示)。本文结合cc实体的主叫过程,提出了一种一致性协议测试的方法。
图1无线协议栈地分层结构
2、协议一致性测试
协议是设备间进行通信时须予以遵守的规则。通常情况下,这些规则是以自然语言来描述的,这就存在着因主观差异导致不同甚至错误的协议实现的可能。鉴于此,我们需要一种有效的方法来对协议的可靠性进行判别,这就是“协议测试”(protocol testing)。
协议测试是一种黑盒测试,它对照协议标准,通过控制观察被测协议实现的外部行为,对其进行验证。目前,协议测试分成四个方面:一致性测试(conformance testing)、互操作性测试(interoperability testing)、性能测试(performance testing)、坚固性测试(robustness testing)。
一致性测试主要验证协议实现是否严格遵循相应的协议描述,判断该产品的协议实现是否符合国际标准,它是协议测试最基本的内容,也是其它三种测试的基础。对td-scdma系统高层协议的开发测试而言,我们更为关心的是开发能否满足标准,是否能与其它基于同一个协议标准的产品实现互通,以尽可能减少产品在现场实际运行时出错的风险。
3、sdl和ttcn
在协议软件的开发流程中,sdl被广泛用来描述通信系统的行为。它可以把sdl的描述和设计直接生成标准的c代码,用户也可以直接在sdl描述和设计中嵌入c代码。经sdl描述产生的c代码(包括嵌入的c代码),可以在目标板上运行,从而大大方便了协议软件的开发。与sdl相对应的msc(信息序列图),是itu-t规范中用来表示信息序列的语言,用msc图可以直观地表现出信号的流向;并且信号是从什么进程发送到什么进程,信号带有哪些参数、参数值等都能直观地表示在sdl的msc图中,这为了解和分析信号在各个模块间的传递带来了很大的方便。此外,通过msc图还可以将msc的各项功能有机地联系在一起。
树表结合表示法(ttcn),采用的是以树和表格为表现形式的测试表示法,其中,表格主要用于数据类型、原语、约束等,而树则用于描述测试集、测试例、测试步。ttcn是一种独立于协议、测试方法和测试设备的抽象语言,因此,它被广泛地应用在通信协议测试中。ttcn把iut整个看作一个测试实体来考虑,但可以根据测试者测试目的,通过选择iut与测试环境的接口来进行测试,以达到测试和验证iut的目的。
4、cc实体一致性测试
4.1cc测试环境
cc测试环境如图2所示,cc的上层是spvcall模块,它负责将人机界面(mmi)等应用层发来的消息转发到cc实体;cc的下层是mm子层,它为cc提供mm连接服务。我们选择的控制观察点(pco,points control and observation)有两个:一个在spvcall与cc的接口处,另一个在cc与mm的接口处(如图2所示)。模块spvcall和mm共同组成了cc的测试环境,cc即是待测试的iut。
图2cc测试环境
4.2cc主叫过程
cc实体的主要功能是对用户之间的呼叫进行控制,包括呼叫建立、呼叫释放以及呼叫重建等。限于篇幅,下面以主叫过程为例,介绍该实体一致性测试方法。
(1)cc主叫过程描述
根据相关协议的描述,cc发起的主叫应为如下过程(如图3所示):
图3cc主叫过程的流程图
◆首先由终端发起呼叫,应用层(如人机界面,mmi)发起一个建立请求送到spvcall模块,spvcall将向cc发送“capi_call_setup_req”信号;
◆cc收到此信号后,将发送“mmcc_est_req”信号到mm子层,要求其创建一个mm连接,同时,开启定时器t303,状态即跃迁到“connect pending”;
◆mm子层向cc发送“mmcc_est_cnf”信号表示mm连接创建成功,cc通过原语“mmcc_data_req”向mm子层发送“setup”消息,状态跳到“call initiate”;
◆mm子层通过接入层将“setup”消息发送给网络,网络收到此消息后,向终端发送“call proceeding”消息,cc一旦收到该条消息,就关闭定时器t303,开启定时器t310,并向spvcall报告收到了“call proceeding”消息,状态亦跃迁到“callproceeding”;
◆网络向终端发送“alerting”振铃消息,cc收到这条消息时,停掉定时器t310,向spvcall报告收到了“alerting”,状态并跃迁到“call delivered”;
◆当终端分配了专用资源后,mm层将通过“mmcc_sync_ind”原语通知cc,cc将通知spvcall专用资源已经分配;
◆最后,网络向终端发送“connect”消息,cc收到此消息后,将向网络发送“connect ackno-wledge”,并通知spvcall模块:cc收到了“connect”消息,状态即进入“call active”。 (2)消息的构造
为了测试协议是否如实地实现标准的要求,我们要检查终端和网络收发的消息内容是否正确,同时,也要确认对端收到消息后做出的响应是否与规范相符。
前文曾提到,终端发起呼叫建立时,首先由应用层发起一个建立请求,即cc向网络发送一条“setup”消息。以“setup”为例,该消息的构造参考3gpp的24.008,其内容包含有pd/ti、消息类型、承载能力、被叫用户子地址、被叫用户号码、si以及其它一些和普通呼叫相关的参数。
表1“setup”消息构造
5、结论
通过检查msc图的其它部分,发现信号的流程及数据、状态的跳转、定时器的开启和关闭协议的要求,实现了cc的主叫功能,这说明开发出的代码实现了cc实体主叫的功能。使用sdl工具和ttcn测试功能,能有效地减少调试时间,并大大提高测试效率。
目前,我国td-scdma系统测试工作正如火如荼地进行着,提供标准的、高效的一致性测试方法和工具,能准确地验证终端设备的各项技术、信令和性能要求,对于td-scdma民族产业化进程将具有十分重要的意义。
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』