1、引言
随着对无线数据业务种类、无线传输速率要求不断增强,第三代移动通信技术及应用得到了迅猛的发展,TD-SCDMA标准及其应用的研究成为3G发展的重头戏。虽然TD-SCDMA技术已经成熟,但是其产业化的道路依然坎坷,其中终端设备的测试问题已经成为了TD-SCDMA产业化发展的瓶颈。因此,开展对TD-SCDMA移动终端一致性测试技术[1]的研究,设计针对TD-SCDMA系统的终端测试平台,对准确地验证移动终端设备的各项技术和性能要求具有十分重要的意义。
对终端设备的测试包括:射频指标测试、协议测试[1-3]其他测试。协议一致性测试是协议测试的基础,即通过观察设备对协议具体实现在不同环境和条件下的反应行为来验证协议实现与相应的协议标准是否一致。协议一致性测试是一致性测试中的难点。
现有的终端协议一致性测试方案主要有两种:第一种是对协议栈进行完全实现,然后控制协议栈的运行状态完成测试;第二种是对某项具体测试内容使用工具集生成测试用例。前者可以较简便地实现某一项测试。但结构体系比较封闭,业务的扩展性和重用性不强,而且整体协议栈开发难度大。后者具有较强的扩展性但是提高了测试方法实现的复杂度,生成TD-SCDMA测试用例较麻烦,而且重用性差,如果没有对测试用例运行平台很好的设计和对所有测试步骤进行统筹规划作为前提,用例很难配合使用。
本文提出了一个具有实际应用价值的可以支持终端协议一致性测试的TD-SCDMA终端测试系统结构,该系统不仅可以提供协议一致性测试。而且可以模拟网络的基本业务,并且实现了体系架构模块化以具有标准的接口的灵活扩展方式,具备开放的体系结构。
2、协议一致性测试与TTCN
2.1 协议一致性测试
协议一致性测试是协议测试的一种,它是一种功能性测试,依据协议规范的说明对协议的某个实现进行测试,判断协议实现与协议标准是否保持一致。其主要目的是确认产品遵从规范要求,减少产品在现场运行时发生错误的风险性。
协议一致性测试标准包括3个部分:抽象测试集(ATS)、协议实现一致性说明(PICS)和协议实施附加信息(PIXIT)。可执行测试集(ETS)在以上3部分基础上生成。
协议一致性测试的主要步骤如下:
●根据协议规范,研究协议规范的每个特性,为每个特性编写测试目的。
●把每个测试目的转化为抽象测试用例(ATC)。覆盖协议规范所有特性的多个ATC集合就构成了该协议规范的ATS。
●生成PICS/PIXIT。PICS用来说明实施的要求、能力及可选项实施的情况。PIXIT用来提供测试时必须标明的协议参数。
●确定测试方法,针对不同的IUT(被测实现),用户应采用不同的测试方法。
●根据PICS/PIXIT和测试目的编写测试用例,生成ETS。
●使用生成的ETS测试IUT。
●根据测试结果生成测试报告。
2.2 协议测试语言TTCN
协议一致性测试最主要的工作之一就是测试用例的生成。有许多自动生成测试用例的方法,但是这些方法都依赖于协议的形式化描述,而大多数通信网络协议都是用自然语言描述。要对这类协议进行测试,由于不能用基于状态机模型的产生工具自动生成测试集,必须由专业人员熟悉该协议和相关协议,写出自然语言描述的测试集。这种自然语言描述的测试集的最大缺点是二义性和难以用机器处理。国际标准化组织(ISO)推荐了一种专门描述测试集的半形式化描述语言TTCN[4-6],它具有明确的语法和语义,且是可执行的,用以描述独立于任何实现的通用测试集。针对测试领域,TTCN提供了许多有用元素,目前已经发展成为一种通用的测试规格语言。
TTCN是一种形式测试描述语言,采用树和表格为表现形式的测试表示法,其中表格主要用于数据类型、原语、协议观察点、约束等,树则用于描述测试集、测试用例、测试步骤等。
TTCN有2种表现形式:图形方式(GR)和机器处理方式(MP)。
●GR采用表格方式,适合于人机交互时使用。
●MP通过使用定义的语法来生成测试集,适合于在机器处理和其他自动方式之间进行转换。
TTCN需要满足以下需求:
●测试系统能够定义和构造发送和接收IUT的抽象服务原语(ASP)。
●能够定义和构造嵌入在ASP的协议数据单元(PDU)。
●在指定控制和观察点(PCO)上,能够规定ASP的发送或接收顺序构造测试用例。
在对TD-SCDMA高层软件进行测试时,TTCN虽然采用黑盒测试方法,但通过与SDL的联合使用(协仿真),可以生成消息序列流图(MSC)。通过观察IUT内部和IUT与环境(测试系统)之间的消息序列和数据流,达到查找错误的目的。
3、TD-SCDMA协议测试平台结构
测试平台包括多个功能实体和框架模块,主要由脚本部分、协议部分和应用部分3个部分构成,结构框架如图1所示。
脚本部分包括:脚本库、脚本文件、协议栈控制、脚本API和LOG 6个模块。负责完成无线资源管理分配与调度的功能,模拟3GPP协议中的RRC和NAS实体,可以模拟高层的具体信令也可以提供TTCN一致性测试。此部分为整个测试平台的控制核心,通过编写不同的脚本,可以完成终端测试中所需高层的所有的信令测试。由于引入脚本来模拟RRC和NAS层,平台实现难度大大降低。
脚本文件(简称为脚本,下同)是为了降低高层(NAS层和RRC层)整个实体的复杂度而引入的一种机制,它是高层实体的一个具体对象实例,是高层功能的一系列具体信令的执行过程,如系统消息广播、寻呼、RRC建立/释放、鉴权、位置更新等。
协议栈部分包括:L1层(PHY)、L2层MAC、RLC及PDCP,此部分参考3GPP的协议架构,完全按照协议的描述实现。RABM实体主要实现对RAB(无线接入承载)管理及RAB与RB(无线承载)之间的映射与修改。
应用部分包括:CS、PS和RMC 3个实体。应用部分各个模块与脚本部分、协议部分采用统一的接口,可以对新的业务进行动态加载,通过接口可以同脚本部分进行交互,进行流程的同步和数据的交互。
4、TD-SCDMA测试平台实现
4.1 脚本部分
4.1.1 脚本文件的实现
(1)脚本业务功能
TD-SCDMA测试平台主要用来模拟基站侧的行为,业务模拟需要通过脚本来实现,根据3GPP协议.脚本的业务范围可以包括:3G网络的基本功能、电路域基本过程、分组域基本过程和参考测量信道工程模式基本过程4大功能。
●3G网络业务的基本功能包括:系统消息广播、注册鉴权、安全模式控制和功率控制(包括上行闭环功率控制和上行开环功率控制等)。
●电路域基本过程包括:位置更新和呼叫控制。其中位置更新包括:IMSI附着,周期性位置更新和正常位置更新等。呼叫控制支持呼叫的建立及释放过程,包括:UE(用户设备)发起呼叫、UE被呼、UE发起语音呼叫释放和网络发起的语音呼叫释放等。
●分组域基本过程包括:移动性管理和会话管理。移动性管理主要有GPRS附着/分离和周期性路由区更新。会话管理包括:UE发起的PDP上下文激活、UE发起的PDP上下文去激活、PS域UE主叫、网络主叫和PS域UE发起呼叫释放等。
●参考测量信道工程模式的基本过程包括:网络发起承载测试模式、两种测试回环模式的选择和网络终止承载测试模式等。
(2)脚本定义
脚本作为RRC和NAS层的功能实体的一个对象实例,根据终端测试需要完成信令模拟功能。形成相应RRC层消息信令序列(包括承载NAS消息的RRC消息),根据相应的规则顺序发送与接收。
(3)脚本构成
根据所需测试的功能,确定作为RRC和NAS层的功能实体的对象实例的脚本所需要模拟的信令过程。然后根据可重用性原则将信令过程分成若干可重用的信令子过程,每个信令子过程分别由一个脚本实现,每个脚本由一系列RRC消息队列及一系列脚本API构成。
每个脚本根据其实现的不同业务,由3GPP协议确定其具体信令消息队列的内容(具体内容格式可参见参考文献[7,8]与发送接收顺序及对本侧的配置时机。
脚本中每条发送的信令有相应的属性和动作。属性主要为协议栈高层消息内容构成。动作主要包括:发送消息、修改消息内容、接收消息、读取消息内容、对本侧协议栈的配置等。
(4)脚本运行
每个脚本都需一个标准的入口函数,以供协议栈控制部分调用。脚本中每条消息可以根据需要按照协议要求设定相应计时器,以控制消息的通信时间以及错误信息上报。
4.1.2 脚本API的实现
脚本与外部模块间的通信交流接口为脚本API。脚本API接口函数汇集了在系统模拟与一致性测试中所有的高层与底层的接口,通过其可以获得一层、二层所有配置参数和数据结果,同时也可以设置一层、二层所有参数和状态。
脚本通过脚本API完成L3和下层的通信及控制,同时也可作为使用TTCN进行一致性测试时的PCO。
4.1.3 协议栈控制模块实现
通过平台对网络侧进行模拟时,协议栈控制模块负责对所有脚本的调度,协调几个脚本共同完成某一个具体的功能的信令交互,根据所产生的脚本的构成确定每个脚本需要对应的状态,从而根据协议完成状态机实现状态间的跃迁。通过对状态机维护来完成对各脚本的调度,对脚本的调度可以采用集中式和分布式调度相结合方式,多个脚本可以采用集中式的调度方式按照批处理顺序执行,同时脚本之间也可以按照分布式的方式相互调用。协作完成指定的测试。
为了保证同协议栈的操作行为保持一致,协议栈控制采用消息触发机制,接收外部控制模块的命令并且完成状态上报工作。协议栈控制通过脚本API对脚本运行状态传递命令和接收脚本运行状态信息上报,通过与应用部分的统一接口完成对用户平面业务模拟的控制和状态监测,通过与脚本库的接口完成对脚本的添加、删除、搜索、加载及释放功能。
4.1.4 脚本库实现
脚本库主要完成对脚本的存储与管理功能。根据协议栈控制命令完成对脚本文件的添加、删除、搜索、加载及释放等。
当需添加/删除一个测试内容时,需要经过如下步骤:
●编写脚本文件。
●对协议栈控制状态机进行相应添加/删除处理。
●对脚本库执行脚本文件的添加/删除操作。
●对测试分组中的脚本集中的脚本需要修改的参数,通过参数表的修改机制做相应的修改。
如图2所示,脚本库的核心为一个脚本文件库,物理存在一系列作为测试用例的脚本文件,还存在一张链表用于存储这些脚本文件的基本信息,对它们进行统一管理。对每个脚本文件可以用“别称”来识别,即在链表中存在文件名和别称的映射。
所有的协议栈部分运行模块中都含有一个状态采集模块,用以采集各个模块的状态和信令信息,然后实时地汇总到LOG模块,在LOG模块中,采用时间戳来区分不同模块的状态信息,最后加以处理和显示,以供测试观察。
4.2 协议部分实现
协议部分的各个模块采用模块化设计,能够在平台中重用,在实现上可以提供完备的实时状态输出和状态强制转移功能。
4.3 应用部分实现
应用部分模拟测试业务的用户平面数据源以及完成对数据处理功能,如在PS域提供接口与相应的FTP服务器或MMS服务器相连模拟后台下载,CS域可以提供AMR 12.2 kbit/s语音业务回环测试,RMC可以产生RMC的回环测试数据并进行BER和BLER计算等功能。
应用部分每个模块与协议部分和脚本部分接口标准化,统一业务类型中可以根据不同业务需求加载不同模块,与终端完成用户平面的数据交互。
5、测试平台功能实现举例
5.1 测试平台用于协议一致性测试
TD-SCDMA终端一致性测试主要分为射频和协议测试、USIM和声学的测试。如图3所示。
下测试器(LT)为CC、SM、MM、GMM、SMS、RRC、RLC、MAC、PDCP和BMC测试设置测试方法,与测试平台协议部分(参见图1)共同构成,以与被测移动终端通信。测试平台协议部分的配置和初始化均由TTCN通过ASP控制。TTCN调用脚本API通过LT-PCO使用原语对LT进行通用设置和初始化。
5.2 测试平台用于模拟网络基本功能
测试平台可以根据测试业务的需要模拟基站相应基本功能,信令过程可以通过编写相应功能的脚本来实现,协议栈控制能够根据外部控制命令,调度各个脚本共同完成某一个完整的或者不完整的信令流程,并且协调控制平面和用户平面,对脚本库和脚本文件运行操作处理。下面以完成一个语音呼叫所需脚本与状态调度为例说明整个平台对TD-SCDMA网络侧的模拟功能。
协议栈控制可以通过实现一个状态机来调度各个脚本文件。图4为CS域一部分RRC过程脚本文件的调度过程。通过调度运行脚本文件完成状态间的跃迁,同时也限定了调度脚本的顺序。CS域其他需要进行协议一致性测试的过程和PS域的过程都可以通过脚本的形式实现,然后维护状态机在相应位置加入相应状态进行调度控制:
(1)协议栈控制调用系统消息广播脚本;
(2)协议栈控制终止系统消息广播脚本运行;
(3)协议栈控制调用注册脚本;
(4)注册脚本注册失败;
(5)注册脚本注册成功;
(6)协议栈控制终止系统消息广播脚本运行;
(7)协议栈控制调用寻呼脚本;
(8)在寻呼状态下,调用MOC脚本(总体过程应该称为MTC);
(9)协议栈控制调用MOC脚本;
(10)网络或终端摘机;
(11)调用切换脚本(多基站模式下可以实现为各种切换脚本文件);
(12)切换过程结束:
(13)网络或终端挂机,RRC释放。
用户平面根据测试的需要实现相应的模块,并且进行动态加载,如一些最基本的测试业务功能:CS域AMR语音呼叫回环,RMC误码率的计算等。应用部分与协议部分的接口定制规范化、统一化,用户平面功能模块也可以灵活添加和删除。
协议栈控制对脚本运行状况进行监测。可以对异常运行的脚本文件(如停止响应等)进行强制终止,也可以根据脚本文件上报的出错信息,终止文件运行。
6、结束语
为了确保终端的接入与业务能力,对终端的各种测试十分必要。本文提出的测试平台可以使用TTCN支持TD-SCDMA终端一致性测试并且可以灵活支持各种测试业务的模拟,同时可以根据需要对整个TD-SCDMA测试框架系统进行灵活地扩充和调整,大大降低了对第3层实现的复杂度。使得整个开放系统的实现可能性和实用价值增强。
参考文献
1 3GPP TS 34.123-1 r4.3.O.User equipment(UE)conformance specification,part 1:protocol conformance specification,Jun 2002
2 3GPP TS 34.123-2 r4.3.0.User equipment(UE)conformance specification,part 2:implementation conformance statement(ICS)specification,Jun 2002
3 3GPP TS 34.123-3 r4.0.0.User equipment(UE)conformance specification,part 3:abstract test suites(ATSs),Apr 2005
4 ITU-T Recommendation Z.100.TTCN suite getting started,1993
5 ITU-T Recommendation Z.100.TTCN suite methodology guidelines,1993
6 ITU-T Rec X292-1992.OSI conformance testing methodology and frame-work for protocol recommendations for CCITT applications——the tree and tabular combined notation(TTCN),1992
7 3GPP TS 25.331 V4.9.0.Radio resource control(RRC)protocol specification,May 2003
8 3GPP TS 25.008 r4.10.0.Mobile radio interface layer 3 specification,core network protocols;stage 3,May 2003
随着对无线数据业务种类、无线传输速率要求不断增强,第三代移动通信技术及应用得到了迅猛的发展,TD-SCDMA标准及其应用的研究成为3G发展的重头戏。虽然TD-SCDMA技术已经成熟,但是其产业化的道路依然坎坷,其中终端设备的测试问题已经成为了TD-SCDMA产业化发展的瓶颈。因此,开展对TD-SCDMA移动终端一致性测试技术[1]的研究,设计针对TD-SCDMA系统的终端测试平台,对准确地验证移动终端设备的各项技术和性能要求具有十分重要的意义。
对终端设备的测试包括:射频指标测试、协议测试[1-3]其他测试。协议一致性测试是协议测试的基础,即通过观察设备对协议具体实现在不同环境和条件下的反应行为来验证协议实现与相应的协议标准是否一致。协议一致性测试是一致性测试中的难点。
现有的终端协议一致性测试方案主要有两种:第一种是对协议栈进行完全实现,然后控制协议栈的运行状态完成测试;第二种是对某项具体测试内容使用工具集生成测试用例。前者可以较简便地实现某一项测试。但结构体系比较封闭,业务的扩展性和重用性不强,而且整体协议栈开发难度大。后者具有较强的扩展性但是提高了测试方法实现的复杂度,生成TD-SCDMA测试用例较麻烦,而且重用性差,如果没有对测试用例运行平台很好的设计和对所有测试步骤进行统筹规划作为前提,用例很难配合使用。
本文提出了一个具有实际应用价值的可以支持终端协议一致性测试的TD-SCDMA终端测试系统结构,该系统不仅可以提供协议一致性测试。而且可以模拟网络的基本业务,并且实现了体系架构模块化以具有标准的接口的灵活扩展方式,具备开放的体系结构。
2、协议一致性测试与TTCN
2.1 协议一致性测试
协议一致性测试是协议测试的一种,它是一种功能性测试,依据协议规范的说明对协议的某个实现进行测试,判断协议实现与协议标准是否保持一致。其主要目的是确认产品遵从规范要求,减少产品在现场运行时发生错误的风险性。
协议一致性测试标准包括3个部分:抽象测试集(ATS)、协议实现一致性说明(PICS)和协议实施附加信息(PIXIT)。可执行测试集(ETS)在以上3部分基础上生成。
协议一致性测试的主要步骤如下:
●根据协议规范,研究协议规范的每个特性,为每个特性编写测试目的。
●把每个测试目的转化为抽象测试用例(ATC)。覆盖协议规范所有特性的多个ATC集合就构成了该协议规范的ATS。
●生成PICS/PIXIT。PICS用来说明实施的要求、能力及可选项实施的情况。PIXIT用来提供测试时必须标明的协议参数。
●确定测试方法,针对不同的IUT(被测实现),用户应采用不同的测试方法。
●根据PICS/PIXIT和测试目的编写测试用例,生成ETS。
●使用生成的ETS测试IUT。
●根据测试结果生成测试报告。
2.2 协议测试语言TTCN
协议一致性测试最主要的工作之一就是测试用例的生成。有许多自动生成测试用例的方法,但是这些方法都依赖于协议的形式化描述,而大多数通信网络协议都是用自然语言描述。要对这类协议进行测试,由于不能用基于状态机模型的产生工具自动生成测试集,必须由专业人员熟悉该协议和相关协议,写出自然语言描述的测试集。这种自然语言描述的测试集的最大缺点是二义性和难以用机器处理。国际标准化组织(ISO)推荐了一种专门描述测试集的半形式化描述语言TTCN[4-6],它具有明确的语法和语义,且是可执行的,用以描述独立于任何实现的通用测试集。针对测试领域,TTCN提供了许多有用元素,目前已经发展成为一种通用的测试规格语言。
TTCN是一种形式测试描述语言,采用树和表格为表现形式的测试表示法,其中表格主要用于数据类型、原语、协议观察点、约束等,树则用于描述测试集、测试用例、测试步骤等。
TTCN有2种表现形式:图形方式(GR)和机器处理方式(MP)。
●GR采用表格方式,适合于人机交互时使用。
●MP通过使用定义的语法来生成测试集,适合于在机器处理和其他自动方式之间进行转换。
TTCN需要满足以下需求:
●测试系统能够定义和构造发送和接收IUT的抽象服务原语(ASP)。
●能够定义和构造嵌入在ASP的协议数据单元(PDU)。
●在指定控制和观察点(PCO)上,能够规定ASP的发送或接收顺序构造测试用例。
在对TD-SCDMA高层软件进行测试时,TTCN虽然采用黑盒测试方法,但通过与SDL的联合使用(协仿真),可以生成消息序列流图(MSC)。通过观察IUT内部和IUT与环境(测试系统)之间的消息序列和数据流,达到查找错误的目的。
3、TD-SCDMA协议测试平台结构
测试平台包括多个功能实体和框架模块,主要由脚本部分、协议部分和应用部分3个部分构成,结构框架如图1所示。
图1 TD-SCDMA协议测试平台构架
其中:PS:分组域业务模块;RABM:无线接入承载管理模块;CS:电路域业务模块;PDCP:分组数据汇聚协议;RMC:参考测量信道业务模块;RLC:无线链路控制层;脚本API:脚本的应用编程接口;MAC:媒体接入控制层;LOG:日志生成模块;PHY:物理层。脚本部分包括:脚本库、脚本文件、协议栈控制、脚本API和LOG 6个模块。负责完成无线资源管理分配与调度的功能,模拟3GPP协议中的RRC和NAS实体,可以模拟高层的具体信令也可以提供TTCN一致性测试。此部分为整个测试平台的控制核心,通过编写不同的脚本,可以完成终端测试中所需高层的所有的信令测试。由于引入脚本来模拟RRC和NAS层,平台实现难度大大降低。
脚本文件(简称为脚本,下同)是为了降低高层(NAS层和RRC层)整个实体的复杂度而引入的一种机制,它是高层实体的一个具体对象实例,是高层功能的一系列具体信令的执行过程,如系统消息广播、寻呼、RRC建立/释放、鉴权、位置更新等。
协议栈部分包括:L1层(PHY)、L2层MAC、RLC及PDCP,此部分参考3GPP的协议架构,完全按照协议的描述实现。RABM实体主要实现对RAB(无线接入承载)管理及RAB与RB(无线承载)之间的映射与修改。
应用部分包括:CS、PS和RMC 3个实体。应用部分各个模块与脚本部分、协议部分采用统一的接口,可以对新的业务进行动态加载,通过接口可以同脚本部分进行交互,进行流程的同步和数据的交互。
4、TD-SCDMA测试平台实现
4.1 脚本部分
4.1.1 脚本文件的实现
(1)脚本业务功能
TD-SCDMA测试平台主要用来模拟基站侧的行为,业务模拟需要通过脚本来实现,根据3GPP协议.脚本的业务范围可以包括:3G网络的基本功能、电路域基本过程、分组域基本过程和参考测量信道工程模式基本过程4大功能。
●3G网络业务的基本功能包括:系统消息广播、注册鉴权、安全模式控制和功率控制(包括上行闭环功率控制和上行开环功率控制等)。
●电路域基本过程包括:位置更新和呼叫控制。其中位置更新包括:IMSI附着,周期性位置更新和正常位置更新等。呼叫控制支持呼叫的建立及释放过程,包括:UE(用户设备)发起呼叫、UE被呼、UE发起语音呼叫释放和网络发起的语音呼叫释放等。
●分组域基本过程包括:移动性管理和会话管理。移动性管理主要有GPRS附着/分离和周期性路由区更新。会话管理包括:UE发起的PDP上下文激活、UE发起的PDP上下文去激活、PS域UE主叫、网络主叫和PS域UE发起呼叫释放等。
●参考测量信道工程模式的基本过程包括:网络发起承载测试模式、两种测试回环模式的选择和网络终止承载测试模式等。
(2)脚本定义
脚本作为RRC和NAS层的功能实体的一个对象实例,根据终端测试需要完成信令模拟功能。形成相应RRC层消息信令序列(包括承载NAS消息的RRC消息),根据相应的规则顺序发送与接收。
(3)脚本构成
根据所需测试的功能,确定作为RRC和NAS层的功能实体的对象实例的脚本所需要模拟的信令过程。然后根据可重用性原则将信令过程分成若干可重用的信令子过程,每个信令子过程分别由一个脚本实现,每个脚本由一系列RRC消息队列及一系列脚本API构成。
每个脚本根据其实现的不同业务,由3GPP协议确定其具体信令消息队列的内容(具体内容格式可参见参考文献[7,8]与发送接收顺序及对本侧的配置时机。
脚本中每条发送的信令有相应的属性和动作。属性主要为协议栈高层消息内容构成。动作主要包括:发送消息、修改消息内容、接收消息、读取消息内容、对本侧协议栈的配置等。
(4)脚本运行
每个脚本都需一个标准的入口函数,以供协议栈控制部分调用。脚本中每条消息可以根据需要按照协议要求设定相应计时器,以控制消息的通信时间以及错误信息上报。
4.1.2 脚本API的实现
脚本与外部模块间的通信交流接口为脚本API。脚本API接口函数汇集了在系统模拟与一致性测试中所有的高层与底层的接口,通过其可以获得一层、二层所有配置参数和数据结果,同时也可以设置一层、二层所有参数和状态。
脚本通过脚本API完成L3和下层的通信及控制,同时也可作为使用TTCN进行一致性测试时的PCO。
4.1.3 协议栈控制模块实现
通过平台对网络侧进行模拟时,协议栈控制模块负责对所有脚本的调度,协调几个脚本共同完成某一个具体的功能的信令交互,根据所产生的脚本的构成确定每个脚本需要对应的状态,从而根据协议完成状态机实现状态间的跃迁。通过对状态机维护来完成对各脚本的调度,对脚本的调度可以采用集中式和分布式调度相结合方式,多个脚本可以采用集中式的调度方式按照批处理顺序执行,同时脚本之间也可以按照分布式的方式相互调用。协作完成指定的测试。
为了保证同协议栈的操作行为保持一致,协议栈控制采用消息触发机制,接收外部控制模块的命令并且完成状态上报工作。协议栈控制通过脚本API对脚本运行状态传递命令和接收脚本运行状态信息上报,通过与应用部分的统一接口完成对用户平面业务模拟的控制和状态监测,通过与脚本库的接口完成对脚本的添加、删除、搜索、加载及释放功能。
4.1.4 脚本库实现
脚本库主要完成对脚本的存储与管理功能。根据协议栈控制命令完成对脚本文件的添加、删除、搜索、加载及释放等。
当需添加/删除一个测试内容时,需要经过如下步骤:
●编写脚本文件。
●对协议栈控制状态机进行相应添加/删除处理。
●对脚本库执行脚本文件的添加/删除操作。
●对测试分组中的脚本集中的脚本需要修改的参数,通过参数表的修改机制做相应的修改。
如图2所示,脚本库的核心为一个脚本文件库,物理存在一系列作为测试用例的脚本文件,还存在一张链表用于存储这些脚本文件的基本信息,对它们进行统一管理。对每个脚本文件可以用“别称”来识别,即在链表中存在文件名和别称的映射。
图2 脚本库实现
4.1.5 LOG模块实现所有的协议栈部分运行模块中都含有一个状态采集模块,用以采集各个模块的状态和信令信息,然后实时地汇总到LOG模块,在LOG模块中,采用时间戳来区分不同模块的状态信息,最后加以处理和显示,以供测试观察。
4.2 协议部分实现
协议部分的各个模块采用模块化设计,能够在平台中重用,在实现上可以提供完备的实时状态输出和状态强制转移功能。
4.3 应用部分实现
应用部分模拟测试业务的用户平面数据源以及完成对数据处理功能,如在PS域提供接口与相应的FTP服务器或MMS服务器相连模拟后台下载,CS域可以提供AMR 12.2 kbit/s语音业务回环测试,RMC可以产生RMC的回环测试数据并进行BER和BLER计算等功能。
应用部分每个模块与协议部分和脚本部分接口标准化,统一业务类型中可以根据不同业务需求加载不同模块,与终端完成用户平面的数据交互。
5、测试平台功能实现举例
5.1 测试平台用于协议一致性测试
TD-SCDMA终端一致性测试主要分为射频和协议测试、USIM和声学的测试。如图3所示。
图3 SS(系统仿真器)+TTCN一致性测试
上测试器(UT)位于测试平台所处系统中,与移动终端的接口为人机接口界面(EMMI)。TTCN通过上测试器控制和观察点(UT-PCO)发送相应的原语与UT通信。使UE完成相应的动作和提供简单的观察UE的方法。原语可以包含AT command命令完成自动测试,也可以包含其它格式命令。如MMI。下测试器(LT)为CC、SM、MM、GMM、SMS、RRC、RLC、MAC、PDCP和BMC测试设置测试方法,与测试平台协议部分(参见图1)共同构成,以与被测移动终端通信。测试平台协议部分的配置和初始化均由TTCN通过ASP控制。TTCN调用脚本API通过LT-PCO使用原语对LT进行通用设置和初始化。
5.2 测试平台用于模拟网络基本功能
测试平台可以根据测试业务的需要模拟基站相应基本功能,信令过程可以通过编写相应功能的脚本来实现,协议栈控制能够根据外部控制命令,调度各个脚本共同完成某一个完整的或者不完整的信令流程,并且协调控制平面和用户平面,对脚本库和脚本文件运行操作处理。下面以完成一个语音呼叫所需脚本与状态调度为例说明整个平台对TD-SCDMA网络侧的模拟功能。
协议栈控制可以通过实现一个状态机来调度各个脚本文件。图4为CS域一部分RRC过程脚本文件的调度过程。通过调度运行脚本文件完成状态间的跃迁,同时也限定了调度脚本的顺序。CS域其他需要进行协议一致性测试的过程和PS域的过程都可以通过脚本的形式实现,然后维护状态机在相应位置加入相应状态进行调度控制:
(1)协议栈控制调用系统消息广播脚本;
(2)协议栈控制终止系统消息广播脚本运行;
(3)协议栈控制调用注册脚本;
(4)注册脚本注册失败;
(5)注册脚本注册成功;
(6)协议栈控制终止系统消息广播脚本运行;
(7)协议栈控制调用寻呼脚本;
(8)在寻呼状态下,调用MOC脚本(总体过程应该称为MTC);
(9)协议栈控制调用MOC脚本;
(10)网络或终端摘机;
(11)调用切换脚本(多基站模式下可以实现为各种切换脚本文件);
(12)切换过程结束:
(13)网络或终端挂机,RRC释放。
用户平面根据测试的需要实现相应的模块,并且进行动态加载,如一些最基本的测试业务功能:CS域AMR语音呼叫回环,RMC误码率的计算等。应用部分与协议部分的接口定制规范化、统一化,用户平面功能模块也可以灵活添加和删除。
图4 语音呼叫状态转移
协议栈控制根据相应命令和状态调度需要,对脚本库中存放的脚本文件进行相应的操作,如添加:向脚本库中增加未曾实现功能的脚本文件;删除:对脚本库中脚本文件删除;搜索:根据协议栈控制搜寻所需脚本;加载:将执行脚本接口递交协议栈控制;释放:将交给协议栈控制的脚本执行接口释放。协议栈控制对脚本运行状况进行监测。可以对异常运行的脚本文件(如停止响应等)进行强制终止,也可以根据脚本文件上报的出错信息,终止文件运行。
6、结束语
为了确保终端的接入与业务能力,对终端的各种测试十分必要。本文提出的测试平台可以使用TTCN支持TD-SCDMA终端一致性测试并且可以灵活支持各种测试业务的模拟,同时可以根据需要对整个TD-SCDMA测试框架系统进行灵活地扩充和调整,大大降低了对第3层实现的复杂度。使得整个开放系统的实现可能性和实用价值增强。
参考文献
1 3GPP TS 34.123-1 r4.3.O.User equipment(UE)conformance specification,part 1:protocol conformance specification,Jun 2002
2 3GPP TS 34.123-2 r4.3.0.User equipment(UE)conformance specification,part 2:implementation conformance statement(ICS)specification,Jun 2002
3 3GPP TS 34.123-3 r4.0.0.User equipment(UE)conformance specification,part 3:abstract test suites(ATSs),Apr 2005
4 ITU-T Recommendation Z.100.TTCN suite getting started,1993
5 ITU-T Recommendation Z.100.TTCN suite methodology guidelines,1993
6 ITU-T Rec X292-1992.OSI conformance testing methodology and frame-work for protocol recommendations for CCITT applications——the tree and tabular combined notation(TTCN),1992
7 3GPP TS 25.331 V4.9.0.Radio resource control(RRC)protocol specification,May 2003
8 3GPP TS 25.008 r4.10.0.Mobile radio interface layer 3 specification,core network protocols;stage 3,May 2003