手机软件测试最佳实践(三)

第七章  手机一致性测试

本章要点:

● GCF认证测试;

● 协议一致性测试;

● Symbian签名测试;

● 全型号认证测试和中国入网认证测试。

7.1  GCF认证测试

7.1.1  GCF认证测试的基本概念

GCF是Global Certification Forum的缩写,中文译名是全球认证论坛,是一个国际性的组织。它的成员由142个运营商、33个终端制造商、测试机构和测试设备供应商组成。GCF组织协调了手机一致性测试标准,定义了用来保证手机满足网络部署的测试体系,同时所有成员运营商都同意这一测试体系。也就是说,GCF认可就意味所有成员运营商都认可该手机,在将来可以无需额外测试。同时GCF还认可测试用例和测试系统。GCF的目的是通过独立的认证过程来确保终端的全球互操作,即:“Tested Once, Accepted by All”。

GCF在3G的一致性测试中扮演了非常重要的角色。这是因为3GPP只是制定了相关测试规范和组织编写了统一的测试用例(TC),但并没有就何时开展一致性测试、如何开展一致性测试、测试达标标准是什么等进行规定。而GCF承担了这部分工作

GCF设定了一系列一致性测试的里程碑,制定了测试用例、策划平台认证的流程以及终端产品认证注册的流程。但是GCF并不从事任何测试,而是交给第三方测试机构(如RFI)进行测试。GCF GSM/UTRA工作组、应用开发工作组、场测工作组及Ad-Hoc工作组这些工作组每三个月举行一次会议,对测试结果进行认可,测试用例和测试系统将同时被认可。当业内的测试用例和测试系统达到GCF的各个里程碑要求时,业内对于终端设备的一致性认证就真正开始了。GCF认可就意味着所有GCF运营商成员都认可了。

7.1.2  GCF对WCDMA终端认证测试的要求

要进行WCDMA终端认证测试,终端厂商首先必须明确该终端支持什么功能和特性,以形成选项表,然后在3GPP核心标准的基础上,选项表决定应该选择怎样的GCF CC测试标准、目的和方法,并形成测试需求表。与此同时,根据选项表和3GPP测试标准,实验室会制定一致性评估表,以反映该终端和相应测试标准之间的一致性程度;当然,评估的重点是相应的测试方法和测试目的。GCE认证测试技术文档的结构如图7.1所示。

 

 

图7.1  GCF认证测试技术文档结构

  根据选项表和测试需求表的内容和要求,GCF中终端认证测试主要包括以下几个方面:

● 一致性测试用于验证终端的行为是否符合3GPP所定义的核心标准和测试标准,以保证各个终端的相互兼容和一致;

● 外场测试是WCDMA终端的GCF认证不可缺少的重要组成部分,其实施是确保终端设备能够在实际网络环境下安全使用,可从最终用户角度来验证网络间互通及新的业务应用的性能;

在应用测试方面,目前GCF认证中涵盖了MMS、可视电话、IMPS、PoC等方面的所有业务测试,所以是应用一致性测试。

7.1.3  WCDMA终端认证程序

要进行WCDMA终端的GCF认证,终端厂商首先必须是GCF的成员,然后按照规定的程序和提供相应的文档资料给GCF进行审查。

终端厂商先要提供一份自我声明和相应证据,表明厂商是一个法人实体且在WCDMA终端的设计、研发和生产上拥有一套合格的质量管理流程,质量管理程序的证据,如ISO9000证书等。

然后,终端厂商再提供一份声明以自我评估的方式来反映WCDMA终端产品与相关的GCF认证标准的一致性符合状态。可以是自己测试设备所做的测试,也可以是基于相应资质的第三方测试实验室所做的测试。

最后终端厂商应该根据产品的一致性测试状态来自我评估该终端产品是否符合相关的GCF标准,提供相应材料予以证明。此外,作为GCF认证的一部分,终端厂商在认证状态文件中应该提供至少五个网络运营商外场测试的相关报告和资料。如若终端支持彩信业务,那还应执行彩信的一致性测试和互操作性测试,且提供对应的测试报告。

7.1.4  GCF对测试用例和测试系统的认证过程

GCF对测试用例和测系统的认证过程如图7.2所示。

