TTCN-3编译技术研究与实现

TTCN-3编译技术研究与实现

钱向红[1]2004年在《TTCN-3编译技术研究与实现》文中提出本论文的研究背景是:①IPv6协议集的测试,特别是对IPv6路由器设备的测试技术已经成为从现有Internet向基于IPv6的NGI(Next Generation Internet)过渡的关键技术之一;②现代路由器以多端口和高速化为特征,对路由器产品的符合协议标准的测试、性能测试难度增加。为了能够模拟路由器的真实工作环境,对路由器的功能与性能指标进行全面的测试,四川省网络通信重点实验室开展了对多端口路由器并发测试技术的研究和测试系统的开发工作。本论文反映的工作是该项目的子系统“双端口测试系统”(TPT—Two Port Tester)中的“测试支撑工具研究”,即如何将用TTCN-3语言描述的测试控制数据转变为测试系统中的可执行测试数据。 传统上这一转换过程可以采用两种方式:解释与编译。目前已有的测试系统中采用解释方式的较多,即“边解释边执行”的测试方法。笔者及其同事在分析了现代高速路由器的测试需要的基础上,在存储空间的占用量和可执行代码修改的方便性,与测试实时性要求的矛盾中,选择了“缩短联机处理时间”优先的策略,采用对TTCN-3描述的测试控制数据进行编译的技术路线。 TTCN-3的编译过程与传统的编译过程类似,包括词法分析、语法分析、语义分析和代码生成4个阶段。为了与测试系统中其它部件整合,编译器采用两步编译的方式,第一步将TTCN-3语言转换成C语言代码,第二步将C代码与测试系统的其它组成部分联合编译,最终生成可执行代码。由于最终的可执行代码将由C编译器完成,因此在TTCN-3/C的编译过程中没有考虑代码生成的优化问题。编译器采用两遍扫描,第一遍扫描读入TTCN-3源程序,并对其进行词法分析、语法分析和语义分析。第二遍遍历第一遍输出的语法树,结合符号表来生成目标C代码。 笔者的工作涉及词法、语法和语义分析,但研究重点在于代码生成部分的设计与实现。由于TTCN-3编译器是双端口测试系统的支撑工具,因此与测试系统相关。编译后的C代码将与单测试例遍历软件(Traverser)和编解码器(E/D-Encoder/Decoder)联合进行C编译,最终形成可执行的单测试例测试代码,因此TTCN-3/C编译器还需要充分考虑与二者的结合问题。鉴于研究中的多端口并发测试必须依赖双端口测试器作为基本测试单元,使其能够集中于对多端口并发西南交通大学硕士研究生学位论文第日页测试的控制问题,而本文反映的工作主要是双端口测试系统支撑工具的研究与开发,也是下一阶段的多端口并发测试系统的基础。关键词:编译器;TTCN一3;语法分析;代码生成子

曾飞[2]2006年在《双端口测试器的可执行测试例生成系统研究与开发》文中研究指明未来的路由器/交换机设备将具有多端口和高端口速率高的特点,而多媒体应用数据的服务质量需求使路由器/交换机必须具备高速交换能力和对不同数据的服务质量给予保障的能力,这也给路由器/交换机本身和相关的测试系统提出了更高的要求。为了能够模拟路由器的真实工作环境,对路由器的功能与性能指标进行全面的评测,四川省网络通信重点实验室开展了对路由器多端口并发测试技术的研究和测试系统的开发工作。目前开发的测试系统分为上下两级,上级为“多端口并发测试器¨(Multi-Port Concurrent Tester,MPCT),下级为路由器“双端口测试器”(Two-Port Tester,TPT),二者通过交换设备实现互联组成“分布式多端口并发测试系统”(Distributed Multi-port Concurrent Test System,DMC-TS)。本文的工作主要涉及双端口测试器部分。 双端口测试器由测试执行部分(因为他直接面对测试操作员,有时也称之为测试前台系统)和测试集支撑工具组成。笔者的工作重点尽管概念上属于TPT测试执行部分,但由于本系统采用编译方式,为了使编译结果能够独立运行,TPT将单测试例执行器(Single Test Case Executor,STCE)实际上作为“可执行测试控制数据”(Executable Test Control Data,ETCD)的主控程序,因此,以STCE为核心的TPT测试执行部分实际上由编译程序自动生成。相应地,笔者工作变成研究如何通过TTCN-3(the Testing and Test Control Notation Version 3)编译程序自动生成可执行测试控制数据的问题。 现有TTCN-3编译程序中所采用的“单遍”或“多遍”扫描方式,本论文介绍的SC-Netcom TTCN-3 Compiler选择了繁简适中的两遍扫描方式,经过词法、语法和语义分析,形成语法树和符号表,再经代码优化最终生成可执行测试控制数据ETCD。STCE根据测试要求发送测试数据,接收并记录被测对象的应答并做出相应的测试结论,因此,STCE的生成程序是编译程序的重要组成部分。 笔者设计的STCE特色是以“测试状态变迁表”(Test State Transition Table,TSTT)为基础进行测试控制。测试状态对应于测试树中的节点,与协议状态之间不具备一一对应关系;测试状态集是更加细化的协议状态集,是为适应测试各种细化的状态变迁的需要而扩展的。采用“测试状态变迁表”的方式来控制测试过程具有全面、细致和直观的优点。笔者在本论文中反映的工作,除了完成了STCE的设计与生成程序的编程之外,为了配合对IP层的测试,增添了IP

