




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
研 究 生 学 位 论 文路由器双端口测试管理器研究与开发摘 要本论文的研究背景是路由器测试技术。多端口、高速性和既支持IPv6又支持IPv4是从IPv4向IPv6过渡的整个历史时期的特点。以ISO9646为代表的传统的路由器测试方法为单端口的“回绕测试法”(LTM)和双端口的“穿越测试法”(TTM),难以适应现代路由器多端口的特点;高速路由器的性能测试要求测试方法的高效性和端口间的同步协调,在LTM和TTM中都缺少相应的支持。所有这些就是四川省网络通信重点实验室(SC-Netcom Lab)提出“分布式多端口同步并行穿越测试法”(DMSP-TTM)和开发“多端口路由器分布式并发测试系统”(MPR-DCTS)的直接背景。目前仍处于开发阶段的路由器“分布式多端口并发测试系统”为两层结构:上层为路由器多端口测试管理器(RMPTM Router Multi-Port Test Manager),下层为路由器双端口测试器(RTPT Router Two-Port Tester)。RMPTM处理与路由器多端口测试相关问题(为多个RTPT配置相关测试控制数据,同步与协调多个RTPT的工作。RTPT支持LTM和TTM,既可以通过局域网实现层间系统的互联,构成分布式的多端口测试系统,也可以作为独立的测试系统完成双端口测试。本文所反映的工作重点是关于RTPT的“双端口测试管理器”(RTPTM)的研究与开发技术。RTPTM作为多端口测试的下层测试器管理器和独立的双端口测试管理器具有双重职责和双重功能:既是双端口测试的控制管理部件,又时对外接口与管理部件(作为独立测试系统时提供与测试操作员交互接口,作为多端口测试器的下级测试器,与多端口测试管理器接口接受其控制)。本论文的贡献可以概括为:A、对路由器双端口测试系统管理器的各功能模块进行了分析和详细设计,完成了对路由器双端口测试系统用户界面模块和测试例执行管理模块的开发。B、设计了“测试例选择规则表”(Test-case Selection-Rules Table TSRT)以简化测试选择管理和提高测试执行效率,分别提出了单状态协议和多状态协议测试例管理的一般性方法。C、讨论了路由器双端口测试系统与上层管理器的通信问题,为今后分布式多端口同步并行测试系统的开发奠定了初步的基础。关键词:多端口分布式同步并行穿越测试法(MDSP-TTM);路由器双端口测试系统管理器(RTPTM);测试例选择管理Abstract The background of this dissertation is router testing techniques. The main futures of modern router in the process of migrating from IPv4 to IPv6 are characterized by multi-ports, high-speed, and complication in supporting both IPv4 and IPv6. The orthodox test methods defined in ISO 9646, i.e. LTM (Loop-back Test Method) and TTM (Transverse Test Method) are not catered for such router testing. Performance testing for high-speed routers demands high-efficiency in testing as well as synchronization among multi-ports. All these have spurred the research activities at Sichuan Network Communication Key Laboratory (SC-Netcom Lab), which are represented by the novel test method called DMSP-TTM (Distributed Multi-port Synchronized Parallel TTM) and development of MPR-DCTS (Multi-Port Router Distributed Concurrent Test System). The distributed multi-port concurrent test system under development at SC-Netcom Lab takes a two-layer structure: the upper layer formed of the Router Multi-Port Test Manager (RMPTM) and the lower layer composed of multiple “Router Two-Port Testers (RTPT)”. RTPTM deals with multi-port test issues such as RTPT configuration, test case distribution, and synchronization among multiple RTPTs. RTPT on the other hand, supports both LTM and TTM and acts either as an independent test device or the low-layer device of the MPR-DCTS.The work presented in this dissertation is focused on techniques relevant to RTPTM (Router Two-Port Test Manager). The roles of an RTPTM in the MPR-DCTS are twofold: to act as the control and management entity for an RTPT, and to provide interface functions between RTPT and RTPTM in an MPR-DCTS or between RTPT and test operator when the RTPT works independently.The main contributions of this dissertation can be summarized as:A. Provisioning of a functional framework for RTPTM through detailed analysis and design, and implementation of user interface module and test case selection module.B. To improve test efficiency via dynamic test case selection according to test case execution result, a TSRT (Test-case Selection-Rules Table) is designed and generic test selection methods for single- state and multi-states protocols are provided.C. To provide a basis for future development of MPR-DCTS, communication issues between the RTPTM and the RMPTM are also provided.Keywords: MDSP-TTM (Multi-port Distributed Parallel Transverse Test Method, RTPTM (Router Two-Port Test Manager) Test Case selection 目 录摘 要IAbstractIII目 录V第1章 绪论11.1 论文的研究背景11.1.1 分布式多端口同步并行测试的意义11.1.2 分布式多端口同步并行测试系统41.1.3 路由器双端口测试系统51.2研究分布式多端口同步并行测试系统下双端口测试管理器的意义71.3 论文的组织结构81.4作者的工作与论文的贡献8第2章IP路由器双端口测试系统功能模块简介102.1路由器双端口测试系统的简介102.2路由器双端口测试系统功能模块简介112.2.1测试支撑工具112.2.2编解码器和支撑层适配模块122.2.3双端口测试管理器12第3章 路由器双端口测试系统管理器设计143.1双端口测试系统管理器的功能模块组成143.2双端口测试系统管理器的功能模块设计153.2.1 用户接口模块153.2.2 测试管理模块173.2.3 测试集/组/例管理模块193.2.4 日志记录模块193.2.4 测试结果分析与测试报告生成模块203.2.5与分布式多端口同步并行测试管理器接口213.2.6系统数据库22第4章 测试例执行管理234.1双端口测试器中的测试例执行管理234.1.1双端口测试器中测试例执行的过程234.1.2测试例执行管理的策略244.2单状态协议测试例的执行管理304.2.1 IPv6测试例的执行管理314.2.2单状态协议测试例执行管理的方法344.3多状态协议测试例的执行管理354.3.1 RIPng测试例的执行管理354.3.2 多状态协议测试例执行管理的方法38第5章 双端口测试系统与分布式多端口同步并行路由器测试系统接口的研究405.1 双端口测试系统与分布式多端口同步并行路由器测试系统接口的作用405.2 双端口测试系统与分布式多端口同步并行测试系统接口的设计415.2.1 双端口测试系统与分布式多端口同步并行路由器测试系统接口的数据格式415.2.2 双端口测试系统与分布式多端口同步并行路由器测试系统接口的功能模块设计42第6章 总结与展望446.1 小结446.2 展望44致 谢46参考文献47第1章 绪论1.1 论文的研究背景1.1.1 分布式多端口同步并行测试的研究背景以IPv4为基础的Internet在以文本为主体的应用环境中推动了计算机网络技术的发展和计算机网络在全球的广泛应用,极大的改变了人们的工作、学习、生活。但是,随着Internet的迅猛发展,用户数呈指数型增长,IPv4逐渐表现出地址匮乏的缺点;随着多媒体应用日益增加,用户数据更多地呈现面向连接服务的特征,用户数据流的速率不断提高(从Kbps数量级提高到Mbps数量级);服务质量(QoS)的需求也有了很大的变化,Internet尽其所能的服务面临着新的挑战。IPv61将IPv4地址长度由4字节扩展为16字节,解决了IP地址匮乏的问题44参考文献请按引用的先后次序标号!;对IP报头的简化,有利于提高对IP报文的处理速度45。NGI(Next-Generation Internet)2-3就是在这一背景下产生的。在Internet发展的同时,网络设备特别是在网络通信中发挥巨大作用的路由器,在技术、性能等方面都得到了长足发展。在这种背景下,路由器的测试问题就重新提高到议事日程。目前对路由器的测试主要有2个问题有待解决,一个是如何尽快把过去对以IPv4协议集的测试转入到对IPv6协议集的测试上,另一个问题是如何在测试中更好的模拟路由器的真实工作环境,以达到对其性能精确的测试。路由器实质上是由包括应用层协议在内的信令控制平面和管理平面的协议集和只有3层结构的用户数据传输平面构成的,因此相关的测试也必须包括分别对两个平面的协议进行Conformance测试。路由器或交换路由器是Internet中实现系统互联的多端口高速交换设备,目前主要是采用ISO9646规定的两种抽象测试法,即对单端口的“回绕测试法”(LTM - Loop-back Test Method)或对一对端口的“穿越测试法”(TTM - Transverse Test Method) 4-5。回绕测试法 测试器1测试器2被测路由器 中继功能图11 回绕测试法示意图 测试器被测路由器 中继功能图12 穿越测试法示意图和穿越测试法的示意图如图1-1和图1-2所示。对单端口的“回绕测试”或对一对端口的“穿越测试”都不能验证端口间的相互影响,特别是对于性能测试,其测试结果不能定量地界定路由器的实际工作性能,特别是难以考察系统在并发数据的实际运行环境中符合协议的程度和性能指标,因而目前的测试技术和系统所进行的测试是不完整的。现有的测试描述语言,包括欧洲的扩展描述语言TTCN-3在内,都没有提供一个完整的描述这类并发性的机制。为了解决这两个问题,笔者所在的四川省网络通信技术重点实验室根据过去的工作经验和研究基础,把网络协议测试技术的研究作为实验室的4个重点研究方向之一。相关的研究工作瞄准对路由器的“分布式多端口同步并行测试技术”的研究。迄今为止,国外尚未见以此为目标的系统出现。仅就IPv6协议本身的测试工作来看,目前国外的现有工作大体可分为两大类:单项测试系统开发和在现有IPv4网络环境上建立IPv6的互通性(Inter-operability)测试环境(即采用在IPv4之上利用隧道方式(Tunneling)41进行测试)。 建立测试环境(Test bed)的研究活动:主要研究实体有两类:IETF和网络公司(或大型网络运营者)。其中以IETF的“6 bone Project”6活动与本项工作相关密切。该专案的基本思想是:以现有的IPv4网络为基础,对IPv6进行“隧道”(Tunneling)测试24。从6bone近年的研究题目看,其重点在于尽快进行系统间的互通测试,在于研究如何以IPv4网络平台进行IPv6的实验;而并未全面开展对涉及IPv6的两类设备(端系统和中继系统)和3类测试目标(一致性、互通性和性能测试)进行全面的方法研究和测试系统的建设。 开发单机测试系统的活动:这类项目把测试系统的开发作为主要研究对象。开展这类研究的单位包括研究机构和测试设备开发厂家。前者可以美国NIST(原NBS)为代表,该研究所的信息技术实验室(ITL)从70年代末开始从事OSI协议的conformance test系统研究,主要采用技术为机内测试法(Local Test Method)和分布式测试法(Distributed Test Method),前一种方法测试功能强,但实施困难,只适合作为系统自我调试;后一种方法测试设备间的同步问题未得到解决。类似的工作还有HP测试仪和Compaq的测试软件,根据相关资料重点在互通测试与性能测试。这是端系统测试的实例,不是路由器测试系统。从80年代中期开始我国主要有下述单位涉足了网络协议测试技术研究和系统开发:中科院成都计算机应用研究所提出了“Ferry-clip Test Approach”7并以此为基础开发了针对OSI传送层协议的测试系统,并将该测试系统移置到微机之中。这也是端系统测试!在国家863项目支持下,中科院计算所研制开发出一套IPv6协议一致性测试系统8。从所发表文章来看,中科院项目IPv6CTS虽然能实现多端口测试,文中并未明确提出新的并行、并发测试方法。在解决同一测试系统如何实现对多个端口进行观测的问题上,该系统采用集线器作为接入路由器多端口的手段。集线器的共享特征使多端口测试实时控制较难,该文未讨论如何应用于性能测试和解决实时同步问题。从系统开发目标看,主要是否符合协议标准的测试(Conformance Test),而未涉及另外两类测试,即性能测试(Performance Test)和互通性测试(Interoperability Test)。此外,北京邮电大学的IPv6研究小组9、兰州大学IPv6试验床10也涉足建立试验系统和有关测试研究,主要采用的是基于IPv4的测试。国内关于协议测试技术的研究,在80年代中后期和90年代初中期有较多的单位开展。就IPv6协议测试而言,中科院计算机所发表有就IPv6中Neighbor Discovery协议及其测试方面的文章11。内蒙古大学计算机学院发表的基于PC的IPv6网络平台及其测试的探讨12文章谈到用PC组建IPv6网络,建立测试环境用于测试IPv6协议的问题。清华大学从近年发表的文章看,其工作主要是基于形式化技术研究13,有关IPv6路由器的测试的文章中提到多端口并行测试问题,但对如何解决并发性问题尚无文章。综上所述,国内外已有的对路由器并行测试的工作主要是基于TTCN-3的机制,在单机内建立测试系统。其局限性在于系统成本较高(需要使用小型机)、测试系统缺少灵活性和可移动性。前面似乎未提到TTCN-3,如何此处得出“综上所述”的结论?为了解决上述问题什么问题?为什么有联系到SUPANET?,四川省网络通信重点实验室开展了对IP路由器的分布式多端口同步并发测试系统展开了研究工作和系统开发工作,同时也是进一步为实验室研究的“单物理层用户数据传输平台体系结构网络”(SUPANET Single physical layer User-data transfer Platform Architecture Network) 42交换设备的测试作准备。1.1.2 分布式多端口同步并行穿越测试法和相关测试系统在解决上述问题的过程中,四川省网络通信重点实验室把主要的工作重心放在分布式多端口同步并发测试系统的设计与研发上,在研发的过程中,同时对相关的技术展开研究。针对现有的多端口路由器测试技术中存在的问题,笔者所在实验室提出了“分布式多端口同步并行穿越测试法”(DMSP-TTM - Distributed Multi-port Synchronized Parallel-TTM),并定义了并发多端口测试定义语言(CMP-TDLConcurrent Multi-port Test Definition Language)14-15。DMSP-TTM是基于以下应用需求提出的: 新的方法必须具备在多个端口的测试过程进行同步与协调能力,以便严格控制并行测试的过程。 支持对复杂的并行测试过程分解为并行测试过程的同步与协调和单个/单对端口的测试过程,以便简化并行测试的描述和最大限度地利用已有的单个/单对端口的测试集。 物理上能够将并行测试管理设备与便携或可移动的单个/单对端口测试器相分离,从而实现用物理上独立的相对便宜的多个设备组成测试能力更强的多端口同步并行测试系统。图1-3 DMSP-TTM测试法示意图图1-3即为DMSP-TTM测试法的简单描述。1.1.3 本论文研究的小背景路由器双端口测试器路由器双端口测试系统(RTPT Router Two-Port Tester)是路由器分布式多端口同步并发测试系统的基础测试部件。它既能够作为分布式路由器的多端口并发测试系统的底层测试器,也可以作为一个独立的路由器双端口测试系统16。图1-4就是路由器双端口测试系统的简图。从图中可以看出,路由器双端口测试器主要由路由器双端口测试管理器、测试支撑工具和测试数据组成。其中测试支撑工具包括图中所示的单测试例执行器(Test Case Traverser)、支撑层适配模块(即PDU 装/拆模块)、测试支撑层协议实现和编译器。笔者的工作就是围绕路由器双端口测试管理器展开的。 单测试例执行器(Test Case Traverser)图1-4 路由器双端口测试例系统简图 支持层适配模块(装拆被测层PDU) RTPTM (Router Two-Port Test Manager):路由器双端口测试管理器A. 用户接口模(User Interface Module): 用户操作界面图形化测试过程动态显示模块+系统初始化模块可执行测试集:ETS Executable Test Suite + Encoder/DecoderB.测试例/组管理模块:静态与动态测试例、组选择)测试集、测试组选择测试例选择与测试同步信息、测试例指派与分发、测试例结论测试例调用、已编码的PDU融入测试例中的PDU解码器中。C.测试结果分析与测试报告生成模块 测试支持层协议实现:1) 测试IPv6:为IPv4或数据链路层2) 测试应用层:UDP3) 信控平面与用户平面联合测试:都需要并发测试配置命令、同步、测试中间结果被测PDU流、命令流和测试结论记录。支持层PDU数据流记录模块:测试后进行分析用。至分布式多端口同步并行测试系统抽象测试集(用TTCN-3语言描述)1、TTCNC编译2、C机器代码编译DE1.2本论文研究对象双端口测试管理器路由器双端口测试器是路由器分布式多端口同步并行测试系统的基础测试部件,一方面它是实现分布式多端口同步并行测试的基础,另一方面它也可以脱离分布式多端口同步并行测试系统对双端口或单个端口进行测试。所以在进行路由器双端口测试管理器的设计时,就要兼顾路由器双端口测试器的这两个特点。在路由器双端口测试管理器中,有一个重要模块双端口测试器与分布式多端口同步并行路由器测试系统的接口,该模块是双端口测试系统与路由器分布式多端口同步并行测试系统间通信的桥梁。两者之间的通信使进行分布式多端口同步并行测试的各个双端口测试器可以同步协调工作,同时也使分布式多端口同步并行测试管理器可以汇总各个双端口测试器的测试结果16。避开分布式多端口同步并行测试技术不谈,就双端口测试器本身来说,目前就这方面的研究与设计主要是针对某一特定测试任务来进行的22-23,当测试任务改变时往往需要重新设计、开发测试系统。这使测试系统缺乏灵活性和通用性。因此在设计双端口测试系统时,其设计目标包括:既能够作为路由器分布式多端口同步并行测试系统的底层测试器,也可以作为一个独立的路由器双端口测试系统;既能够对路由器中的单个协议实现进行测试,也能够在多个协议的配合下进行联合测试;既支持穿越测试法,也支持回绕测试法;既支持按事先确定的测试例执行顺序进行测试,也具备根据测试例执行结果,动态地选择执行测试例,即根据协议特点和测试例执行结果跳过不需要再执行的测试例。双端口测试管理器是双端口测试系统的核心组成部分。它对上实现测试终端(双端口测试器)和分布式多端口同步并行测试系统的通信;对下完成系统配置、测试例执行管理、测试过程监视和记录、测试过程管理控制、初步测试报告的生成;在停止测试的状况下,进一步为人工分析测试结果和形成最终的测试报告提供支持。整个测试系统的各模块在测试管理器的管理下,有序协调的进行工作。综上所述,笔者对双端口测试管理器的研究与设计为整个系统的实现打下了良好基础。1.3 论文的组织结构本论文的后续章节内容与组织结构如下:第2章针对双端口测试系统的特点,介绍路由器双端口测试系统的三大部件:测试支撑工具、编/解码器与支撑层适配模块、双端口测试管理器。第3章主要介绍笔者对双端口测试管理器的各个功能模块的设计。这是开发双端口测试管理器的基础。第4章探讨对测试例执行的管理。一方面探讨了测试例执行管理的一般性方法;另一方面以IPv6基本描述协议和RIPng协议的测试例执行管理为例,分别探讨了对单状态和多状态协议测试例执行的管理方法。第5章探讨了双端口测试系统与分布式多端口同步并行路由器测试系统的接口设计,提出了两个测试系统之间通信的办法。最后,第6章在对论文工作进行总结的基础上,对后续研究工作进行了分析和展望。1.4作者的工作与论文的贡献作者在西南交通大学网络通信技术省重点实验室承担的主要工作是对路由器双端口测试管理器的研究与开发并探讨了双端口测试系统与上层分布式多端口同步并行测试系统的通信方法。作者的主要工作包括以下几个方面:对路由器双端口测试管理器的各个功能模块进行了详细设计;针对测试例执行管理设计了测试例执行规则表(Testcase Executing Rules Table TERT),提出了测试例执行管理的一般性方法;以IPv6基本描述协议和RIPng协议的测试例执行管理为例,探讨了对单状态和多状态协议测试例执行的管理方法;探讨了双端口测试系统与分布式多端口同步并行路由器测试系统之间通信的办法第2章IP路由器双端口测试系统功能模块简介2.1路由器双端口测试系统的简介测试例执行开始从分布式多端口同步并行测试系统接收测试数据和测试命令测试管理模块生成测试例执行序列,初始化系统测试管理模块指示执行测试序列中第一个测试例漫游器执行测试例,编/解码器装配数据和支撑层适配模块收发数据测试管理器将已执行测试例脱离执行序列,判断执行序列是否为空测试执行序列不为空测试结束测试执行序列为空日志记录模块记录被测PDU流和支撑层PDU流向分布式多端口同步并行测试系统发送测试数据图2-1路由器双端口测试系统业务流程图路由器双端口测试系统在分布式多端口同步并行测试系统中身兼两职。既是分布式多端口同步并行测试系统的基础测试模块,也可以作为独立的测试工具使用。因此在对其进行设计时,既要考虑到它与上层测试管理器的通信,也要考虑其作为独立测试系统所应具备的能力。图2-1描述的是路由器双端口测试系统的业务流程。从图中可以看出,双端口测试系统的测试工作是从分布式多端口同步并行测试系统接收测试初始化数据和测试命令开始,至所有的测试例执行完毕而结束。期间,双端口测试系统还需要完成对测试例执行进行管理、记录测试数据、向分布式多端口同步并行测试系统发送测试数据等工作。作为分布式多端口同步并行测试系统中的测试端,双端口测试系统是整个分布式系统测试的基础;同时它自己也有用户界面,因此用户可以直接使用双端口测试例系统对路由器的单个或一对端口进行测试。通过执行不同测试例,双端口测试系统可以灵活的进行不同的测试任务。通过对测试例执行的管理,双端口测试例系统可以优化测试,提高系统工作效率。2.2路由器双端口测试系统功能模块简介2.2.1测试支撑工具测试支撑工具由图1-4中的测试定义语言TTCN-3的编译器和C编译器组成。TTCN-3是ISO9646定义的半形式化描述语言TTCN(Trees and Tabular Combined Notation)的改进版。TTCN-317被重新解释为“Testing and Test Control Notation Version 3”的缩写,它在同一测试系统引入了多个并行的测试控制单元和单元间同步的概念。为了适应多端口同步并行测试,实验室开发组还定义了并发多端口测试描述语言(Concurrent Multi-Port Test Definition Language-CMPTDL)49。这样,就整个分布式系统来说,测试支撑工具还应该包括CMPTDL的编译器18。TTCN-3描述的测试例虽然具有标准性、通用性和不同开发者定义的测试例可互换等优点,但TTCN-3描述的测试例尚不能直接在测试系统中运行,必须通过解释或编译的方式才可以转换为机器代码。出于对未来高速路由器的多端口同步并行测试考虑,对测试例执行效率要求较高,因此在笔者涉及的测试系统开发中采用了编译方式19。在编译器中还整合了一个功能模块单测试例执行器(Traverser)。单测试例执行器主要是在收到测试管理器执行何测试例的命令后,具体负责驱动一个测试例中每一个测试步的执行。2.2.2编解码器和支撑层适配模块编解码器和支撑层适配模块(如图1-4所示)是衔接可执行测试集,实现被测PDU和支撑层PDU双向数据翻译转换的工具。它们一方面将被测PDU流编码成相应支撑层环境所能识别的支撑层PDU,另一方面将来自支撑层的PDU进行相应的协议解码,并配合收发数据包模块实现可执行测试集所描述的测试系统PDU数据流动,同时也为各项PDU数据流记录、测试结果分析提供数据接口20。这里特别需要说明的是编译器、编解码器与支撑层适配模块,在概念上是独立的功能模块,但在系统的实际设计与开发中是被联合编译进“可执行测试例”(ETC Executable Test Case)之中的。在双端口测试例管理器看来,每一个测试例都按照的一个命名规则编译成了一个函数,执行一个测试例只要调用相应的函数就可以了。而所有的可执行测试例作为一个函数库,成为测试系统代码实现的一部分。2.2.3双端口测试管理器路由器双端口测试管理器是测试系统的核心部件,同时也是笔者研究与开发的对象。它在整个分布式系统中实现测试终端和分布式多端口同步并行测试管理器的通信;独立出与分布式系统,测试器自身也可以使路由器双端口测试系统成为一个完整的测试系统。笔者根据其功能,把双端口测试管理器划分为以下功能模块: 用户接口模块 测试管理模块 测试集/组/例管理模块 日志记录模块 测试结果分析与测试报告生成模块 与分布式多端口同步并行测试管理器接口 系统数据库本章是关于双端口测试系统的介绍,所以双端口测试管理器各功能模块的详细设计,将留在下一章介绍,这里不再赘述。第3章 路由器双端口测试系统管理器设计3.1双端口测试系统管理器的功能模块组成在路由器双端口测试系统中,除了双端口测试管理器外,还有许多其他功能模块,如何让各个模块融合在一起协调工作?在大多数测试活动中,执行的测试例远超过一个,如何对这些测试中执行的测试例进行合理管理?这些问题都是路由器双端口测试系统管理器设计时,需要考虑的问题。笔者在路由器双端口测试系统管理器的设计与开发中,根据分布式多端口同步并行测试系统的要求以及路由器双端口测试系统本身亦可作为独立测试系统的要求,对双端口测试系统管理器的功能模块做了以下划分: 与分布式多端口同步并行测试管理器接口模块 用户接口模块 测试管理模块 测试集/组/例管理模块 日志记录模块 测试结果分析与测试报告生成模块 系统数据库与分布式多端口同步并行测试管理器接口模块是路由器双端口测试系统能够成为分布式测试系统测试基础模块的关键。它接收分布式多端口同步并行测试系统的测试命令和测试初始化数据,同时也把每个测试例执行的结果以及产生的相关数据传输给上层分布式测试系统管理器。因此可以说,如果没有与分布式多端口同步并行测试管理器接口模块,整个分布式式系统无法协调同步工作。用户接口模块和系统数据库的设计是基于双端口测试系统可以作为独立测试系统的考虑。这是因为,在分布式多端口同步并行测试系统管理器端有分布式系统的用户接口模块和整个系统的数据库。如果双端口测试系统只是作为分布式系统的一个模块,在其测试器中则无需设计用户接口模块和系统数据库。但是,基于双端口测试系统脱离分布式系统也可以成为独立测试系统的考虑,在双端口测试系统管理中,也必须加入这两个模块。3.2双端口测试系统管理器的功能模块设计3.2.1 用户接口模块如上节所述,在双端口测试系统中设计用户接口模块,主要是基于该测试系统能够自成独立系统的考虑,同时它的设计与开发,也为上层分布式多端口同步并行测试系统中用户接口的设计提供了可借鉴经验。用户接口模块的主体功能:生成用户界面;向测试管理模块传送用户数据;显示测试数据。根据其功能,笔者把该模块划分为三个子模块: 用户界面生成模块 测试数据传输模块 测试数据显示模块用户接口模块用户界面生成模块测试数据传输模块测试数据显示模块测试管理模块系统数据库图3-1 用户接口模块数据流图“用户界面生成模块”用于在显示终端生成完整的用户界面,以利于用户输入信息、控制测试和浏览结果。其中用户界面包括“测试控制”、“显示”、“日志”、“帮助”四个下拉菜单。测试控制菜单:包括“新建测试”、“开始测试”、“中止测试”命令。“新建测试”命令,由向导指引用户新建一个测试项目。“自动测试”项目只需要用户选择进行何种测试和输入测试参数即可由系统自动完成测试;“自定义测试”项目需要用户自行选择测试例和输入测试参数。“开始测试”命令用于在测试系统准备就绪后通知系统开始测试。“中止测试”命令用于测试过程中强行中止测试。显示菜单:可在通过此菜单选择显示或关闭那些窗口。日志菜单:包括“保存测试日志”、“保存测试报告”、“载入测试日志”、“载入测试报告”命令。用户使用这些命令可以将测试日志和测试报告保存为文件,也可以从文件中读出以前保存的测试日志和测试报告。帮助菜单:提供帮助系统和软件版本号。“测试数据传输模块”用于在用户接口模块内部的子模块间或与其他模块进行数据传输。主要的数据传输流程如图3-1所示:1)将用户通过用户界面输入的测试数据,传送到测试管理模块2)将用户输入的测试系统参数存入系统数据库。测试系统参数包括测试对象和测试端口的IP地址,如果数据链路层为以太网,则还包括MAC地址的配置等。因为经编译器编译形成的可执行测试例是通用测试例,对于具体的测试环境并不能预知。所以需要用户在测试之间输入测试配置信息,并由测试数据传输模块存入系统数据库。当测试例执行时,需要相关的测试配置信息就可以直接从系统数据库中读取。3)从系统数据库中读出测试过程中产生的数据,并交由测试数据显示模块显示。这些测试过程中产生的数据包括各测试例执行结果、被测PDU数据流、支撑层PDU数据流等“测试数据显示模块”用于在用户界面显示测试过程中产生的数据。在测试进行期间动态显示每一个测试例执行的情况;测试例全部执行完毕后,显示测试报告。所以其数据流如图3-1所示,从测试数据传输模块接收数据,将数据处理后,交由用户界面生成模块显示在测试终端的显示设备上。3.2.2 测试管理模块路由器双端口测试系统的测试管理器的作用是协调管理双端口测试系统中各模块的工作,而在测试管理器内部,起协调管理作用的则是测试管理模块。测试管理模块的主体功能是协调系统各模块工作;调度各测试例按照适当顺序执行。测试管理模块用户接口模块测试初始化模块测试例执行管理模块测试集/组/例管理模块漫游器系统数据库测试结果分析与测试报告生成模块图3-2测试管理模块数据流图如图3-2所示,测试例管理模块几乎与测试管理器的其余模块都有数据通信,可见其在测试管理器中管理协调其他模块的作用。根据测试例管理模块的功能,笔者将其划分为测试初始化模块和测试例执行管理模块。“测试初始化模块”用于在测试初始化阶段从用户接口模块接收用户输入的测试数据;调用测试集/组/例管理模块生成测试所需的测试例执行序列;根据用户需求和测试系统要求完成测试系统的初始化工作。“测试例执行模块”用于调度测试例的执行。按照测试例执行序列的顺序驱动漫游器逐个执行测试例;测试进行过程中,记录测试例执行结果并写入系统数据库,调用测试集/组/例管理模块对测试例执行进行管理;测试例全部执行完毕后,驱动测试结果分析与测试报告生成模块进行结果分析并生成测试报告。3.2.3 测试集/组/例管理模块测试集/组/例管理模块的功能是对测试例的执行按照一定的规则进行管理。它的主要工作是在测试例初始化阶段,将一个测试项目所有需执行的测试例排列成一个测试例执行序列,序列中测试例的顺序根据测试例之间关系确定;在测试进行中,对测试例执行序列进行动态管理。有关与测试例执行管理的具体方法,是双端口测试管理器中主要需要解决的问题之一,因此有关于测试例执行管理的规则,笔者在本章之后,将用一个专门的章节进行讨论。这个规则就是测试集/组/例管理模块工作的主要依据。3.2.4 日志记录模块在测试过程中,双端口测试管理器需要对每个测试例执行时产生的被测PDU数据流和支撑层PDU数据流进行记录。在某些情况下,由于各种原因,部分测试例的结果可能为“不确定”(inconc),这时可能需要通过对测试结果进行人工分析,参考对被测PDU数据流和支撑层PDU数据流的记录,得出补充结论或设计新的测试例来进一步证实相关功能的测试结果。此外,实际测试中可能出现测试结果的正确与否与支撑层的行为有关的情况,这就是为什么保存支撑层PDU数据流的原因。通过分析支撑层PDU数据流可能有助于进一步确定被测层出现的问题16。笔者根据日志记录模块的功能,该模块按其所记录数据的类型,直接将日志记录模块划分成: 被测PDU流记录模块 支撑层PDU流记录模块如图3-3所示,日志记录模块在编解码器和支撑层适配模块和系统数据库之间进行数据传输。日志记录模块被测PDU流记录模块支撑层PDU流记录模块系统数据库编解码器和支撑层适配模块图3-3日志记录模块数据流图3.2.4 测试结果分析与测试报告生成模块简单说来测试结果分析与测试报告生成模块的功能就是分析每个测试例执行的结果,并生成测试报告。“测试结果分析模块”从系统数据库中读出每个测试例执行结果的记录,分析测试结果,得出测试结论,交用户接口模块,通过用户界面显示。“测试报告生成模块”根据各个测试例执行的结果,生成测试报告,把测试报告交用户接口模块,通过用户界面显示。测试报告应包括一些统计数据,例如本次测试执行的测试例总数,有多少通过,多少失败,多少不确定。一致性测试的测试报告还应指出被测路由器实现了那些协议功能,那些协议功能没有实现;性能测试的测试报告则列出被测路由器经测试得出的吞吐率、延迟、帧/包丢失率、帧/包突发量等21各项性能指标。图3-4所描述的就是测试结果分析与测试报告生成模块的数据流图。在图中可以清楚地看到,在测试结束后,测试结果分析与测试报告生成模块只需直接从系统数据库中读取各测试例执行的结果和相关的测试数据就可以得出测试结果和测试报告。测试结果分析与测试报告生成模块测试结果分析模块测试报告生成模块系统数据库用户接口模块图3-4 测试结果分析与测试报告生成模块数据流图3.2.5与分布式多端口同步并行测试管理器接口与分布式多端口同步并行测试管理器接口主要负责和上层的分布式多端口同步并行测试系统管理器进行通信。当双端口测试系统作为下层测试端工作时,必须从分布式多端口同步并行测试系统的管理器接收测试命令,分布式系统的双端口测试系统才能够同步并行的进行多端口的测试工作。此外,在进行分布式多端口同步并行测试时,用户在上层的分布式多端口同步并行测试系统的管理器端进行操作,因此测试配置等数据是在分布式系统的上层端输入的,这些测试配置的数据也必须通过由上层测试管理器发出,通过双端口测试系统与分布式多端口同步并行测试管理器的接口来接收。因此,进行分布式多端口同步并行测试时,双端口测试系统的用户接口模块将蜕化为单一的显示终端。有关于在与分布式多端口同步并行测试管理器接口模块中,两个测试系统之间具体是如何进行通信的将在后继的章节中给予详细介绍。3.2.6系统数据库 测试系统中的大量数据(Logging Files, Test Suite/Group/Case, Test Report等)都是以文字文件或程序文件形式出现的,使用数据库管理系统还是文件管理系统需要斟酌。这一段内容太空,应有分析并提供基本组成思路或初步框架。在分布式多端口同步并行测试系统中,上层管理器端有一个总系统数据库,下层的若干个双端口测试系统都可以共享其中的数据。笔者之所以要在双端口测试系统中也建立其自有数据库主要是基于两方面的考虑:1)双端口测试系统是一个独立的测试系统,所以应当有其自带的数据库以存储测试系统参数、测试数据等2)当双端口测试系统作为分布式测试系统一部分时,有些在测试中经常用到的数据,不宜频繁从上层的总系统数据库中读取,所以双端口测试系统带有自己的数据库也是基于整个系统运行高效、稳定的考虑。在双端口测试系统的数据库中有静态和动态两种数据。静态数据在测试过程中始终不会变化,它就像软件的代码一样,作为测试系统软件的一部分。这类数据主要是测试例执行管理的规则,在后继章节将会详细介绍。动态数据则是上面提到的测试系统参数、测试例执行结果、被测PDU流记录、支撑层PDU流记录等。这些数据在每次测试时都会因为测试系统配置和所执行的测试例改变而改变。第4章 测试例执行管理4.1双端口测试器中的测试例执行管理前面章节已经介绍过,在分布式多端口同步并行路由器测试系统中,测试工作主要是通过执行相关测试例来进行的。在此过程中,测试例可以与被测路由器进行数据通信并通过收到的数据判定测试例执行的结果。所有测试例的执行都是在分布式多端口同步并行测试管理器的协调下,由若干双端口测试器来执行的。所以,分布式多端口同步并行路由器测试系统中,对测试例的执行管理就显得格外重要。在测试例的具体执行者双端口测试器中,由双端口测试系统管理器具体对测试例的执行进行管理。当单个双端口路由器独立进行测试时,情况也是如此。如果我们在设计双端口测试系统管理器时,对测试例管理规则进行合理有效的设计,就能提高测试例执行的效率,进而提高整个测试系统的性能。4.1.1双端口测试器中测试例执行的过程verdict G1_GS1_BV001( )图41 测试例函数RTPT实际调用的测试例是用TTCN-3编写的测试例,首先将经TTCN-3/C编译器生成C/C代码,通过与编解码器(E/D)和单测试例游历程序(Test Case Traverser)的C代码联合进行C编译后形成的可执行程序。按照系统开发各小组之间的约定,负责编译器开发的小组把每个测试例编译成一个函数,并
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 东莞社区消防培训课件
- 三基培训课件输血
- 涉外知识产权培训总结课件
- 课件制作网络培训证书
- 超市员工岗前培训课件
- Nicotinic-acid-riboside-d4-生命科学试剂-MCE
- 4-Nitrochalcone-2-4-Nitrobenzylidene-acetophenone-生命科学试剂-MCE
- 消防贴条知识培训内容课件
- 新零售模式下通信设备行业用户画像与需求分析-洞察及研究
- 车辆安全操作培训课件
- 中医诊断学中的舌象与脉象在诊断中的应用
- 弓箭射击的精准武艺
- 创新教学方法:提升学习效果培训课件
- 高频电灼仪产品技术要求深圳半岛医疗
- 项目幕墙施工方案
- (完整word版)劳动合同书(电子版)正规范本(通用版)
- 我这样做老师
- 垃圾焚烧发电项目电气安装与调试施工方案
- 枣庄市专业技术人员继续教育公需科目2021年度补考题库及卫生专科课题库
- 高考作文答题卡(作文)
- GB/T 3921-2008纺织品色牢度试验耐皂洗色牢度
评论
0/150
提交评论