飞扬范文网
当前位置 首页 >范文大全 > 观后感 >

TTworkbench在DNS协议测试中的应用研究

发布时间:2022-03-08 15:15:28 浏览数:

(内蒙古财经学院 计算机信息管理系,内蒙古 呼和浩特 010051)
摘 要: 使用TTCN-3对DNS进行了一致性测试,并使用testing_tech公司的产品TTworkben ch进行了验证,并给出了修改通用测试适配器以适合各种不同协议测试的方法,可以进行多 种不同协议的测试。 
关键词:一致性测试;TTCN-3;DNS协议;测试例
中图分类号:TP393.06  文献标识码:A  文章编 号:1007—6921(2008)13—0054—02

协议测试分为一致性测试、互操作测试以及性能测试。协议一致性测试的目标是检测被测实 现(IUT)是否与说明一致。TTCN-3(the Testing and Test Control Notation)是由ETSI 提出的一种灵活和强有力的语言,它用于描述在多种通信端口上的各种响应系统测试。它应 用的典型领域是协议测试、服务测试、基于平台的CORBA测试、API测试等等。TTCN-3不仅限 于一致性测试,它可以用于进行互操作性测试和性能测试。TTCN-3是一种抽象语言,使测试 系统独立。这意味着用TTCN为某个应用设计的测试套(test suite)可以应用于任何测试环 境。
1 TTCN-3测试系统的一般结构及其功能
1.1 TTCN-3系统的结构

ETSI给出的TTCN-3测试系统的一般结构在图1中给出。一个TTCN-3测试系统由一组交互实体 组成,它们分别是测试管理器TM,测试执行器TE,被测系统适配器SA和平台适配器PA,它们 管理测试执行,负责TTCN-3代码的解释或执行,实现同SUT的通信,实现外部函数并处理定 时器操作。

1.2 TTCN-3系统的功能

TM实体负责测试的管理和控制,它又可以细分为TC,TL,ECD及CH四个子部分。其中,TC实 体负责测试系统的全部管理,TL实体负责维护测试日志,外部Codec实体负责编码和解码同T E内基于消息或基于过程相关的数据。外部codecs能够与同TE相关的内嵌codecs并行使用或 代替它,CH实体负责分布并行测试成分。

TE实体负责TTCN-3抽象测试套的解释或执行。TE可以被分解成三个交互实体:一个ETS,TTC N-3运行时系统(T3RTS),和编码/解码系统(EDS)实体。ETS处理在ES 201 873-1中定义 的相应的TTCN-3模块的测试例的解释或执行,测试事件的排序和匹配。EDS实体负责测试数 据的编码和解码,测试数据包括在执行TTCN-3模块中指定的同SUT的通信操作中使用的数据 。需要注意的是,EDS和ETS都需要与被测系统适配器SA交互,但不直接进行,需要通过TTCN -3运行时系统T3RTS来进行。T3RTS实体通过TCI和TRI与TM,SA和PA实体交互,并管理ETS和E DS实体。T3RTS查询TM以得到ETS所需要的模块参数值,并给TM发送日志消息。T3RTS也收集 和求解ETS实体返回的相关判定。T3RTS 实体实现TTCN-3测试成分的创建和删除,也实现基 于消息和过程通信的TTCN-3语义,外部函数调用,行为操作和定时器。这包括告知SUT适配 器(SA)哪个消息或过程调用被发送到SUT,或告知平台适配器(PA)哪个外部函数将被执 行或哪个定时器将被开始、停止、查询或读取。类似地,T3RTS告知ETS实体来自SUT的到来 的消息或过程调用以及超时事件。

SA负责在TTCN-3测试系统和SUT之间传递消息,将发送请求和SUT行为操作从TE传递到SUT, 并通过将收到的测试事件追加到TE的端口队列来告知TE。

PA用来实现TTCN-3的外部函数以及定时器。

TTCN-3测试系统有两个接口,TTCN-3控制接口(TCI)和TTCN-3运行时接口(TRI),TCI实 现TM和TTCN-3执行器TE实体间的接口,而TRI实现TE与SUT适配器SA和平台适配器PA实体间的 接口。
2 DNS协议

DNS(域名服务协议) 负责将域名转换为32位的IP地址。如:www.imu.edu.cn为域名,而202. 207.0.11是它的IP地址。


3 在TTworkbench环境中进行DNS协议测试

