TTworkbench在DNS协议测试中的应用研究
(内蒙古财经学院 计算机信息管理系,内蒙古 呼和浩特 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 .
热门文章:
- 2024年度《榜样力量》(第二...2023-12-29
- (合集)有关于打造清廉国企...2023-12-26
- 2024思政教师培训材料:社会...2023-12-25
- 药物质检年度工作总结报告范...2023-12-07
- 两会期间系列重要讲话精神学...2023-12-07
- 专题节目《榜样7》观后感通用...2023-12-07
- 学生会竞选精彩演讲稿6篇2023-12-06
- 甄选开学会领导精彩讲话稿汇...2023-12-06
- 落实全面从严治党主体责任清...2023-12-06
- 中国梦我的梦演讲稿通用范文3篇2023-12-06
相关文章:
- 资产转让协议书(标准完整版)2021-08-27
- 餐厅合伙经营协议书&餐饮业劳...2021-08-27
- 餐厅股权转让协议书范本&餐饮...2021-08-27
- 餐饮股份合作协议书格式&餐饮...2021-08-27
- 餐馆转让协议书范本&餐厅租赁...2021-08-27
- 餐饮服务协议书范本&餐厅房屋...2021-08-27
- 餐厅转让协议书范本两篇&餐饮...2021-08-27
- 车库转让协议书2021-08-27
- 免责协议书范本(用工、聚会...2021-08-27
- 企业员工竞业限制协议(五页)2021-08-27
- 产品设计中形研究论文&产品品...2021-08-27
- 计算机维护系统软件应用研究2021-08-27
- 五年级下册语文研究报告对于姓氏2021-08-27
- 研究生课程学习总结2021-08-27
- 科学研究工作能力自我评价2021-08-31
- 研究性学习的理论与实践简介2021-09-09
- 党建研究会工作报告2021-09-09
- 后勤工作研究课题2021-09-11
- 国际税收研究会秘书长事迹2021-09-13
- 优秀研究成果评选奖励办法2021-09-14