ETSI ES 201 873-1 V2.2.1 (2003-02)
ETSI 标准
测试描述方法 (MTS);
测试和测试控制表示法 第三版;
第一部分:TTCN-3核心语言
翻译:郝丹丹 付晓宇
T
2
ETSI ES 201 873-1 V2.2.1T T(2003-02)
参考
RES/MTS-00063-1 [2]
关键字
ASN.1,方法,MTS,测试,TTCN
ETSI
650 Route des Lucioles
F-06921 Sophia Antipolis Cedex - FRANCE
Tel.: +33 4 92 94 42 00 Fax: +33 4 93 65 47 16
Siret N° 348 623 562 00017 - NAF 742 C
Association à but non lucratif enregistrée à la
Sous-Préfecture de Grasse (06) N° 7803/88
重要注意事项
当前文档的各拷贝可以从此网站下载
http://www.etsi.org
当前文档可能有多个有效的电子或打印版本,在其内容间存在或可察觉出区别的情况下,以PDF格式版本为参考基准。有
争议的情况,应该以ETSI打印机打印的ETSI秘书处保存的PDF版本为参考基准。
当前版本的用户应该知道本文档可能会继续修订或改变状态,其当前状态信息或其他ETSI文档的状态信息见
http://portal.etsi.org/tb/status/status.asp
如果你在当前文档中发现错误,发送您的注释到
editor@etsi.org
版权声明
除非有书面许可,否则不可以复制任何部分。
版权和上述限制适用于所有媒介的复制
© 欧洲电信标准委员会2003。
版权所有
DECTTM、PLUGTESTSTM 和 UMTSTM 是ETSI为其成员利益注册的商标。
TIPHONTM 和TIPHON logo是ETSI为其成员利益正在注册的商标。
3GPPTM是ETSI为其成员以及3GPP组织伙伴的利益注册的商标。
译者声明
除非有译者书面许可,否则不可以复制本译本的任何部分。
未经译者书面许可,不得使用该译本做商业用途
该限制适用于所有媒介的复制和使用
ETSI
T
译者序
3
ETSI ES 201 873-1 V2.2.1T T(2003-02)
TTCN-3是一个功能强大的基于响应系统的黑箱测试标准,为了使TTCN在中国能更好的推广,译者
经历了一年多的时间才正式完成第一个中文翻译本。
本文的翻译工作受到了ETSI的Anthony Wiles先生的大力支持,特此感谢。
译者在协议测试方面的研究和工作中虽然积累了一些TTCN的使用经验,但是由于水平有限,其中不
免有错误或翻译不当之处,欢迎指正,也欢迎对TTCN-3感兴趣的朋友和我们联系、交流。
我们的 EMAIL:
ddhao@etang.com
yu_daniel@etang.com
ETSI
T
目录
4
ETSI ES 201 873-1 V2.2.1T T(2003-02)
知识产权 ..........................................................................................................................................................13
前言 13
1 本文研究范围........................................................................................................................................14
2 参考........................................................................................................................................................14
3 定义和缩写............................................................................................................................................15
定义 ................................................................................................................................................................. 15
3.1
缩写 ................................................................................................................................................................. 17
3.2
4 介绍........................................................................................................................................................17
概述 ................................................................................................................................................................. 17
4.0
核心语言和表示格式 ..................................................................................................................................... 18
4.1
描述的一致性 ................................................................................................................................................. 19
4.2
一致性 ............................................................................................................................................................. 19
4.3
5 基本语言元素........................................................................................................................................19
概述 ................................................................................................................................................................. 19
5.0
语言元素的顺序 ............................................................................................................................................. 20
5.1
向前引用.................................................................................................................................................... 20
5.1.1
参数化 ............................................................................................................................................................. 21
5.2
静态参数化和动态参数化........................................................................................................................ 21
5.2.0
参数传递——传参和传值........................................................................................................................ 21
5.2.1
概要...................................................................................................................................................... 21
5.2.1.0
使用传参的方法传递参数 .................................................................................................................. 22
5.2.1.1
使用传值的方法传递参数 .................................................................................................................. 22
5.2.1.2
形参和实参列表........................................................................................................................................ 22
5.2.2
空形参列表................................................................................................................................................ 22
5.2.3
嵌入式参数列表........................................................................................................................................ 22
5.2.4
范围规则 ......................................................................................................................................................... 23
5.3
概要............................................................................................................................................................ 23
5.3.0
形参的作用范围........................................................................................................................................ 24
5.3.1
标识符的唯一性........................................................................................................................................ 25
5.3.2
标识符和关键字 ............................................................................................................................................. 25
5.4
6 类型和值................................................................................................................................................25
概要 ................................................................................................................................................................. 25
6.0
基本类型和值 ................................................................................................................................................. 26
6.1
简单基本类型和值.................................................................................................................................... 26
6.1.0
基本串类型和值........................................................................................................................................ 27
6.1.1
存取单个串元素........................................................................................................................................ 29
6.1.2
基本类型的子类型 ......................................................................................................................................... 29
6.2
概要............................................................................................................................................................ 29
6.2.0
值列表........................................................................................................................................................ 29
6.2.1
值域............................................................................................................................................................ 29
6.2.2
概要...................................................................................................................................................... 29
6.2.2.0
无限值域.............................................................................................................................................. 30
6.2.2.1
列表和值域的混合 .............................................................................................................................. 30
6.2.2.2
串长度限定................................................................................................................................................ 30
6.2.3
结构化的类型和值 ......................................................................................................................................... 30
6.3
概要............................................................................................................................................................ 30
6.3.0
ETSI
T
5
ETSI ES 201 873-1 V2.2.1T T(2003-02)
记录类型和值............................................................................................................................................ 31
6.3.1
概要...................................................................................................................................................... 31
6.3.1.0
引用一个record类型的字段................................................................................................................ 32
6.3.1.1
record类型的可选元素........................................................................................................................ 32
6.3.1.2
集合(Set)类型和值............................................................................................................................... 32
6.3.2
概要...................................................................................................................................................... 32
6.3.2.0
对集合类型字段的引用 ...................................................................................................................... 33
6.3.2.1
集合中的可选元素 .............................................................................................................................. 33
6.3.2.2
单一类型的记录和集合类型.................................................................................................................... 33
6.3.3
枚举类和值................................................................................................................................................ 34
6.3.4
联合类型.................................................................................................................................................... 35
6.3.5
概要...................................................................................................................................................... 35
6.3.5.0
对union类型字段的引用 ..................................................................................................................... 35
6.3.5.1
可选性和联合类型 .............................................................................................................................. 36
6.3.5.2
任意类型 ......................................................................................................................................................... 36
6.4
数组 ................................................................................................................................................................. 36
6.5
递归类型 ......................................................................................................................................................... 37
6.6
类型兼容性 ..................................................................................................................................................... 37
6.7
概要............................................................................................................................................................ 37
6.7.0
非结构化类型的类型兼容性.................................................................................................................... 37
6.7.1
结构化类型的类型兼容性........................................................................................................................ 38
6.7.2
概要...................................................................................................................................................... 38
6.7.2.0
枚举类型的兼容性 .............................................................................................................................. 38
6.7.2.1
record和record of类型的类型兼容性.................................................................................................. 38
6.7.2.2
set和set of类型的类型兼容性 ............................................................................................................. 39
6.7.2.3
子结构的兼容性 .................................................................................................................................. 40
6.7.2.4
6.7.3 成分类型的类型兼容性 ................................................................................................................................... 40
通信操作的类型兼容性............................................................................................................................ 40
6.7.4
类型变换.................................................................................................................................................... 40
6.7.5
7 模块(Modules)..................................................................................................................................40
概要 ................................................................................................................................................................. 40
7.0
模块的命名 ..................................................................................................................................................... 41
7.1
模块参数 ......................................................................................................................................................... 41
7.2
概要............................................................................................................................................................ 41
7.2.0
模块参数的默认值.................................................................................................................................... 41
7.2.1
模块定义部分 ................................................................................................................................................. 41
7.3
概要............................................................................................................................................................ 41
7.3.0
组定义........................................................................................................................................................ 42
7.3.1
模块控制部分 ................................................................................................................................................. 43
7.4
从模块引入 ..................................................................................................................................................... 43
7.5
概要............................................................................................................................................................ 43
7.5.0
可引入定义的结构.................................................................................................................................... 44
7.5.1
使用引入操作的规则................................................................................................................................ 45
7.5.2
递归引入Recursive import ........................................................................................................................ 47
7.5.3
引入单个定义............................................................................................................................................ 48
7.5.4
引入一个模块的所有定义........................................................................................................................ 48
7.5.5
引入组........................................................................................................................................................ 49
7.5.6
引入相同种类的定义................................................................................................................................ 49
7.5.7
处理引入中的名字冲突............................................................................................................................ 50
7.5.8
处理相同定义的多个引用........................................................................................................................ 50
7.5.9
从非TTCN-3模块中引入定义 .................................................................................................................. 51
7.5.10
8 测试配置................................................................................................................................................51
概要 ................................................................................................................................................................. 51
8.0
ETSI
T
6
ETSI ES 201 873-1 V2.2.1T T(2003-02)
端口通信模型 ................................................................................................................................................. 52
8.1
连接上的限制 ................................................................................................................................................. 52
8.2
抽象测试系统接口 ......................................................................................................................................... 54
8.3
定义通信端口类型 ......................................................................................................................................... 55
8.4
概要............................................................................................................................................................ 55
8.4.0
混合型端口................................................................................................................................................ 55
8.4.1
定义通信类型 ................................................................................................................................................. 56
8.5
概要............................................................................................................................................................ 56
8.5.0
在一个成分中声明本地变量和定时器.................................................................................................... 56
8.5.1
定义带有端口数组的成分........................................................................................................................ 57
8.5.2
SUT内部的编址实体...................................................................................................................................... 57
8.6
成分引用 ......................................................................................................................................................... 57
8.7
定义测试系统接口 ......................................................................................................................................... 58
8.8
9 常量声明................................................................................................................................................59
10 变量声明................................................................................................................................................59
11 定时器声明............................................................................................................................................59
概要 ................................................................................................................................................................. 59
11.0
定时器做参数 ................................................................................................................................................. 60
11.1
12 消息声明................................................................................................................................................60
13 过程特征的声明....................................................................................................................................60
概要 ................................................................................................................................................................. 60
13.0
阻塞的和非阻塞的通信中的过程特征.......................................................................................................... 61
13.1
过程特征的参数 ............................................................................................................................................. 61
13.2
远程过程的返回值 ......................................................................................................................................... 61
13.3
例外描述 ......................................................................................................................................................... 61
13.4
14 模板声明................................................................................................................................................62
概要 ................................................................................................................................................................. 62
14.0
消息模板的声明 ............................................................................................................................................. 62
14.1
概要............................................................................................................................................................ 62
14.1.0
用于发送消息的模板................................................................................................................................ 63
14.1.1
用于接收消息的模板................................................................................................................................ 63
14.1.2
过程特征模板的声明 ..................................................................................................................................... 63
14.2
概要............................................................................................................................................................ 63
14.2.0
用于过程调用的模板................................................................................................................................ 64
14.2.1
用于接收过程调用的模板........................................................................................................................ 64
14.2.2
模板匹配机制 ................................................................................................................................................. 65
14.3
模板参数化 ..................................................................................................................................................... 66
14.4
概要............................................................................................................................................................ 66
14.4.0
带有匹配属性的参数化............................................................................................................................ 66
14.4.1
作为参数传递模板 ......................................................................................................................................... 67
14.5
修改模板 ......................................................................................................................................................... 67
14.6
概要............................................................................................................................................................ 67
14.6.0
修改模板的参数化.................................................................................................................................... 68
14.6.1
嵌入式修改模板........................................................................................................................................ 68
14.6.2
改变模板字段 ................................................................................................................................................. 68
14.7
匹配操作 ......................................................................................................................................................... 68
14.8
操作的值 ......................................................................................................................................................... 69
14.9
15 运算符....................................................................................................................................................69
概要 ................................................................................................................................................................. 69
15.0
算术运算符 ..................................................................................................................................................... 71
15.1
串运算符 ......................................................................................................................................................... 71
15.2
ETSI
T
7
ETSI ES 201 873-1 V2.2.1T T(2003-02)
关系运算符 ..................................................................................................................................................... 71
15.3
逻辑运算符 ..................................................................................................................................................... 73
15.4
位运算符 ......................................................................................................................................................... 73
15.5
移位运算符 ..................................................................................................................................................... 74
15.6
循环移位运算符 ............................................................................................................................................. 75
15.7
16 函数和可选步........................................................................................................................................75
函数 ................................................................................................................................................................. 75
16.1
概要............................................................................................................................................................ 75
16.1.0
函数的参数化............................................................................................................................................ 76
16.1.1
调用函数.................................................................................................................................................... 76
16.1.2
预定义的函数............................................................................................................................................ 77
16.1.3
可选步 ............................................................................................................................................................. 78
16.2
概要............................................................................................................................................................ 78
16.2.0
可选步的参数化........................................................................................................................................ 78
16.2.1
可选步中的局部定义................................................................................................................................ 78
16.2.2
概要...................................................................................................................................................... 78
16.2.2.0
可选步中局部定义初始化的限制 ...................................................................................................... 79
16.2.2.1
可选步的调用............................................................................................................................................ 79
16.2.3
用于不同成分类型的函数和可选步.............................................................................................................. 80
16.3
17 测试例....................................................................................................................................................80
概要 ................................................................................................................................................................. 80
17.0
测试例的参数化 ............................................................................................................................................. 81
17.1
18 程序语句和操作的纵览........................................................................................................................81
19 基本的程序语句....................................................................................................................................83
概要 ................................................................................................................................................................. 83
19.0
表达式 ............................................................................................................................................................. 83
19.1
概要............................................................................................................................................................ 83
19.1.0
布尔表达式................................................................................................................................................ 83
19.1.1
赋值 ................................................................................................................................................................. 84
19.2
日志语句 ......................................................................................................................................................... 84
19.3
标签语句 ......................................................................................................................................................... 84
19.4
Goto语句 ......................................................................................................................................................... 84
19.5
If-else 语句 ...................................................................................................................................................... 85
19.6
for语句............................................................................................................................................................. 86
19.7
While语句 ....................................................................................................................................................... 86
19.8
do-while语句 ................................................................................................................................................... 86
19.9
19.10 停止执行语句 ................................................................................................................................................. 87
20 行为的程序语句....................................................................................................................................87
概要 ................................................................................................................................................................. 87
20.0
选择性行为 ..................................................................................................................................................... 87
20.1
概要............................................................................................................................................................ 87
20.1.0
选择对象行为的执行................................................................................................................................ 89
20.1.1
选择对象的选择和去除选择.................................................................................................................... 90
20.1.2
选择对象中的Else分支............................................................................................................................. 90
20.1.3
空................................................................................................................................................................ 91
20.1.4
alt语句的再次求值.................................................................................................................................... 91
20.1.5
作为选择对象的可选步的调用................................................................................................................ 91
20.1.6
repeat语句........................................................................................................................................................ 91
20.2
交叉的行为 ..................................................................................................................................................... 92
20.3
返回语句 ......................................................................................................................................................... 93
20.4
21 默认处理................................................................................................................................................93
ETSI
T
8
ETSI ES 201 873-1 V2.2.1T T(2003-02)
概要 ................................................................................................................................................................. 93
21.0
默认机制 ......................................................................................................................................................... 94
21.1
缺省引用 ......................................................................................................................................................... 94
21.2
激活操作 ......................................................................................................................................................... 95
21.3
概要............................................................................................................................................................ 95
21.3.0
参数化可选步的激活................................................................................................................................ 95
21.3.1
去激活操作 ..................................................................................................................................................... 95
21.4
22 配置操作................................................................................................................................................96
概要 ................................................................................................................................................................. 96
22.0
创建操作 ......................................................................................................................................................... 96
22.1
连接和映射操作 ............................................................................................................................................. 97
22.2
概要............................................................................................................................................................ 97
22.2.0
一致性连接和映射.................................................................................................................................... 98
22.2.1
断开连接和取消映射操作 ............................................................................................................................. 98
22.3
MTC、System和Self 操作.............................................................................................................................. 98
22.4
启动测试成分操作 ......................................................................................................................................... 99
22.5
停止测试成分操作 ......................................................................................................................................... 99
22.6
运行操作 ....................................................................................................................................................... 100
22.7
完成操作 ....................................................................................................................................................... 100
22.8
使用成分数组 ............................................................................................................................................... 101
22.9
22.10 带有成分的any和all的使用总结.................................................................................................................. 102
23 通信操作..............................................................................................................................................102
概要 ............................................................................................................................................................... 102
23.0
通信操作的通用格式 ................................................................................................................................... 103
23.1
概要.......................................................................................................................................................... 103
23.1.0
发送操作的通用格式.............................................................................................................................. 103
23.1.1
接收操作的通用格式.............................................................................................................................. 104
23.1.2
基于消息的通信 ........................................................................................................................................... 104
23.2
概要.......................................................................................................................................................... 104
23.2.0
发送操作.................................................................................................................................................. 105
23.2.1
接收操作.................................................................................................................................................. 105
23.2.2
概要.................................................................................................................................................... 105
23.2.2.0
接收任意消息 .................................................................................................................................... 106
23.2.2.1
在任意端口上接收 ............................................................................................................................ 106
23.2.2.2
触发操作.................................................................................................................................................. 106
23.2.3
概要.................................................................................................................................................... 106
23.2.3.0
在任意消息上的触发 ........................................................................................................................ 107
23.2.3.1
在任意端口上的触发 ........................................................................................................................ 107
23.2.3.2
基于过程的通信 ........................................................................................................................................... 107
23.3
概要.......................................................................................................................................................... 107
23.3.0
调用操作.................................................................................................................................................. 108
23.3.1
概要.................................................................................................................................................... 108
23.3.1.0
处理对一个调用的响应和例外 ........................................................................................................ 109
23.3.1.1
处理调用的超时例外 ........................................................................................................................ 109
23.3.1.2
调用不带返回值、输出参数、输入/出参数和例外的阻塞类过程................................................ 110
23.3.1.3
调用非阻塞类过程 ............................................................................................................................ 110
23.3.1.4
getcall操作............................................................................................................................................... 110
23.3.2
概要.................................................................................................................................................... 110
23.3.2.0
接收任意调用 .................................................................................................................................... 111
23.3.2.1
在任意端口上获得调用 .................................................................................................................... 111
23.3.2.2
应答操作.................................................................................................................................................. 111
23.3.3
获得应答操作.......................................................................................................................................... 112
23.3.4
概要.................................................................................................................................................... 112
23.3.4.0
ETSI