TTCN-3
TTCN-3全称Testing and Test Control Notation(测试及测试控制表达法), 是国际标准化的测试准用开发编程语言。主要用于基于通讯的系统测试自动化,例如通讯协议测试,以及嵌入式系统测试。此外,TTCN-3也常用于测试规范及文档开发。
ETSI使用TTCN-3编写测试套件。TTCN-3的标准定义于ITU-T的标准文档Z.160系列。
TTCN-3 的前身为TTCN及TTCN-2,TTCN是树形和表格表达法(Tree and Tabular Combined Notation)的简称。
创建及版本
TTCN-3由欧洲电信标准研究所(European Telecommunications Standards Institute / ETSI) 及 国际电信联盟远程通信标准化组(ITU-T)创建,2000年发布第一版(Edition 1)。
典型应用领域
特性
抽象性
TTCN-3是一种抽象的测试语言,支持三种表现方式:
- 文本表现 (核心语言表达法)
- 图形表现 (图形格式, GFT)
- 表格表现 ,主要应用于TTCN和TTCN-2,基本不再用于TTCN-3的开发。
三种表现方式效用相当,并可相互转换,但核心为文本表现方式。
可扩展性
基于TTCN-3标准,可对测试集进行功能扩展:
- 导入外部应用其它语言定义的数据结构 (ASN.1, IDL, XML,Google protobuf 和WSDL)
- 连接调用外部函数库 (Java, C)
- 适配待侧系统 (通讯/编解码)
界面标准化:控制界面(TCI)和运行时界面(TRI)
有别于TTCN和TTCN-2,TTCN-3标准 还定义了标准控制界面TCI (TTCN-3 Control Interface), 和运行时界面TRI (TTCN-3 Runtime Interface)。
- TRI – 连接测试执行单元与待测系统
- TCI – 连接测试执行单元与测试管理系统(图形用户界面或命令行界面),并且定义编解码及测试日志信息传递。
TTCN-3开发运行工具
要运行TTCN-3测试例,需要使用专用编译器对TTCN-3代码编译生成可执行码,随后在对应运行时环境下运行。主要工具及开发商:
- TTworkbench: 德国测试科技公司(Testing Technologies GmbH)
- OpenTTCN Tester: 芬兰OpenTTCN 有限公司
- TestCast: 爱沙尼亚Elvior公司
- Eclipse Titan
TTCN-3编译器:TTthree
TTthree是由柏林工业大学和弗劳恩霍夫协会通讯研究所于2000年联合开发的TTCN-3编译器。2001年被欧洲电信标准研究所(ETSI)认定为首个TTCN-3编译器。其后位于柏林的测试科技公司开发接手其后续开发并将其整合为TTCN-3一体开发环境,即TTCN-3工具TTworkbench。
TTCN-3 核心语言编辑器
TTCN-3中定义了三种表现方式,即文本、图形及表格方式。所有的TTCN-3开发工具均支持文本方式。有些工具例如TTworkbench也支持图形方式,并可实现文本和图形的双向转换,同时继承了eclipse环境中的各种开发辅助功能。
分布式测试 (并发测试)
通过预定义的组件管理界面,可以将测试例分布到局域网内的多台机器上运行,以提高测试系统性能,实现诸如性能测试及分布式仿真网元。通过安装TTmex插件,TTworkbench可实现分布测试功能。
Eclipse开发环境, Java 目标语言
TTCN-3的开发理念为语言、平台及协议的无关性。因此,有些TTCN-3开发工具采用开源开发平台如Eclipse,使用Java做为编译目标语言。
生成测试组及测试集
完成测试例编写后,在测试运行前往往先要生成一组测试例,然后顺序或选择执行。TTCN-3没有具体定义测试组的实现方式。完整的测试工程为测试集,欧洲电信标准协会(ETSI)等标准组织已发布多个测试集,但它们通常只包含TTCN-3代码,还需要使用TTCN-3开发工具,编译生成可执行码,添加适配器及编解码器,才能运行。
开发工具
TTworkbench是由德国TestingTech公司开发的TTCN-3工具,是集成的测试开发和运行环境。当前版本为15版本,完全支持ttcn-3最新的2012标准。TestingTech的业务是TTCN-3工具,TTCN-3技术培训,基于ttcn-3的协议一致性测试解决方案:LTE,voip,Autosar,Tetra.....TTworkbench是目前最为成功的ttcn-3商业工具。
外部链接
- TTCN-3社区官方主页*(页面存档备份,存于)
- ttcn-3\TTworkbench中文网址(页面存档备份,存于)
- 快速参考卡(页面存档备份,存于)