宋波[3]2005年在《多端口路由器并发测试技术研究》文中研究说明从上世纪七十年代开始,协议测试技术就成为了网络界研究的热点课题之一。其间,ISO9646定义了面向路由器等中继系统的两种测试法和面向端系统的四种测试法,以及一种定义测试控制数据的语言TTCN(Tree and Tabular Combined Notation)。但在路由交换技术快速发展的今天,现有的这些测试方法和技术无法满足其高速、多端口、同步协调测试的要求,以及涵盖叁类测试:一致性测试、性能测试、互通性测试的要求。随着IPv6的出现,协议测试技术再次成为了研究的热点之一。 本文首先从叁个方面介绍了现代路由器/交换机对现有测试技术提出的挑战:在测试方法上,现有中继系统测试方法不能满足多端口并发测试的要求;在测试控制数据定义语言上,现有的TTCN3(TTCN第叁版)由于侧重于功能性描述,因而该语言难于描述多端口并发、实时、性能等要求;在测试系统上,测试系统是测试方法和测试数据控制定义语言的体现,因而现有的测试系统难于满足多端口并发的涵盖叁类测试的测试要求。然后,本文基于对现有测试方法、测试语言、测试系统不足的分析,在方法上提出了“路由器分布式并发穿越测试法”,在测试定义语言上提出了一种新的语言“CMP-TDL(Concurrent Multi-Port Test Definition Language)”,并以新的测试方法和测试数据定义语言为基础,设计了一种新的分布式测试系统。 第一章为绪论,首先介绍了协议测试的背景以及研究测试技术的意义,然后介绍了目前国内外测试技术的研究概况,最后阐述了本文的主要研究内容、目标和创新点。 第二章主要分析了现代路由器对现有测试技术提出的挑战,重点从测试方法上、测试控制数据定义语言上、测试系统上这叁个方面分析了现有测试方法的不足、现有测试语言的局限性、以及测试系统在功能上的不足。并以此为基础提出了新的测试方法、测试数据控制定义语言和新的测试系统。 第叁章重点阐述了“路由器分布式并发穿越测试法”的具体内涵。 第四章重点阐述了新的测试描述语言CMP-TDL的各个方面,包括语言的基本语法、语义、基本框架、基本语言要素,以及对实时、协调等方面的控制功

闫健恩[4]2004年在《基于Windows系统利用Parser Generator实现TTCN -3语言的语法分析器》文中研究指明TTCN-3做为专门进行测试的语言,它定义了严格的语法和语义规则。由于它是新出现的测试语言规范,国内还没有这种语言的编译、运行环境,国外的TTCN-3编译器开发也正在进行。已经出现的TTCN-3运行环境大多是把TTCN-3转化为另一种语言(如IAVA),使用现成的编译器编译转换后的代码,间接实现对TTCN-3的编译。TTCN-3编译器的开发成为迫切的任务。 在本文中主要讨论了使用YACC工具Parser Generator实现windows系统下的TTCN-3编译系统的语法分析器。语法分析是编译过程的核心部分。它的任务是在词法分析识别出的单词符号串的基础上,分析并判定程序的语法结构是否符合语法规则。实现过程中我们使用面向对象的技术,定义了系统中需要使用的各种数据结构、对象等。我的工作主要有:一是对TTCN-3的扩展语法规则范式进行改写;二是编写用于语法分析的TTCN-3的YACC源程序,这其中涉及到符号对象的定义,符号表的使用管理,标识符的登录,语义动作的编写以及错误处理等内容;叁是生成执行器在执行时刻传输信息需要的编码和解码操作的驱动表和头文件。由于面向对象技术具有更好的技术优势和特色,因此在整个的开发过程中我们全面引进使用这一技术,而且在分析设计阶段我们使用UML来进行系统的分析和设计,从而规范了软件的开发过程,提高了工作的效率和进度。

