《3G解决方案大全》测试仪表分册 吴文 韩玲
摘要
全球认证论坛GCF在2005年年初完成了对第一款WCDMA终端的认证,拉开了WCDMA终端认证的序幕。在认证测试中,协议一致性验证测试是其中最为重要的部分。本文介绍了WCDMA终端协议一致性测试的六大特点:采用黑盒测试方法,用TTCN语言对测试例进行统一规范,测试例以协议层为单元组成抽象测试集,严格审查TTCN测试例,测试例分阶段逐步实现,终端进行PICS/PIX-IT声明。掌握了这六大特点,将有助于终端认证测试的顺利、高效进行。
由于业界的共同努力,在2005年早些时候,前四个WCDMA终端协议测试项目包中所要求的测试例已经有80%以上通过全球认证论坛GCF认证,达到了对终端进行认证的要求,因此GCF于2005年2月8日正式推出WCDMA终端认证项目。随后,诺基亚的6630智能手机成为世界上首款通过GCF认证的WCDMA终端。
虽然目前我国的3G牌照还不太明朗,但国内已经有一部分WCDMA终端厂商启动了3G项目,并相继推出了终端产品。对于他们来说,GCF认证测试将是产品研发后期的工作重点,而且可以预见,之后还会有更多的终端厂商启动3G项目,因此,WCDMA终端认证测试将越来越受到人们的关注。
而在GCF要求的终端认证测试中,协议一致性测试显然占据十分重要的位置。协议一致性测试涉及到空中接口的所有协议层次,包括控制面和用户面的协议都需要测试;测试例数量最多,总数达到了700多项;需要的测试时间最长,全部项目大约需要100小时左右,费用是比较多的。而且,终端协议栈的实现会在测试中经受巨大的考验,通常会暴露出较多的问题,因此,对测试以及认证的进度将产生较大的影响。
MTNet实验室是国内较早具备WCDMA终端协议一致性测试能力的实验室,目前已经为WCDMA终端厂商提供了预测试服务,积累了一定的经验,希望通过本文与大家分享。
黑盒测试方法
在测试终端的协议实现时,通常有两种方法可以采用:白盒测试和黑盒测试。白盒测试是指在已知终端协议实现的源代码情况下采用的一种测试方法,用这种方法可以在协议栈的源代码上对研发中的问题进行定位、调试。这种方法主要用于研发阶段。而在认证测试时,第三方测试机构通常无法获得终端协议实现的源代码,因此需要采用黑盒测试,其测试逻辑如图1所示。
为了检查各层协议是否工作正常,是否能准确接收输入数据,并产生正确的输出信息,就需要在测试过程中设置一些控制观察点PCO(PointsofControland Observation)。通过在每一个测试步骤检查这些控制观察点,来确定输入和输出信息是否与预期的取值有偏离,然后给出相应的判决结论。
图1所示是测试时的系统配置逻辑图。系统侧被分为高层测试实体UT和低层测试实体LT。测试时,终端通过射频电缆连接到系统的低层测试实体,实现系统与终端的空中接口的信息交互,而通过高层测试实体的人机接口来初始化终端参数,对终端实施有效的控制,如控制终端开关机、拨电话等。TTCN测试例通过Dc、CRLC、CMAC、CPHY等控制观察点对无线资源控制(RRC)协议、无线链路控制(RLC)协议、媒质接入控制(MAC)协议和物理层PHY进行配置。例如,通过Dc控制观察点建立电路域的呼叫或激活PDP上下文,通过CRLC控制观察点配置加密参数,实现完整性检查。各控制观察点的功能详见表1。
表1 控制观察点PCO的详细描述
图1 黑盒测试方法
TTCN语言测试项目库
GCF的成立主要是针对GSM终端的测试和认证。由于测试例由各测试设备提供商编写,测试项目库比较昂贵且各不相同,导致终端与网络间的互连互通成为比较大的问题。
为了解决好这个问题,GCF及时调整了WCDMA终端的认证策略,使用TTCN语言对协议一致性测试例进行统一规范。TTCN测试例由ETSI(欧洲电信标准协会)的专家统一编写,并免费提供,测试设备提供商负责在各自的测试设备上实现这些TTCN测试例。只有经过GCF认证的测试系统,才可用来对WCDMA终端进行认证测试。GCF希望通过这些措施使互连互通的问题得到改善。
1、TTCN语言简介
TTCN是一种树状图和表格结合表示的编程语言,如图2所示。图2的右边显示的就是一个测试例的TTCN源代码,采用的是表格的形式,一行就是一条命令,顺序往下执行。当然,象其他程序一样,在每一步会有一些判断条件控制命令的执行。这样对于不同能力的终端,将有不同的处理流程,但其中只有一种处理流程会得到“测试通过”的结果,其他任何的偏离会得到另外的结果:“测试失败”或“无法判定”,就象一棵树一样,只有一条树干直达树冠,其他都是枝叶。因此,测试例在测试时会经历树状的判决流程,如图2的左边所示。
到目前为止,TTCN语言已经有了3个版本,从版本1到版本3,并在不断向前演进。其中,版本1和版本2是由ISOSC21WG3组织于1984年至1997年开发出来的。现在已经被广泛应用,由ETSI负责更新和维护工作。版本3由ETSITC MTS组织于1998年至2000年开发出来的,由STF 133和STF 156专家组负责。
图2 TTCN语言
2、TTCN语言特点
首先,TTCN语言能够对服务原语和消息提供很好的支持。协议测试的主要目的是测试网络侧和终端侧的各协议层次之间服务原语与信令消息的交互。对于同一实体不同协议层面间通信,如终端协议栈的RRC层与RLC层之间的信息交互,通常采用服务原语ASP;而对于不同实体的对端协议层面之间的通信,如网络侧的RRC层与终端的RRC层之间的信息交互,通常采用PDU信令消息。TTCN语言在描述和规范这些服务原语和消息时非常有效,准确而唯一,从而避免了对于测试规范的不同理解。
其次,TTCN语言是一种高级的抽象语言,而且与其他语言,如ASN.1,C语言等,有良好的接口,许多参数或者数据类型可以直接从ASN.1中加以引用,不需要重新定义,并且可以以模块化的方式重复使用,这样不仅保证了在核心标准演进过程中各版本之间的兼容性,还节省了大量的重新开发的时间。
另外,TTCN语言的语法简单、易学,便于理解和编写,从而可以节省测试项目库的开发、维护和验证时间。
综上所述,TTCN语言的采用对于WCDMA终端的验证测试是很有利的。
抽象测试集
TTCN协议测试项目库在规范3GPPTS34.123-3中进行发布。与CDG协议一致性测试例的组织方式不同,TTCN测试例按协议层次进行划分。如图3所示,每一个抽象测试集ATS与一个特定的协议层相对应,包括了以该协议层为被测对象的所有测试例。
图3 抽象测试集
这样分层组织的好处是多方面的,不仅可以减少抽象测试集的复杂性,同时由于各层抽象测试集之间的相关性减少,还可以实现并行开发,而且更有利于跟进核心规范的演进。
每一个抽象测试集又包含四个部分:概述部分,定义部分,约束部分与动态部分。
概述部分包含了一个内容表,对整个抽象测试集进行了描述、索引,增加了测试例的可读性。通过这个部分,可以迅速地了解抽象测试集中的所有测试例。
定义部分定义了测试例中用到的变量、类型、定时器等。
约束部分描述了接收和发送的消息流,包括ASP,PDU等。
动态部分包括了所有测试例的TTCN源代码,以及模块化的可以重复调用的测试步骤。
由于PDCP协议和BMC协议的抽象测试集中还没有测试例经过认证,因此目前,GCF认证只要求了从MAC到NAS层的测试例,其中,以RRC层抽象测试集中的项目数最多。
严格审查TTCN测试例
TTCN测试项目库虽然由ETSI代表3GPP组织负责开发,但其验证工作则是由整个业界参与完成。
每个测试例的验证要经过一个非常严格的流程,从ETSI开发出TTCN源代码到最后得到GCF的批准,通常需要经过9个步骤的严格审查,如图4所示。
图4 TTCN测试例审查流程
首先,由ETSI组织业界专家开发出TTCN测试例,这个任务通常由专家组MCCTF160负责,此时测试例只有5%的成熟度。然后,测试例被提交给3GPP组织,由其组织各成员单位进行审查。审查通过后,项目的成熟度将提高到15%。
随后,由测试设备提供商在各自的测试平台上负责实现TTCN测试例,并用至少1款终端进行验证,如果发现问题,可以向3GPP提出改进请求。
ETSI对改进请求进行评估,并决定是否对测试例进行更新。测试例在3GPP会议表决通过后,由测试设备提供商负责用2款以上不同终端进行验证。最后,测试例将由独立测试实验室进行进一步验证,通过后,GCF会正式批准并发布该测试例,此时,测试例的成熟度将达到95%以上。
分阶段实现测试项目库
3GPP测试规范中所定义的协议测试例数量比较大,总数达到了700多项,而且每个测试例的验证要经过一个非常严格的流程,因此,要在短期内完成所有测试例的开发和验证是个巨大的挑战。
为了加快对终端进行认证的进程,同时又确保终端的质量不会受到影响,GCF将这700多个测试例按照优先级分成了7个协议测试项目包,每个包中大约包含100个测试例,以第一个协议测试项目包的优先级最高,第七个协议测试项目包的优先级最低。不同优先级的协议测试项目包在不同的工作阶段stage中进行实现和验证,按照优先级顺序进行。GCF为此制定了一个“80%”的原则,只有当前一工作阶段的测试例中有80%以上经过GCF的认证,才可以开始对下一个工作阶段的测试例进行认证。另外,还规定,当前四个工作阶段的工作完成时,也就是说,优先级最高的四个协议测试项目包中有超过80%的项目经过GCF的认证,即可开始对终端进行认证,见图5。
图5 GCF项目认证工作阶段
不仅如此,为了保证测试例开发的工作进度,3GPP为协议测试项目包的开发工作设置了相对应的工作项目WI。WI-010项目主要负责开发基于Release99版本的测试例,包括优先级较高的前四个协议测试项目包,这部分测试例是最为基础的,被定为必测项。WI-012、WI-013、WI-014分别负责开发Release99增强型版本、R4版本和R5版本、HSDPA相关的测试例,分别对应于第5、6、7个协议测试项目包。这部分优先级较低的测试例属于可选项,不做强制性要求,视终端的能力而定。
终端进行PICS/PIXIT声明
相对2G终端而言,3G终端具有更为复杂、更为智能化、更为个性化的特点,可以支持更多的功能与业务,但并不是每款终端都需要支持所有这些业务能力。实际上,终端厂商会针对不同的细分客户群开发出能力各不相同的终端,因此每款终端都会有其特定的业务能力,需要进行表明其业务支持能力的PICS/PIXIT声明。
PICS(ProtocolImplementationConformanceStatement),即“协议实现的一致性声明”,在3GPP TS34.123-2规范中进行了定义,这部分声明主要是描述终端的业务能力,比如终端是否支持GPRS,是否支持紧急呼叫等。声明共包含20个表格,从Table A.1一直至Table A.2。表2示出了其中的Table A.1和Table A.2。同时,在该规范中还指定了每个项目的测试条件,主要有两种,“R”表示推荐的测试例,所有UMTS终端都要求进行测试的,“Ci”表示在某些条件满足的情况下终端才需要进行测试,这些测试条件是与终端声明的业务能力紧密相关的(限于篇幅,本文没有列出相关的内容)。因此,在进行GCF认证测试时,需要根据终端的PICS声明来确定其能够支持的测试例。
表2 终端的PICS声明表
PIXIT(ProtocolImplementationeXtrainformation for Testing),即“测试相关的协议实现信息”在3GPP TS34.123-3规范中进行了定义,这部分信息主要是描述终端协议实现的细节,如终端能同时支持的下行CCTrCH的数量,传输格式的种类等。声明包含10个表格。表3为部分参数声明。这些参数非常重要,在测试过程中会进行判定,如果声明的参数值与终端向网络上报的参数值不匹配,将导致测试失败。因此,是否准确声明这些参数取值将直接关系到测试是否能正常进行,测试结果是“通过”还是“失败”。
表3 终端的PIXIT声明表
结论
综上所述,WCDMA终端协议一致性验证测试具有六大特点:采用黑盒测试方法,用TTCN语言对测试例统一进行规范,以抽象测试集为单元组织测试例,严格审查TTCN测试例,测试例按优先级排序分阶段进行实现,测试时终端进行PICS/PIXIT声明。
正是有了这六大特点,对测试系统和测试例的认证工作才能顺利开展,WCDMA终端的认证项目才能得以顺利启动,从而推进3G移动通信事业的快速发展。而掌握了以上六大特点,将有助于快速定位、解决协议一致性测试中的问题,缩短测试时间,节省测试费用,加快认证进度,有助于认证测试的顺利、高效进行。(后卫编辑)