TTCN-3可以用做多种通信端口上的各种响应系统测试的描述语言。典型的应用领域是协议测试(包括移动协议和互连网协议)、服务测试(包括增补服务)、模块测试、基于平台、APIs等的CORBA测试。TTCN-3并不仅仅局限于一致性测试,它可用于多种类型的测试,如互操作性测试(Interoperability Testing)、健壮性测试(Robustness Testing)、回归测试(Regression Testing)、系统和集成测试(System and Integration Testing) TTCN-3意在用做独立于测试方法、层和协议的测试套的描述
TTXP(TTCN-3 Express)是一个简单的TTCN3编译器(TTCN3是ETSI的一个语言标准,具体的编译器由各个厂商自己开发).在上面的网址可以找到下载地址与安装方法,这里不详细介绍了.
1.Hello World 下面是一个非常简单的TTCN3模块,我们把这个模块存放到HelloWorld.ttcn3文件中
- module HelloWorld {
- control {
- log("Hello World");
- }
- }
这个模块只有一个Control部分,Contorl部分只有一条log语句,这条语句是打印一条信息.
2. TTXP命令
ttxp /run HelloWorld
编译并且运行HelloWorld, 运行结果: "Hello World" 这条命令包含了编译和运行两个步骤, 但如果你已经编译过,ttxp /run就会直接运行Hello World 但是如果你后来又修改了文件, ttxp /run会重新编译运行
假如你仅仅想编译文件,而不用运行,用ttxp /compile ttxp /compile HelloWorld
你也可以用文件名进行编译, ttxp /compile HelloWorld.ttcn3
运行 ttxp /run HelloWorld.ttcn3
模块名称必须和文件名称保持一致,比如M.ttcn3中只能包含Module M, 一个文件只能有一个Module A command
ttxp /run M
or ttxp /run M.ttcn3
会执行模块M的Control部分
模块中也可以不包含Cotrol, 我们可以单独写一些函数库并且分别编译 下面是LibraryModule.ttcn3. 这个文件包含了LibraryModule模块,里面提供了一个HelloWorld函数
- module LibraryModule
- {
- function HelloWorld()
- {
- log("Hello World");
- }
- }
用下面的命令编译这个文件 ttxp /compile LibraryModule
下面是一个MainModule模快(文件名MainModule.ttcn3), 在这个Module中导入LibraryModule, 并且调用HelloWorld函数,如下
- module MainModule
- {
- import from LibraryModule all;
- control
- {
- HelloWorld();
- }
- }
用下面的命令编译并且执行: ttxp /run MainModule
返回结果:Hello World
这章里面主要介绍了TTXP的一些常用命令, 另外里面很多地方提到了模块Module, 下面我们简单介绍一下:
Module – Top-level unit of TTCN-3 模块- TTCN3中SCOPE最大的单元(其他的都需要包含在Module中). 一个Module包含两个部分:Module定义和Module控制,这两个部分都是可选的,也就是说一个Module中可以是空的,没有任何东西
- module MyModule {
- : // Definitions part
- control {
- : // Control part
- }
- }
Module可以Import 其他Module,这个类似于C中的Include
控制部分类似与C语言中的Main函数,用来控制测试用例的执行
Module还有更多的内容, 等以后接触到更多TTCN内容的时候再介绍 |