TTCN作为专门进行测试的语言,它定义了严格的语法和语义规则。由于它是新出现的测试语言规范,国内还没有这种语言的编译、运行环境,国外的TTCN
编译器开发也正在进行。已经出现的TTCN运行环境大多是把TTCN转化为另一种语言(如JAVA),使用现成的编译器编译转换后的代码,间接实现对TTCN的编译。TTCN编译器的开发成为迫切的任务,若开发成功,将会对国际的语言交流作出巨大贡献。
简介
中国科学技术大学TTCN实验室主要从事协议和软件测试,在蒋凡教授的带领下已开展
TTCN-3相关研究长达十年,取得了非常不错的研究成果和技术知识积累,形成了成熟的大型软件研制开发管理的师资队伍,并且具有丰富的与工业界合作的经验,可以提供高水平开发和及时的技术支持。
科研成果
协议测试工具——LoongTesting
LoongTesting是由我们
中国科学技术大学TTCN3实验室自主开发的,也是国内唯一一个完整的TTCN3测试平台,它集成编辑、编译、链接、生成于一体,其运行效率较高,是一款为数不多的优秀的TTCN3测试工具,并被多家大公司使用。欧洲以外唯一一个
公开发布的比较成熟的工具,并且该工具已被发布到ETSI(详情点击TESI TTCN-3官网)。
TTCN-3 GFT建模工具
实现的
TTCN-3GFT建模工具支持GFT标准,可以实现
TTCN-3核心语言表示与其图形化表示之间的相互转换。
协议测试
Loong Testing实现在中移动手机支付平台测试系统中的典型应用,这是中移动首次以
TTCN-3作为测试语言进行测试,也是Loong Testing第一次作为测试工具应用在较复杂的系统中,并取得非常不错的测试结果。
Loong Testing工具对应的Linux版本已接近完成,即将对外发布。
LoongTesting为基础,增加对
TTCN-3语言的源码级调试功能,调试器目前处于研发中。
研究成果
研究历程
从1999年以来,中国科学技术大学TTCN实验室一直在从事的通信协议软件测试研究。TTCN协议测试平台也从最初的设想到最终的实现,并不断完善,不断走向成熟,最终在ETSI
公开发布,名为LoongTesting。详细研究历程。
研究成果>发表论文
从1999年以来,我们TTCN实验室在各类权威期刊索引发表文章65篇,全部被CSTPCD(中国核心期刊索引),其中EI索引19篇,SCI索引3篇,ISTP索引2篇,INSPEC索引15篇。同时还发表了一系列有价值的硕博研究生论文。部分论文目录。
GFT
TTCN-3标准中的GFT(Graphical Format for
TTCN-3)是一个图形化标准,该标准定义了TTCN-3测试套的图形化表示形式,研究在测试套图形化表示形式的基础上进行测试套的开发,增强测试套编写过程的可视性和可理解性,在很大程度上减少测试人员编写
测试用例的工作量,提高开发效率。该工具实现
TTCN-3语言脚本和图形表示的相互转化。
最初的TTCN不能设计和描述并行行为,人们很快意识到对TTCN的并行能力的扩展的重要性和迫切性。这也是TTCN-2出现的直接原因。尽管在TTCN-2中做了扩展,但是对于新出现的不同领域的不同种类的测试仍存在很多缺陷和不足,STF(Special Task Force)133和ETS156从1998年开始研究新版TTCN,到2000年10月完成,新版的TTCN命名为Testing and Test Control Notation version 3(
TTCN-3)。
TTCN-3不但保留了原有TTCN-2的良好特性,并且包括满足上述需求的新特性。一个明显的不同就是TTCN-2有两种描述形式,一种是图表形式,一种是与图表形式等价的机器可执行语言,而
TTCN-3有通用的核心语言、图表表达形式及MSC(Message Sequence Chart)表示语言。
TTCN-3分为核心语言(Core Language),表格表示格式(Tabular Presentation),消息序列图(MSC)表示格式等多种使用形式。但核心语言是其他形式的基础,是完整的、独立的,也是TTCN工具之间的标准交互格式,是其他格式的语义基础。
TTCN-3核心语言是TTCN-3最重要的部分。也是
TTCN-3对TTCN-2改进最大的地方。核心语言的发布,使得TTCN-3能够
向后兼容,也使得TTCN-2开发的测试集向TTCN-3转换变的很容易。图形描述方式是新加的一种开发方式,它主要采用了消息序列图MSC的概念。
TTCN-3最顶层单元是模块,它内部不能再有子模块。
TTCN-3模块之间相互独立,他们可以通过import语义共享数据定义。一个测试套就是一个模块。一个模块有两部分:定义部分和控制部分。定义部分定义了测试组件、
通讯端口、
数据类型、
常量、测试数据模板、函数、端口程序呼叫信号、测试例等。控制部分包含
局部变量定义、调用测试例并控制其执行顺序。
TTCN-3规范的第五部分TTCN-3 Runtime InteRFace(TRI)中,对
TTCN-3测试系统的概念模型规范进行了描述。
TTCN-3测试系统由一组具有特定功能的实体组成。这些实体管理测试的顺序,解释和执行已经编译过的
TTCN-3代码,实现和被测系统SUT的正确通信以及实现外部函数(在TTCN-3模块外面定义,在模块中申明为外部函数)和处理定时器的操作等。TTCN-3测试系统分解为测试管理(Test Management,简称TM)、测试执行实体(TTCN-3 Executable,简称TE)、SUT适配器(System Under Test Adapter,简称SA)和测试平台适配器(Platform Adaptor,简称PA)。
TTCN-3测试系统中的两个主要的接口:TTCN-3控制接口(TTCN-3Control Interface,简称TCI)和TTCN-3运行时接口(TTCN-3 Runtime Interface,简称TRI)。它们分别制定了TM和TE之间的接口,和TE与适配器(SA和PA)之间的接口,
TTCN-3规范只对TRI进行了接口定义,而给予测试工具提供商在测试系统的实现中很大的灵活性。而一般情况下,TRI需要由JAVA或C/C++等语言来开发。
TTCN-3可以用做多种通信端口上的各种响应
系统测试的描述语言。典型的应用领域是协议测试(包括移动协议和互连网协议)、服务测试(包括增补服务)、
模块测试、基于平台、APIs等的CORBA测试。
TTCN-3并不仅仅局限于
一致性测试,它可用于多种类型的测试,如
互操作性测试(Interoperability Testing)、
性能测试(Performance Testing)、鲁棒性测试(Robustness Testing)、
回归测试(Regression Testing)、系统和
集成测试(System and Integration Testing)。