王楚义[5]2007年在《多端口并发测试定义语言及其编译器的研究与设计》文中指出ISO 9646中定义的针对路由器的测试方法已经不能满足多端口并发测试需要,为此,四川省网络通信重点实验室开展了对路由器多端口测试技术的研究工作,包括定义“多端口路由器并发穿越测试法”(MPRC-TTM-Multi-Port Router Concurrent Transverse Test Method)、“多端口并发测试定义语言”(MP-CTDL-Multi-Port Concurrent Test Definition Language),和开发“分布式多端口并发测试系统”(DMC-TS-Distributed Multi-port Concurrent Test System)。DMC-TS由两部分组成:并发测试部分和多个双端口测试器部分,前者又可分为多端口并发测试控制器(MPC-TC-Multi-Port Concurrent Test Controller)和并发测试例支撑工具(如MP-CTDL编译器)。本论文反映的工作是并发测试例支撑工具,即MP-CTDL及其编译器。由于ISO 9646中定义的测试描述语言TTCN(Tree and Table Combined Notation)是面向单线程测试的,因此要描述多线程测试就需要多端口并发测试定义语言。本文提到的MP-CTDL是在其前一版本没有明确定义系统详细需求的情况下而定义的。对MP-CTDL的基本需求分为两类:并发测试控制(并发测试线程间的协调和同步)功能需求和路由器双端口宏观行为描述功能需求。本文的主要工作包括以下几点:a) MP-CTDL的需求分析。b)设计MP-CTDL框架,重点研究并发测试控制功能。c)探讨通过编译方式把MP-CTDL定义的测试例转换为机器语言(如C/C++)的可行性。d)通过用MP-CTDL编写并发测试示例来模拟测试过程,建立测试实验环境,验证编译方式的可操作性。论文的实验结果表明所定义的MP-CTDL语言及其部分编译功能达到了原设计目标,为后续开发工作奠定了基础。作为多端口并发测试管理器的测试支撑工具,MP-CTDL编译器为并发测试例编译和系统调试提供了初步手段。由于时间有限,双端口测试过程中的测试例宏观描述功能有待今后进一步去研究。

孙梅[6]2004年在《TTCN-3编译器的词法分析器和部分语义分析的设计与实现》文中研究说明协议是计算机网络的灵魂。协议一致性测试是用来验证计算机网络通信协议的实现与相应的协议标准之间的一致性,是确保各种计算机系统正确互连和互操作的关键。 TTCN-3是标准化测试规范语言,它具有先进的测试规范,是一种全新的测试描述语言,它不仅能实现一致性测试,而且可以对网络进行全方位测试。TTCN-3(Testing and Test Control Notation 3)[1]是一种基于文本的语言,在语法和语义上与通用高级编程语言很类似。它较以前的TTCN在形式上有较大的改变,在内容上结束了以前版本由于多次扩充而产生的概念混乱问题,统一了概念和定义,简化了表示。但同以前一样,使用TTCN-3描写的抽象测试程序不能直接执行,它需要经过相应的编译系统编译,然后才能在测试平台上执行。 TTCN-3测试平台的体系结构与以往主要进行一致性测试的测试平台有很大不同。作为网络测试的重要部分,TTCN-3编译系统和相应的测试平台在我国还是空白。由于以上原因,本文力图实现针对TTCN-3核心语言的编译器。整个编译器“以语法分析为主导,词法分析为子程序,采用语法制导翻译”。最终按TTCN-3虚拟机设计生成:头文件+驱动表+中间代码文件。在实现中,我们借助了编译构造工具Parser Generator,它是支持面向对象的词法构造和语法构造的集成工具。 本文按照面向对象的方法,给出了TTCN-3编译系统的整体设计思想,借助工具Parser Generator实现了TTCN-3的词法设计和部分语义设计,并且给出了相关的主要算法。

