TTCN在TETRA系统中的实践运用

时间:2022-09-03 08:01:38

TTCN在TETRA系统中的实践运用

【摘 要】介绍了一种标准化的测试描述语言TTCN-3,并阐述了TTCN-3在TETRA专网通信领域的应用;概要描述了部分实践场景,实测结果证明依据TTCN-3设计的自动化检验机制能够充分保证产品质量的可靠性与健壮性。

【关键词】TETRA TTCN 自动化测试 性能测试 互操作性测试

中图分类号:TN929.52 文献标志码:A 文章编号:1006-1010(2016)09-0024-06

1 引言

相比于公网通信系统,专网通信系统架构较扁平,但对系统的健壮性和安全性要求却更为苛刻,因为应急状态下的通信顺畅关系到国家安全和人身安全。因此,设计一套工业级的自动化检验机制,以提高专网通信系统的可靠性与健壮性,一直是各专网通信设备厂商积极追求的目标。

在TETRA系统测试中,各项业务测试比较复杂,而且基于手动完成,工作效率低,对每一轮系统回归测试均需要花费大量人力和时间,以对日志进行分析,机械重复的执行可能会引发疲惫,并导致测试质量不保证及产品不能及时,这是专网设备研发生产企业普遍遇到的问题。

海能达通信股份有限公司作为专网行业的领军企业,在TETRA专网设备领域有长达近20年的研发经验(1999年第一个版本的TETRA系统项目交付商用),已经形成了一整套基于TTCN-3(Testing and Test Control Notation version 3,测试和测试控制表示法第三版)的系统性自动化验证机制,可以模拟长达50年的系统运行环境;对于海能达公司的每一个TETRA系统版本,都要经过这套机制严格的检验“洗礼”,充分保证了产品质量的健壮可靠以及持续稳定。基于TTCN的多种测试应用研发,TETRA R5二代系统很多功能都通过高效准确的自动化测试,促使R5系统能按时并高质量完成。目前海能达TETRA系统已应用于马来西亚、荷兰、香港、深圳、长沙等地的重要项目。因此,严谨且全面的TTCN测试机制保证了产品研发品质,赢得了客户信赖与尊重。

本文就TTCN-3在TETRA系统中的实践应用方面,对相应自动化设计的原理和机制进行了简要阐述,阐明了TTCN-3在TETRA系统测试中的优势。

2 TTCN技术简介

2.1 TTCN-3优势

TTCN-3是由ETSI(European Telecommuni-cations Standards Institute,欧洲电信标准化协会)制定的标准化测试描述语言,现已被公布成为ETSI ES 201 873系列标准文件。

与其它测试脚本语言相比,TTCN-3语言优点主要体现在支持现行的测试规范,内部配对机制强大,支持定时器,可在运行时进行测试配置,而且TTCN-3不局限于特定的应用和使用接口,也不限于特定测试执行环境、编译程序或操作系统,TTCN-3能兼容导入其它开发代码。正因为上述特性及灵活机制,TTCN-3技术被广泛应用于大规模、复杂的工业测试,国内外大型通信类企业通常会运用TTCN进行互操作性测试、协议测试、接口测试、功能集成测试等。

2.2 TTCN-3测试系统

在TTCN-3标准规范的第5部分中,对TTCN-3测试系统的概念模型进行了描述。系统主要由测试管理和配置(TM)、测试执行(TE)、被测系统适配器(SA)和平台适配器(PA)组成。其中TM与TE的接口称为测试控制接口(TCI),TE与SA/PA间的接口称为测试运行时接口(TRI),如图1所示。

其中,TM组件负责全面的管理,包括用户接口的实现和测试执行的管理。TE负责解释和执行TTCN-3抽象测试套(ATS)。SA负责适配TTCN-3测试系统和被测系统之间所有基于消息的通信和基于过程的通信到一个特定的执行平台。PA负责实现外部函数和定时器的操作。

TTCN-3可以用作基于多种通信端口的系统测试的描述语言。典型的应用领域是协议测试(包括移动协议和互连网协议)、服务测试(包括增补服务)、模块测试、APIs等测试。按测试类型和领域延伸,TTCN技术可应用在模块测试、单元测试、集成测试、系统测试等,也可应用于覆盖分布式、电信、互联网、传输领域测试。TTCN应用场景拓展如图2所示:

3 TTCN-3在TETRA DIB-R5中的测试应用

Accessnet-T IP二代系统是海能达公司专注研制出的最新TETRA系统产品,由中国总部和德国子公司共同研制。目前其架构已有很多改进和优化,模块化程度更高,组网更加灵活,流程更加合理,功能更加完善。鉴于TETRA集群系统的业务功能多种多样和手动测试的重复机械性,为了提升新产品的测试效能,通过设计SA和PA,以及Java编写的相应编、解码子系统,开发了一整套自动化测试环境平台。利用TTCN设计并覆盖自动化功能测试/回归测试、接口层互操作性测试、性能测试、数据传输速率测试、稳定性测试、业务压力测试、应用程序网关协议测试等。下文从部分测试角度进行呈现举例。