从图7.2可以看到,对于测试系统厂商,首先测试项目必须通过3GPP终端测试组TSG-T1认可,在这一步的认可认证中,每个用例必须有一部手机支持,然后通过第三方测试机构确认。在这一步中,每个用例必须至少获得两部不同厂家手机的支持。最后,第三方测试机构将测试结果提交给GCF,GCF最终完成对测试用例和测试系统的认证。所以,认证过程是测试设备提供商和手机厂家共同合作的结果。

 

图7.2  认证过程图

  只有经过认可认证的测试项目才能广泛用于各种不同终端的一致性测试,使得各个终端能够互相兼容及保证互操作性。一般来说,每个测试项目的认证要经过两个重要阶段,两个阶段的工作都在经过授权的第三方实验室内进行,在一致性测试项目开发的开始阶段,看是否满足开发和设计的测试项目的正确条件;在项目开发最后阶段,同样由第三方实验室进行验证和确认是否已经设计出正确的测试项目。GCF测试项目的认可认证流程如图7.3所示。

 

图7.3  GCF测试项目认可认证流程

7.1.5  GCF测试项目实施原则和作用

GCF将所有的测试用例按优先级进行划分,分7个批次,即Batch1-Batch7,其中批次1优先级最高,批次7优先级最低,优先级高的必须先进行认证。一旦前4个最高优先级测试用例有80%通过认可,GCF即开始对终端进行认证。测试设备厂家同时必须按照优先级的高低将测试用例提供给业界使用。GCF批次及对应测试阶段如表7.1所示。

 

表7.1  GCF批次及对应测试阶段

  从表7.1中可看到,批次1包含协议的测试包1(每个包或测试套件由100个左右测试用例组成),大部分的射频测试用例,USIM/UICC和Audio全部测试用例。批次2包含协议的包2,少部分的射频测试用例。从批次3开始,主要针对协议测试进行认证。

经验总结得知,GCF在一致性测试中的作用主要是:

● 厂商的目的是迅速获得进入市场的新模式;

● 运营商的目的是提供有吸引力和可靠的业务。

市场反应的结果表明,欢迎对手机进行商业一致性认证。GCF为满足市场的目标进行了如下一些工作:

● 定义了每个终端所必须接受的测试,保证了终端的可靠、一致的行为;

● 确保任何接受过GCF认证的终端都通过了这些测试;

● 保证在将来能引入更多更复杂的技术。

7.2  协议一致性测试

7.2.1  协议一致性测试的基本概念

协议测试通常是在软件测试基础上产生的一种黑盒测试,主要是根据协议标准,通过检测协议实现外部行为,对其进行评价。一般可分为以下四种测试:

● 协议一致性测试,检测实现的系统与标准协议符合的程度;

● 协议性能测试,检测协议实体或系统的性能指标;

● 协议互操作性测试,检测同一协议在不同实现版本之间的互通、互连和互操作性能力;

● 协议健壮性测试,检测协议实体或系统在各种恶劣环境下运行的能力。

ETSI的ISO/IEC9646定义的协议一致性测试的方法如图7.4所示:

图7.4  协议一致性测试的方法

  一致性测试是用来确认设备是否符合对其功能要求方面的规范或协议的测试过程,一致性测试标准包括3个部分:抽象测试集(ATS)、协议实现一致性说明(PICS)和协议实施附加信息(PIXIT)。可执行测试集(ETS)是在以上3部分的基础上生成的。

协议一致性测试的主要步骤如下:

(1)根据协议规范,研究协议规范每个特性,并为每个特性编写测试目的;

(2)把每个测试目的转化为抽象测试用例。覆盖协议规范所有特性的多个测试用例集合则构成了该协议规范的抽象测试集;

(3)生成PICS/PIXIT。PICS用来说明实施的要求、能力及可选项实施的情况,PIXIT用来提供测试时必须标明的协议参数;

(4)确定测试方法,针对不同的IUT,即测试实现,用户应该采用不同的测试方法;

(5)根据PICS/PIXIT和测试目的编写测试用例,生成ETS;

(6)使用生成的ETS测试IUT;

(7)根据测试结果生成PTCR。

协议一致性测试的工作包括两部分:一部分是ETSI的工作,另一部分是非ETSI的工作。

ETSI的工作包括以下三项:

● 根据基本协议提供以自然语言描述的测试套件结构和测试目的;

