张 宁,孟文超,李小文
(重庆邮电大学重庆市移动通信技术重点实验室,重庆400065)
随着核心规范的完成,LTE终端协议一致性测试规范的标准化工作和测试例代码的编写工作将陆续展开[1],以推动LTE终端产品的开发和功能的完善,加快LTE产业化进程。本文的研究内容正是如何实现终端的协议一致性测试,以验证终端表现与协议规范是否一致,进而保证不同生产厂家的设备在网络中能够表现一致。由于无线资源管理功能大都在RRC子层中实现[2],RRC子层的研究就成为本项目研究的重点,同时作者在研究LTE系统RRC层的基础上,以RRC连接建立为例详细设计了一种基于TTCN-3的一致性测试新方案。
TTCN-3(Testing and TestControl Notation version3)是由欧洲电信标准协会(European Telecommunication Standards Institute,ETSI)设计的国际化标准语言[3],并于 2001年发布,成为ETSIES 201 873系列标准文件。TTCN-3意在用做独立于测试方法、底层平台和协议的测试例的描述,便于实现测试例的通用性和可移植性。因此,测试的主要工作量集中在利用形式化语言描述测试流程上。
TTCN-3是一种抽象测试描述语言,具有核心语言(Core Language)形式、图形表示形式和用户自定义表示形式。其中核心语言是各种表示形式的基础,可以在各种格式之间映射。TTCN-3核心语言不仅方便测试人员编写测试集,也满足了机器处理的需要[4],逐渐成为一种成熟的测试语言,受到很多测试人员的青睐,并将其视为实现高效、低成本测试的关键因素。
TTworkbench是由德国的Testing Tech公司研发的专业测试工具软件,使用简易图形(TTCN-3 GFT)和精练文字,来开发测试方案的专业软件[5]。并且是基于Eclipse平台的TTCN-3软件,在TTCN-3测试用例的开发和测试阶段都有广泛的应用。使用TTworkbench Professional软件开发一个完整的TTCN测试用例的步骤为:
1)TTCN-3工程创建。
2)添加TTCN文件到工程目录下。
3)添加GFT文件到工程目录下。
4)测试例编写。
5)分析测试套文件。
在完成测试例编写后,对测试例进行编译语法分析,检查出现的错误,系统在编写测试例过程中会自动进行语法检查,如果测试例过长,编译会影响时间,因此在工程创建之初就把这项取消,改为手动选择编译。如果测试例有错误,根据错误提示找到错误处,这些都是Eclipse平台的特点,点击右键,在弹出的选单中选择Quick Fix能快速修改错误。如果编译无错误,会在ttcn3build文件夹中生成相关的*.jar文件,只有生成此文件才能创建生成测试活动。
6)测试执行。
选择一个ttcn3文件作为主模块,创建测试活动,配置Plugins(包括编码、扩展参数、端口、SUT行为、TC参数、定时器的配置),然后会出现相关测试适配器参数配置再执行测试例。在TTCN-3 Graphical Logging窗口生成测试执行图,可以查看执行结果是否与设计相匹配。
测试例的执行结果将被提交到测试表示。如此循环往复,直到所有的测试例得到执行。测试表示中包含的测试结果分析和报告将通过用户界面提交,以供用户对测试例进行跟踪分析。
协议一致性测试是保证一个网络协议正确实现的关键[6]。对于LTE系统终端RRC层功能和主要过程的协议实现属于高层协议的开发测试,本文关心的是设计的流程和开发程序是否满足标准,是否能与其他基于同一个协议标准的产品实现互通等问题。因此,使用一致性测试来完成LTE系统终端RRC层的协议测试。
LTE终端测试中,在TTworkbench平台的基础上,对基于TTCN-3的LTE系统协议一致性测试支撑平台的设计架构见图1。
图1 E-UTRAN测试系统架构
从图1可看出,LTE协议一致性测试系统主要由终端、系统模拟器两部分组成,其中系统模拟器又由脚本、适配器和系统模拟器硬件平台组成。下面分别介绍各个部分的功能:
Host-PC(主机):负责承载 TTCN-3测试脚本,脚本内容主要是实现NAS协议和NAS层的配置,定义 RRC信令、接口、ASP等。系统适配层和平台适配层分别负责适配不同的接入技术和不同的硬件平台。并且在总体架构里不体现TRI和TCI接口的实现。
SS-HW(系统模拟器硬件平台):主要完成物理层、数据链路层以及部分RRC层的功能。提供系统时序信息(如SFN等参数),受PC机控制以实现对响应时间等参数的准确把握。
其中Host-PC和SS-HW之间通过以太网连接,终端和SS-HW通过射频线实现连接。另外Host-PC通过发送AT/MMI命令对终端进行一些必要的配置和监控。
2.2.1 测试目的
以LTE系统RRC连接建立过程[7]的协议一致性测试为例,详细分析及设计的测试目的如下:
情景1:终端在E-UTRA RRC空闲状态下,接收到一个包含UE-Identity的寻呼消息,UE-Identity设置的STMSI与终端注册时网络分配给它的S-TMSI不一致。这时终端不进行RRC连接过程,进入连接状态。
情景2:终端在E-UTRA RRC空闲状态下,接收到一个包含UE-Identity的寻呼消息,UE-Identity设置的STMSI与终端注册时网络分配给它的S-TMSI一致。这时终端将发起RRC连接过程进入连接状态。
2.2.2 测试环境配置
系统模拟器(SS)配置:配置小区1,为正常的服务小区。
终端(UE)配置:测试例开始前,保证终端在小区1中处于已注册的空闲模式,即状态2。
环境配置函数利用配置参数的传递,来实现对系统模拟器和终端的配置,主要是模块内对参数的处理,可在CL Editor(核心语言编辑器)中完成,其中2个主要的环境配置函数为:f_EUTRA_CellConfig_Def(eutra_Cell1),用于激活小区1,并对小区参数进行配置;f_EUTRA_Preamble(eutra_Cell1,STATE2_IDLEUPDATE),用于将终端配置进入初始状态。
根据RRC连接建立过程的测试目的,设计的测试流程如图2所示,以验证UE在收到包含无效标识的寻呼消息后的行为。
图2 测试流程图
同时,为了验证UE能够正常发起连接建立,还需配置正常的寻呼消息。根据测试流程图设计出该测试例的主要测试步骤如下:
1)SS(系统模拟器)发送一条寻呼消息,该寻呼消息中包含一个不匹配的标识(错误的S-TMSI);
2)查看UE能否在5 s之内,发送一条RRCConnectionRequest消息;
3)SS发送一条寻呼消息,该寻呼消息中包含一个匹配的标识;
4)查看UE是否发送一条RRCConnectionRequest消息;
5)SS发送一条RRCConnectionSetup消息;
6)查看UE是否发送一条RRCConnectionSetupComplete消息去确认RRC连接建立已成功完成,该消息中应包含有SERVICE REQUEST;
7)SS发送一条SecurityModeCommand消息去激活接入层安全性;
8)UE发送一条SecurityModeComplete消息,完成AS的初始安全配置;
9)SS发送RRCConnectionReconfiguration消息,去配置与默认EPS承载上下文对应的新的drb;
10)UE发送RRCConnectionReconfigurationComplete消息,确认新的drb的建立完成,完成服务请求过程;
11)SS发送一条UECapabilityEnquiry消息至UE;
12)查看UE是否发送一条UECapabilityInformation消息来证实UE在cell1上处于RRC连接状态。
上述的测试步可在GFT Editor中构建为函数,利用图形描述出各个端口的信令交互情况及参数处理的过程,以实现各个测试步骤。在测试函数中对各测试步骤函数进行调用,该测试例调用的关键函数为:f_EUTRA_RRC_ConnectionRequest_Def(eutra_Cell1,EstablishmentCause),该函数实现对RRC Connection Request消息的接收并根据接收内容对小区进行重配置;f_EUTRA_RRC_ConnectionSetup_Def(eutra_Cell1),该函数用来配置系统模拟器发送RRC Connection Setup消息;f_EUTRA_RRCConnectionSetupComplete_Def(eutra_Cell1)实现对RRC连接建立完成消息的接收,并对其中包含的NAS及RRC消息进行处理。
依照RRC连接建立一致性测试例的设计流程,在TTworkbench平台中进行TTCN-3测试例的开发,并用编译器TTthree对测试例编译打包为计算机可执行的测试例文件。然后利用TTworkbench平台中已加载的ASN.1插件对测试例中的消息数据进行编解码,以利于消息的正常传输。并利用被测系统适配器完成TTCN-3测试系统和被测LTE系统之间的正常通信,以及平台适配器中的外部函数和定时器声明以供测试例的调用。最后在TTworkbench执行环境中,根据测试例调度编解码器、平台适配器和系统适配器等完成测试例的执行,并收集执行过程中的数据,为用户判断执行过程中是否存在异常提供可用信息。同时,将TTCN-3核心语言编写的测试例通过TTworkbench自动生成GFT图。其中,图3为终端向网络端发送RRC连接请求过程的GFT图,图4为RRC连接建立成功的GFT图。观察可知终端RRC连接建立一致性测试例的实现完全满足协议一致性测试协议规范。
利用TTCN-3构造测试例的协议一致性测试方案将随着通信协议的飞速发展而得到更加广泛的应用。文章针对LTE系统RRC连接建立一致性测试需求,在介绍TTCN-3、测试工具及协议一致性测试的基础上,设计测试整体架构、测试流程以及开发测试例,然后在TTworkbench测试平台上运行TTCN-3测试例对RRC连接建立过程进行一致性测试。该方法可增强测试例编写过程的可视性和可理解性,在很大程度上减少测试人员编写测试例的工作量,提高测试例的开发效率。但在一致性测试例的设计执行过程中还有欠缺,如异常情况下的测试例、适配层及编解码器部分的完善,都是进一步研究的重点内容。
图3 连接请求过程的GFT图(截图)
图4 RRC连接建立完成的GFT图(截图)
[1] BORMANN M,WERMSER D,PATZ R.Conformance testing of complex services exemplified with the IMS’presence service[C]//Proc.Third International Conference on Next Generation Mobile Applications,Services and Technologies.[S.l.]:IEEE Press,2009:21-26.
[2] 3GPP TS 36.521-3,Evolved universal terrestrial radio access(EUTRA)radio resource management conformance testing(Release 10)[S].2012.
[3] ETSI ES 201 873-1,The testing and test control notation version 3(TTCN-3),TTCN-3 core language(Release 4)[S].2012.
[4]曹宇琼,聂爽,孙元宇.TTCN-3在LTE终端测试中的应用[J].电信网技术,2011(2):13-16.
[5]徐涛.移动IPv6协议一致性测试设计与实现[D].北京:北京邮电大学,2006.
[6]刘文正,曹龙汉,杭小飞.LTE网络接口的协议一致性测试研究[J].电视技术,2011,35(23):91-93.
[7]刘丽利,曹型兵.LTE终端空闲模式下的小区重选分析[J].电视技术,2011,35(1):81-84.