3.1 自动化功能测试/回归测试

设计综述:利用TTCN集成开发测试环境,设计并搭建了TETRA自动化测试平台。主要实现原理是通过PEI(Peripheral Equipment Interface,设备接口)标准,用串口AT指令完成多个终端的行为控制,例如短信息的收发、通话的建立、挂断等;通过Socket通信接口连接应用网关接口,实现调度中心、录音器的完全仿真;通过SIP接口协议连接电话网关,实现对PSTN/PABX的完全仿真。在用例设计过程中,通过在TCI接口层加入多种错误消息判定机制,只要收到不符合业务逻辑的消息,则立即呈现出错提示并设置setverdict(fail),中断这个用例执行,然后跳转执行下一个用例。

为了使自动化/回归测试更加精准、有效,提高场景覆盖率,在设计自动化/回归测试用例时,考虑各种可能的正常与异常场景,测试用例按以下维度细化、组合,包括但不限于以下组合:

1)按业务发起方和目的方主要分为TETRA终端到终端,终端到调度中心,调度中心到终端等。

2)按业务种类主要分为半双工、全双工单呼、组呼、广播呼叫,电路模式数据呼叫,个体或组发起的短信、状态消息等。

3)按业务场景分为正常场景和异常场景:正常场景主要为通话正常挂机、短信正常收发等;异常场景主要为呼叫目的是否已知、注册、是否响应、目标忙、目的拒接、呼叫超时、权限不允许、呼叫不可达转移呼叫等场景。

4)其它边界,如短信分为Type1、Type2、Type3、Type4等。

整体测试架构图如图3所示:

实施成效:综上条件,共设计执行用例三千多个,实现了应急通信系统业务场景的全覆盖,并在各种组网方式下精准运行,节省了大量人力投入,从而大幅提升了测试效率和产能,并且根据测试结果推动了产品研发的改善,有效保证了产品质量。在用例设计过程中,通过加入严格错误判定机制,对可能的错误进行零容忍,确保新产品应急通信基础功能全部正常。

3.2 互操作性测试

设计综述:目前主流的TETRA系统与终端的IOP(Interoperability,互操作性)测试都是基于界面操作手动执行,验证系统与终端的业务交互流程。而TETRA系统IOP测试标准也要依赖于观察界面,通过界面控制终端来测试。假设在接口层实现IOP测试自动化,则通过串口即能控制验证底层协议栈是否互通,从而不依赖终端界面。

一般而言,接口层面的互操作性严于常规IOP测试。如果设计一套测试框架和用例实现自动化,那么系统测试项目在自动化平台测试通过,则在绝大多数情况下说明系统符合IOP测试标准。

根据TETRA IOP标准测试规范文档中Group Management、Group Call、Individual Call、Status Message、BS Fallback Operation、SDS(Short Data Service,短数据业务)、CF(Call Forwarding,呼叫转移)等章节内容,基于TETRA系统及TETRA PEI标准(AT指令),利用TTCN集成开发测试环境,设计并搭建了基于接口层面的TETRA互操作性测试平台,并设计了大量IOP测试用例。

(1)用例列举一:无条件呼叫转移

1)预置条件:终端MS1、MS2、MS3在TETRA SwMI(Switching Management Infrastructure,交换管理基础设施,泛指Tetra系统)下注册,SwMI中配置MS3无条件呼叫转移至MS2。

2)测试控制:通过控制MS1发送ATCTSDC、ATD消息指令,由MS1发起到MS2的呼叫,然后SwMI会向MS1发送外呼CTOCP消息,向MS2发送CTICN呼入消息,再通过控制MS2发送ATA指令,接听呼叫即可。通过结果判定是否成功。

标准流程如图4所示。

(2)用例列举二:拒绝单个组附属

1)预置条件:终端MS1在SwMI下注册,SwMI中只配置GroupA,不配置GroupB。

2)测试控制:通过AT控制MS1发起单一组GroupB的附属(CoU值不为selected,即仅附属,但不选择),SwMI不接受MS1组附属到GroupB,因为GroupB未被配置,GroupB对于MS1不可用。其中编解码部分需要在适配模块中提前完成。

3)实施成效:利用TTCN-3设计并执行面向IOP的自动化测试,作为正式IOP测试前的预测试,能从接口协议层面保证R5系统产品的质量。首先保障了TETRA系统产品符合IOP标准,同时确保R5系统与市场上绝大多数TETRA终端能进行兼容,并通过IOP联盟认证。通过设计这一套测试框架和用例,既大幅提升了正式IOP测试通过的测试项数,同时节省了人力投入以及避免了手动测试时的误差,从而提高了测试效率和产能。

3.3 性能测试

随着电子科学技术的快速发展,专网被越来越多地应用于工业控制领域,通过无线网络将传感器上的信息收集回服务器进行分析,然后给设备发送控制指令等应用场景成为未来工业生产领域的趋势。更多的纯短消息的网络被部署在电力部门、码头、机场等需要密集调度的场所。相比公网而言,专网在呼叫建立时间、呼叫成功率、网络稳定性等方面表现更加优秀,所以专网成为工业控制领域的首选。