方峰[7]2008年在《基于TTCN-3的协议互操作性测试研究》文中研究指明协议一致性测试是检测被测系统是否能够正确实现协议标准中规定的功能,它并不能检测出被测系统与其他系统互连时的不正确性。互操作性测试则是检验被测系统与其他系统互操作的能力,是用来测试同一协议或同一类协议的不同实现版本之间互连、互通的能力。TTCN-3核心语言是欧洲电信标准协会(ETSI)在原有标准的基础上推出的一种新的测试描述语言,它应用范围不再局限于一致性测试。本文主要内容为基于TTCN-3的协议互操作性测试技术研究,探索使用TTCN-3核心语言实现协议的互操作性测试。本文根据TTCN-3语言的特性和互操作性测试的特点实现了两种互操作性测试方法,分布式的互操作性测试方法和并发TTCN-3的动态配置方法:(1)分布式的互操作性测试主要引入了分布式系统测试的方法,采用TTCN-3语言构建分布式系统中的上(下)测试器,解决测试过程中的N-1层数据通信中的监控问题以及各个测试组件的同步协调问题。(2)并发TTCN-3的动态配置方法是运用TTCN-3的并发特性,在协议互操作性测试时生成多个并行测试组件监听测试数据,协调测试系统中各个部分的同步过程。根据对互操作性测试方法的研究,文中给出了基于TTCN-3的协议互操作性测试方法的一般架构,介绍了架构中各个模块的具体功能和实现方法,说明了在该架构下对协议进行互操作性测试的流程和步骤。并通过对模拟的自动售货机和TCP协议的测试实验证明了这种架构的可行性。

李亚丽[8]2015年在《基于TTCN3的OpenFlow一致性验证方法及协议研究实现》文中认为现如今,SDN的出现使网络具备某种程度的“定义”能力,其具有的灵活性开始改变网络被动型的现状;网络能够主动地“处理”流量,而不单局限于被动“承载”流量,并使网络与计算机之间的关系不仅仅是“对接”,更是“交互”。SDN为现今业界的其中一门热门网络技术。而OpenFlow是SDN的一个网络协议,为SDN架构的南向接口,它将传统网络设备的数据转发与路由控制功能模块相分离,推动网络的革新与发展。网络协议是Internet中计算机之间进行信息交换所需的规则的集合。但是当前的协议往往是用自然语言表示的文本,不同设备供应商对协议标准的解读不同,所以协议的实现也会不尽相同,无法确保设备之间正常通信。因此,为了保证各厂商实现的协议与协议规范完美结合,这就需要根据协议规范进行“协议一致性测试”。本文系统的实现基于杭州华叁通信技术有限公司的内部通用测试平台VTP11.3.1,脚本编码语言使用TTCN3,并且采取PC机模拟Controller与交换机HP5900AF-48G-4XG-2QSFP+Switch互连的组网方式。本文在细致研究协议一致性测试工作机制和OpenFlow模块标准的基础上,论述了标准测试语言TTCN3的结构,设计并实现了TTCN3语言编码的OpenFlow协议一致性测试系统,并以此执行协议一致性测试。论文的主要工作内容有:首先,了解OpenFlow协议中Switch交换机和Controller控制器构成的网络的工作原理、报文交互以及报文封装格式,深入研究OpenFlow协议。其次,研究协议一致性测试的原理,并结合实际阐述协议一致性测试的过程;介绍TTCN3语言结构组成。然后,进行OpenFlow协议一致性测试中测试系统的分析与设计,分析测试系统的需求,设计测试用例、报文模板和过程函数。最后,用TTCN3脚本编码实现,执行脚本完成协议一致性测试,输出协议一致性测试报告。

张云[9]2009年在《TTCN-3数据编解码器的自动生成与实现》文中提出随着互联网和移动通信网的迅猛发展,下一代互联网协议和3G通信协议的产品层出不穷,而各种产品的开发离不开协议测试工具的检验。由欧洲电信标准协会ETSI(European TelecommunicationsStandards Institute)推出的测试和测试控制表示法第叁版TTCN-3(Testing and Test Control Notation 3rd version)已经成为协议测试的主流标准,主要用于协议的一致性测试和互操作性测试等等。编解码模块是TTCN-3标准系统中不可或缺的一部分。当工程师进行一致性测试工具开发时,需要根据具体的测试平台设计和实现编解码模块。只有正确的实现了编解码模块,TTCN-3标准测试工具才能正常的工作。目前,在工业界的TTCN-3测试IDE产品中,都给编解码器留有实现接口,但是具体的实现还需要工程师来完成。虽然可扩展性很好,但是加重了工程师的开发负担,使其不能专注于TTCN-3抽象测试脚本的编写上。这样不仅降低了测试工具的开发效率,还阻碍了TTCN-3测试语言的推广和发展。本文提出自动生成通用TTCN-3数据编解码器的思想,是对TTCN-3测试标准的探索和开拓。如果研究开发成功,并且应用于协议测试工业界,那么将极大的提升协议测试工具的开发效率,解放测试开发人员,并且推进TTCN-3标准和协议测试工业界的发展。本文重点研究了TTCN-3数据编解码器的自动生成技术,提出了通用TTCN-3数据编解码器的模型,并实现了比特流数据编解码器。本文基于Telelogic公司的测试平台TAU Tester进行开发。文中首先详细地介绍了TTCN-3标准系统、TAU Tester以及编译技术理论知识,然后根据课题的研究目标,详细设计了通用的TTCN-3数据编码解码器模型,并且给出了其中的比特流数据编码解码器的设计与实现,之后按照编译技术理论实现了TTCN-3语言的词法分析器和语法分析器,并且自动生成了编码解码器,最后给出了详细的验证结果。