● 根据测试套件结构和测试目的生成以TTCN3语言描述的抽象测试套;

● 提供PICS和PIXIT的格式。

 

非ETSI的工作有以下三项:

● 测试工具开发商将抽象测试套件实现为可执行的测试套件的工作;

● 由被测提供商和测试实验室填写PICS和PIXIT;

● 测试实验室对测试环境的配置、对IUT进行测试、分析测试结果并最终生成协议一致性测试报告。

协议一致性测试和射频一致性测试是其中最复杂也最重要的部分,协议一致性测试属于软件测试的范畴,在一定的网络环境下,对被测协议实现(IUT)进行黑盒测试,通过比较IUT的实际输出与预期输出的异同,判定IUT在多大程度上与协议描述相一致,从而确立通过一致性测试的IUT在互连时成功率的高低。实际上,2G系统同样需要进行一致性测试,3G系统则因相对于2G系统来说更加复杂,而使得一致性测试显得更加重要。

7.2.2  协议一致性测试的几种形式及举例

协议一致性测试用于验证测试手机和网络之间的信令协议是否符合3GPP发布的TS34.123规范,该规范测试非常详尽,主要包括以下几个方面的空闲模式操作:MAC层信令测试、PDCP协议测试、RRC测试、MM流程测试、CS域呼叫控制测试、会话管理流程测试、PS域移动性管理流程测试、补充业务及短消息业务测试等。3GPPTS34.123定义了约700个TTCN测试用例,对RLC层、MAC层和RRC层分别进行测试。

CC是非接入层CM子层的一个实体,主要完成CS域基本的呼叫管理,是整个CM子层的核心,终端组成结构如图7.5所示。本例结合CC实体的主叫过程,提出一种一致性协议测试的方法。对系统高层协议的开发测试而言,目的是验证开发能否满足标准,是否能与其他基于同一个协议标准的产品实现互通,以尽可能减少产品在现场或用户实际运行时出错的风险。

CC测试环境如图7.6所示,模块SPVCALL和MM共同组成了CC的测试环境,CC即是待测试的IUT,CC的上层是SPVCALL模块,它负责将MMI应用层发来的消息转发到CC实体;CC的下层是MM子层,它为CC提供MM连接服务。从中选取可控制的观察点有两个:其一在SPVCALL与CC的接口处;其二在CC与MM的接口处。

图7.5  终端组成结构图

图7.6  CC测试环境

CC实体的主要功能是对用户之间的呼叫进行控制,包括呼叫建立、呼叫释放及呼叫重建等。根据协议描述,CC发起的主叫过程描述如图7.7所示。

图7.7  主叫过程描述图

  如图7.7所示,由CC发起的主叫过程的操作过程如下:

(1)终端发起呼叫,MMI发起一个建立请求送到SPVCALL模块,SPVCALL将向CC发送“CAPI_CALL_SETUP_REQ”信号;

(2)CC收到此信号后,将发送“MMCC_EST_REQ”信号到MM子层,要求其创建一个MM连接;同时,开启定时器T303,状态即跃迁到“Connect Pending”;

(3)MM子层向CC发送“MMCC_EST_CNF”信号,表示MM连接创建成功,CC通过原语“MMCC_DATA_REQ”向MM子层发送“SETUP”消息,状态跳到“Call Initiate”;

(4)MM子层通过接入层将“SETUP”消息发送给网络,网络收到此消息后,向终端发送“CALL PROCEEDING”消息,CC一旦收到该消息,就关闭定时器T303,开启定时器T310,并向SPVCALL报告收到“CALL PROCEEDING”消息,状态亦跃迁到“Call Proceeding”;

(5)网络向终端发送“ALERTING”振铃消息,CC收到该消息时,停止定时器T310,向SPVCALL报告收到了“ALERTING”,状态并跃迁到“Call Delivered”;

(6)当终端分配了专用资源后,MM层将通过“MMCC_SYNC_IND”原语通知CC,CC将通知SPVCALL专用资源已经分配;

(7)网络向终端发送“CONNNECT”消息,CC收到该消息后,将向网络发送“CONNECT ACKNOWLEDGE”,并通知SPVCALL模块,CC收到了“CONNECT”消息,状态即进入“Call Active”。

