关闭

TTCN实践入门(二)Test Suites

发表于:2009-3-20 15:21

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:ttcntest翻译    来源:ttcntest

  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实践入门(一)

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号