在SDS大业务量并发传输场景下,保证系统的稳定性与健壮性成为测试研发关注的一个重点。TTCN-3引入了PTC(Parrallel Test Component,并行测试组件)组件来实现并发操作,TTCN-3支持多个PTC同时执行,通过MTC(Main Test Component,主测试组件)控制整个执行流程。在测试过程中PTC通过串口完成与SUT(System Under Test,被测系统)之间的通信,如图5所示:

利用TTCN-3 PTC组件模拟多个移动手台、车载台、调度台、PABX等外部设备并发短消息进行压力测试与性能测试,能够利用现有多样的功能测试用例快速构造出模拟现实的压力场景,提高了执行效率。

用例举例:短消息传输

(1)设计综述:在TETRA空口标准中,对数据的上下行用了不同的处理方式,如图6所示:

一个超帧(hyperframe)由60个复帧(multiframes)

组成,一个复帧包含18个帧(frame),其中第十八帧作为控制帧。一个帧分为4个时隙(timeslot),每个下行时隙包含510个调制比特(modulation bit),上行时隙又拆分为两个子时隙(subslot),每个子时隙包含255个调制比特。所以在验证系统处理SDS能力时,要分别对上下行进行验证。

(2)预置条件:多台MS注册在SwMI系统上,并通过串口连接到TTCN测试主机上。

(3)测试控制:在利用TTCN-3进行测试时,如何得到精准的SDS传输成功率与传输时延数据成为难点,在TTCN-3的并行机制中,MTC收集PTC的判决结果,然后给出最终测试用例的执行状态。目前TTCN-3功能测试中支持的判断结果类型有pass、fail、inconc、none、error,这些都无法反应具体的并发量与成功率。为了更好地监控性能测试结果,则定义了新的性能测试判断类型perftype,并定义了与perftype相关的动作。当PTC发起一条SDS时,perftype将SDS发送量加1,并捕获返回结果,与预期值进行比较,如果返回消息与预期不一致,就将SDS失败数加1,当压力测试执行结束时,输出SDS丢包率=SDS失败数/SDS发送总量,从而得出较为精确的丢包率数据。

(4)实施成效:使用TTCN-3开展性能测试,可以利用现有多样的功能测试用例快速构造各种测试场景,加速性能测试用例开发,同时TTCN-3灵活的数据类型与timer机制,能够使精确统计通话成功率、并发量以及时延等变得更加简单。经过严格测试与建模分析,TETRA系统产品在大数据量并发的情况下,依然表现出较好的性能,满足项目的需求。

4 结束语

综观之前已经成功部署交付并良好稳定运行海能达TETRA系统的马来西亚全国网、香港中华电力(CLP),成功进入交付及试行阶段的深圳地铁7、9、11号线,长沙地铁等国内外项目,以及即将交付的荷兰国家网等项目,能够确信TTCN测试在产品质量方面发挥了重要的保障作用。

随着技术的发展,我们对专网通信有了更多展望,例如:将窄带与宽带在专网中融合,让网络既能保持窄带快速建立呼叫、语音加密等优点,又能提供较高带宽,进行大数据量传输;将人体传感设备更多地应用于专网,在重大事故中挽救更多人的生命等。如何将TTCN-3应用于宽/窄带融合及可穿戴设备等将是下一步的工作重点。

参考文献:

[1] ETSI EN 300 392-5. Terrestrial Trunked Radio (TETRA); Voice plus Data (V+D) and Direct Mode Operation (DMO); Part 5: Peripheral Equipment Interface (PEI)[S]. 2010.

[2] ETS 300 392-2. Trans-European Trunked Radio (TETRA); Voice plus Data (V+D); Part 2: Air Interface (AI)[S]. 1996: 76-84.

[3] ETSI ES 201 873-1 V4.2.1. Methods for Testing and Specification(MTS); The Testing and Test Control Notation version 3; Part 1: TTCN-3 Core Language[S].Europe: ETSI, 2010.

[4] 张阮阮. TETRA数字集群系统中Az接口测试例的设计与实现[D]. 北京: 北京交通大学, 2012.

[5] 徐明伟,吴建平. 并发TTCN的性能扩展[J]. 计算机研究与发展, 1999,36(7): 206-210.

[6] 王鹏,李海,宋起柱,等. TETRA数字集群系统分组数据互操作性测试的研究[J]. 移动通信, 2014(3/4): 102-106.

[7] 谢海彬,戎骏,李峰. TETRA空中接口协议一致性测试的研究[J]. 电子质量, 2006(6): 5-8.

[8] 冯婷,李海,王俊峰,等. TETRA数字集群系统多业务交互测试的研究[J]. 移动通信, 2013(24): 47-51.

[9] 中国电子学会通信学分会. TETRA在中国的应用和发展[J]. 移动通信, 2013(11): 52-55.

[10] 徐小涛. 数字集群移动通信系统原理与应用[M]. 北京:人民邮电出版社, 2008.

上一篇:儿童文学在小学教学中的地位与作用 下一篇:爱鱼、会渔与学渔