51Testing软件测试论坛

标题: TTCN-3 简介 [打印本页]

作者: 默默巫    时间: 2009-3-17 15:33
标题: TTCN-3 简介
TTCN是由ISO/IEC9646和ITUX.292 系列所提出的实现OSI 与ITU协议定义的一致性测试方法的标准。由于TTCN集成开发环境ITEX( Interactive TTCN Editor and eXecutor)能够自动生成ANSI C的测试代码,因此测试的主要工作量集中在利用形式化语言描述测试流程上,这同时避免了由于手工编程可能导致的错误。测试过程出现的问题可由ITEX 生成相应的测试报告,减少跟踪调试程序的工作量。并且所有与具体平台相关的代码都被集中在测试的内核中,因此TTCN所生成的测试模块可重用性好、容易维护。它支持多个PTC同时执行, 由MTC 控制整个执行流程。TTCN与ASN.1(Abstract Syntax Notation.1)兼容,ASN.1属于国际标准ISO/ IEC8824 系列,是开放系统互联(OSI)的关键组成部分之一,由于两者的兼容性,使TTCN的应用更加广泛。
  然而最初的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)。
作者: kingerwt    时间: 2009-3-25 21:30
学习了!
作者: yetties2005    时间: 2009-3-30 16:05
学习了。
作者: msnshow    时间: 2009-5-17 18:00
第一次听说这个东东,不太懂
作者: zhongw    时间: 2009-5-24 15:42
真的是新技术:看不懂
作者: ddeyo    时间: 2010-12-5 22:32
我有一个学习很不好的习惯,就是先用再学,带着问题学,
现在关键的问题是我不知道怎样下手来对付这东西,最大的问题是不知道问题在哪,求高手指点迷津,
作者: andywang0910    时间: 2011-11-7 17:58
感谢楼主,学习中~~~
作者: flyeagleqq    时间: 2012-7-26 09:54
感谢楼主,学习中~~~
作者: flyeagleqq    时间: 2012-7-26 09:55
感谢楼主,学习中~~~




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2