收藏本站 收藏本站
积木网首页 - 软件测试 - 常用手册 - 站长工具 - 技术社区
软件测试 > TTCN > 正文

首页 | 领域细分: 游戏测试 安全测试 手机测试 Web测试 | 技术研究: 单元测试 入门教程 用例设计 性能测试 功能测试 | 测试职场: 面试精选 职场发展 面试试题

测试管理: 配置及流程 - 需求管理 - 质量验收 - 缺陷管理 - 其它管理相关 | 开发语言: PHP技巧 - PHP基础 - PHP实例 - PHP错误代码

测试工具: LoadRunner JiRa QuickTestPro RoBot WinRunner TestDirector 其它测试工具 | 数据库: Mysql数据库 Oracle数据库 CSS/DIV基础 HTML基础

TTCN实践入门(二)Test Suites

来源:互联网 日期:2012-04-12 07:30

  Test Suites(测试套件或者测试对象)

  一个TTCN 测试套件由多个测试用例组成,比如所有测试Attach的用例可以组成一个测试套件, 主要是为了方便管理与组织测试用例,下面是一个显示Hello的测试用例:

1. testcase Hello() runs on EmptyComponentType
2. {
3. log("Hello");
4. }

  测试用例由关键字testcase定义,必须定义在Module的定义部分。

  一个测试用例必须运行在一个component(本文翻译为组件)上(本例中是runs on EmptyComponentType,如果没有写runs on就是默认为运行在Main Test Component上)。

  这里我们需要定义EmptyComponentType组件,如下(这个Component的内容为空)

  先简单介绍一下Component(组件)的概念:

  Component一般分为两种:MTC和PTC

  MTC: Main Test Component,主测试组件,当测试用例执行的时候,测试执行环境(TTCN环境,这里是TTXP)会自动创建一个MTC, 在测试运行过程,只会有唯一的MTC。如果没有指明runs on某个Component,默认就是MTC; 在测试代码中,不能控制MTC的建立与停止;

  PTC: Parallel Test Component, 并行测试组件, PTC是由测试代码控制的,可以创建,停止等。PTC的销毁(release)是由系统自动完成的。测试组件之间的通讯是通过Ports来进行。PTC与MTC都可以与SUT(System Under Test,测试对象)通讯。

  为什么要利用组件这个概念呢? 最大的好处就是可以用组件来模拟通讯网络结点,比如MSC(Mobile Switch Center)可以是一个组件, NodeB(基站)可以是一个组件, SUT是RNC(无线网络控制器), 这三者之间消息的交互用测试用例来模拟, MSC与NodeB的组件可以设计为PTC,作为并行运行的进程,在MTC中调用这两个PTC进行消息发送与回复等操作。把每一个PTC想象为一个网络结点,测试环境就会清晰很多。

  

type component EmptyComponentType {}

  下面是一个含有两个测试用例的测试套件:

1. module Suite {
2.

3. type component EmptyComponentType {}
4.

5. testcase Hello() runs on EmptyComponentType
6. {
7. log("Hello");
8. }
9.

10. testcase GoodBye() runs on EmptyComponentType
11. {
12. log("Good Bye");
13. }
14.

15. control {
16. execute( Hello() );
17. execute( GoodBye() );
18. }
19. }

  可以通过下面的命令来编译运行:

  ttxp /run Suite

  Module控制部分执行了两个测试用例,所以结果是Hello 和Good Bye。

  如果你只想执行一个测试用例,用下面的命令:

  ttxp /run Suite Hello

  这条命令仅仅运行Hello这个测试用例。

相关阅读:

TTCN实践入门(一)

本周排行

别人正在浏览

强悍的草根IT技术社区,这里应该有您想要的!
Copyright © 2010 Gimoo.Net. All Rights Rreserved  京ICP备05050695号