在协议软件开发流程中,SDL被广泛用来描述通信系统行为。它可把SDL的描述和设计直接生成标准的C代码,用户也可直接在SDL描述和设计中嵌入C代码。经SDL描述产生的C代码,可在评估板或目标板上运行。与SDL相对应的MSC是ITU-T规范中用来表示信号序列的语言,用MSC图可以直观地表现出信号流向:信号从什么进程发送到什么进程,以及信号带有哪些参数值,都能直观地表示在SDL的MSC图中,这为了解和分析信号在各个模块间的传递带来了很大方便。特别需要指出的是,在对高层软件进行测试时,采用黑盒测试方法进行测试,通过TTCN与SDL的协议仿真,可生成MSC,通过观察IUT内部、IUT与测试系统间消息序列和数据流,达到查找错误的目的。

为了验证终端和网络收发消息的内容是否正确,要确认对终端收到消息后做出的响应是否与规范相符。以CC向网络发送一条“SETUP”消息为例,如表7.2(参数列表)所示,该消息的构造参考3GPPTS24.008,内容包含有PD/TI、消息类型、承载能力、被叫用户子地址、被叫用户号码、SI及其他跟普通呼叫相关的参数。

表7.2  参数列表

  用类似方法,构造出相关消息后,便可以通过和SDL进行协议仿真测试,得出的MSC图如图7.8所示。

检查MSC图,当手机处于“状态”时,CC一旦收到“消息”后,就停止定时器T310,并跃迁到“状态”。实际结果与协议要求所预期的符合一致。

然而,实际测试中常遇到环境搭建的困难和具体实施办法。若硬件平台不成熟,则终端研发企业往往愿意花钱开发独立测试系统,即无线模块和协议单元、测试软件和测试集。

另一种方式,国际通行的协议一致性测试方式,即通过真实基站配合,令待测终端在实际基站信号下进行一致性测试。这样的测试中有许多项目需要基站按照预定方式进行有关操作或对终端请求给予回复,这样的判定结果更直观,有利于达到预期目的。关键在于要对现有基站进行扩展或二次开发,使得测试控制程序能够按终端一致性规范定义的无线参数、信令流程、消息字段等来设置Node B进行控制,以满足测试条件。

 

还有一种方式是采用安立的系统仿真器,它可进一步理解采用系统仿真器进行一致性测试的几个实例,MD8470A可以模拟TD-SCDMA网络行为,如图7.9 TD-SCDMA系统仿真器所示,它可以帮助芯片或手机研发单位做好应用测试和协议测试。

丰富的应用功能是3G手机的最大特点,在实验室环境下可能没有TD-SCDMA网络,在这样的环境下要进行如MMS、可视电话应用的开发,就要采用系统仿真。在MD8470A提供的仿真环境下,可以支持语音、SMS、数据包通信、彩信、可视电话、补充业务等各项业务测试,用户就可以专注于开发上层的应用软件,从而加快开发的进程。

图7.8  MSC图

图7.9  TD-SCDMA系统仿真器

MD8470A还可以与Setcom,Radvison等公司的产品一起构成符合3GPP标准的应用一致性测试系统,对手机的彩信、PoC、可视电话等功能进行标准测试。

MD8470A另一个合适的应用是TD-SCDMA的协议测试,它提供了API对仪表进行控制。研发工程师可以用C语言编写协议测试的脚本,自由定义物理层、MAC层、RLC层的参数,在Layer3层任意编写协议流程。基站一侧发送的消息完全由用户来定义,而这一点在实际的网络中是很难做到的。发射和接收任意消息的情况如图7.10所示,一个BTS发起release消息,TD-SCDMA手机回复release complete消息。在测试运行过程中,可以随时监视Uu接口的信令流程,从而可以很方便地进行查错和调试。

图7.10  发射和接收任意消息

  MD8470A还可以支持多种移动通信系统的仿真,为多模手机提供了非常强大的测试环境。例如,可以为TD-SCDMA/GSM的双模手机开发提供最好的协议应用测试方案。除了TD-SCDMA外,MD8470A还支持WCDMA/HSPA/GSM/GPRS/EDGE/C2K等,并且提供了图形化界面方便用户的操作。在这个环境中,用户就像在实际的网络中一样,手机可以进行各种功能的测试。

 

文章分类 未分类

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>