TTworkbench 是由testing_tech公司研发的支持TTCN-3语言的测试系统。TTworkbench是基 于TTCN-3国际标准测试语言的图形化测试开发环境和执行环境,它包括测试过程所需要的全 部功能如分析、测试、执行等。同时TTworkbench还可以执行图形定义的测试例。TTworkben ch综合集成开发环境包括核心语言编辑器、TTthree编译器、TTman测试执行管理、图形格式 TTCN-3编辑器和运行环境等。

在TTworkbench中执行测试的过程为:由CLE(文本)或者由GFT(图形)对测试者完成的文 本或者图形化测试例进行编辑,检查测试例中的语法错误,编辑无误后,由TTthree 完成测 试例的编译工作,并生成可执行的.jar文件,然后由TTman将写好的ttcn-3文件生成.mlf文 件,然后执行测试例,并生成相应的测试报告。通过测试报告,可以非常容易地判定测试失 败的原因。如:用TTCN-3写的对DNS协议进行一致性测试的测试例如下:
 testcase tc() runs on mtcType system systemType
      {     map(mtc:mtcPort, system:systemPort);
            mtcPort.send(request);       //send the template packet to the syst em
          localtimer.start;     //start the timer
            alt{
       [] mtcPort.receive(response)
                        {     localtimer.stop;
                              setverdict(pass);
                        }
                  [] mtcPort.receive
                        {  localtimer.stop;
                              setverdict(pass);
                        }
                  [] localtimer.timeout
                        {
                              setverdict(fail);
                        }
                  }
            unmap(mtc:mtcPort, system:systemPort);
            }

测试适配器(Adapter)把编译好的TTCN-3代码改编好发送给目标测试设备。它可以处 理不包含在TTCN-3原始模块中的任何方面,它包含了一个测试系统用户接口,测试执行控制 ,测试事件日志,和被测系统的通信和时钟实现。举个例子:用TTCN-3核心语言制定向被测 系统发送一个字符串。现在Test Adapter需要实现这个发送事件,如把字符串封装在udp包 中发送给被测设备。

TTCN-3提供两种适配器:分别是被测系统适配器(SA)和平台适配器(PA)。SA负责TE与SUT 的通信,它们之间的通信操作由TRI接口的triCommunication来实现。PA负责外部函数和定 时器操作的实现。定时器是在TE内定义,而在PA内实现的。

TTworkbench提供的软件环境为整个TTCN-3测试系统提供了一个可靠、方便的运行基础,TTC N-3又为整个测试过程提供了重要的接口函数。为了进行DNS协议一致性测试,需要在继承由 TTworkbench环境提供的通用TestAdapter的基础上实现自己的TestAdapter。通用TestAdapt er提供的操作有:triExecuteTestcase,triMap,triUnmap,triSend,triCall等。由于通 信的需要,用java重写triSend。另外,由于DNS自身的特性,所以需要将接收到的比特串形 式的数据重组为符合DNS响应包格式的合法包。需要用java写函数creatdnsPacket,这个函 数负责将接收到的比特串组合为合法的DNS包。

对内蒙古大学的DNS服务器进行测试,发送标准DNS查询包,收到标准的DNS响应包。
4 结论

TTCN-3是由ETSI提出的一种灵活和强有力的语言,它用于描述在多种通信端口上的各种响应 系统测试。TTworkbench是基于TTCN-3国际标准测试语言的图形化测试开发环境和执行环境 ,它可以实现用TTCN-3描述的测试例的自动执行。DNS(域名服务)协议是最常见的应用层 协议,本文给出了为对DNS进行一致性测试的用TTCN-3描述的测试例,并对它的自动执行进 行了验证,给出了测试结论。下一步工作需要对一些低层协议,如:网络层协议OSPF,BGP 协议进行自动测试,另外,开展软件测试的自动执行也是工作目标之一。
[参考文献]
[1] ETSI ES 201 873 - 1, v2.2.1:“The Testing and Test Control Notation  TTCN-3: Core Language”, Oct. 2002.[ZK)]
[2] ETSI ES 201 873-5 V1.1.1:“The Testing and Test Control Notation ver sion 3; Part 5: TTCN-3 Runtime Interface (TRI)”, February 2003.
[3] ETSI ES 201 873-6 V1.0.0:“The Testing and Test Control Notation ver sion 3; Part 6: TTCN-3 Control Interfaces (TCI)”, March 2003.
[4] Theofanis Vassiliou-Gioles1, George Din2, and Ina Schieferdecker: Execution of External Applications Using TTCN-3,TestCom 2004.
[5] 徐涛.移动IPv6协议一致性测试设计与实现[D]北京邮电大学,2006 .

相关热词搜索: 协议 研究 测试中 TTworkbench DNS