邢学智[10]2010年在《基于TTCN-3语言的测试理论与技术研究》文中研究表明随着软件的飞速发展与普遍应用,软件质量已经变成重要的研究课题。软件测试是提高软件质量最直接,最有效,也是应用最广泛的方法之一[1]。关于软件测试,研究人员和业内人士一直梦想着[2]:统一的测试理论,100%测试自动化,基于测试的模型和高效的测试工程。当前,软件测试面临的难点有:测试管理的复杂性,测试环境的多样性,难以保证的测试完备性[3]。TTCN-3是ETSI(欧洲电信标准化组织)发布的针对测试领域的专用语言。它定义了很多特定抽象简洁的语言元素,有利于测试的分层,分工和复用,为高效的测试工程发展提供了很好的机制,为不同领域的测试提供了一个统一的测试框架,有利于统一的测试理论形成,有利于软件测试自动化推进,有利于测试模型的发展与应用。在概念上,TTCN-3为测试过程提供了很好的抽象与支持。当然,TTCN-3的测试解决方案,有赖于自身的进一步发展与完善。针对软件测试的叁个难点,本文研究了使用TTCN-3进行测试建模、测试分析、测试执行的理论和技术,提出了一个基于TTCN-3的测试框架。首先,用TTCN-3对抽象的测试对象和测试过程进行建模。然后,解析TTCN-3脚本,提取语义信息,建立起测试过程的可执行对象,接着,通过不同的测试对象适配器,完成对不同测试对象的测试过程。最后,在此基础上完成基于符号执行的分析技术和解释执行、翻译执行技术,改善了TTCN-3测试框架的可用性,提高了测试过程的自动化程度。本文的主要贡献如下:1.提出将测试共有特征向TTCN-3测试模型转换的方法,以及使用TTCN-3对GUI测试,Web测试进行建模的方法。由此将不同的测试过程,转换成统一的TTCN-3测试模型;将不同的测试实施过程,转换为统一的TTCN-3编译执行过程。2.详细论述了TTCN-3编译器的构造方法,提出了TTCN-3语言的符号执行技术,以及使用符号执行技术进行TTCN-3脚本正确性分析、测试输入自动生成的方法。3.详细论述了两种模式执行器(编译-编译-执行模式、虚拟机平台模式)的实现方法及其特点,并由此提出一个集成两种模式的执行器,提出了分析TTCN-3执行器性能的方法,并给出了相关数据。4.以Web测试,NFC测试为例,提出了通用编解码器框架,介绍了如何在大规模的工业测试中,应用本文提出的TTCN-3测试框架。

参考文献:

[1]. TTCN-3编译技术研究与实现[D]. 钱向红. 西南交通大学. 2004

[2]. 双端口测试器的可执行测试例生成系统研究与开发[D]. 曾飞. 西南交通大学. 2006

[3]. 多端口路由器并发测试技术研究[D]. 宋波. 西南交通大学. 2005

[4]. 基于Windows系统利用Parser Generator实现TTCN -3语言的语法分析器[D]. 闫健恩. 内蒙古大学. 2004

[5]. 多端口并发测试定义语言及其编译器的研究与设计[D]. 王楚义. 西南交通大学. 2007

[6]. TTCN-3编译器的词法分析器和部分语义分析的设计与实现[D]. 孙梅. 内蒙古大学. 2004

[7]. 基于TTCN-3的协议互操作性测试研究[D]. 方峰. 华中科技大学. 2008

[8]. 基于TTCN3的OpenFlow一致性验证方法及协议研究实现[D]. 李亚丽. 山东大学. 2015

[9]. TTCN-3数据编解码器的自动生成与实现[D]. 张云. 北京邮电大学. 2009

[10]. 基于TTCN-3语言的测试理论与技术研究[D]. 邢学智. 中国科学技术大学. 2010

标签:;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  

TTCN-3编译技术研究与实现
下载Doc文档

猜你喜欢