《路由器双端口测试管理器研究与开发硕士论文.doc》由会员分享,可在线阅读,更多相关《路由器双端口测试管理器研究与开发硕士论文.doc(56页珍藏版)》请在三一办公上搜索。
1、西 南 交 通 大 学研 究 生 学 位 论 文路由器双端口测试管理器研究与开发Classified Index: TP393Southwest Jiaotong UniversityMaster Degree ThesisRESEARCH AND DEVELOP ON TWO-PORT TEST SYSTEM UNDER ROUTER DISTRIBUTED MULTI-PORT SYNCHRONIZED PARALLEL TESTGrade: 2002 Candidate: Yang YangAcademic Degree Applied for: MasterMajor: Compute
2、r ApplicationSupervisor: Prof. Zeng HuashenJuly 2005摘 要本论文的研究背景是路由器测试技术。多端口、高速性和既支持IPv6又支持IPv4是从IPv4向IPv6过渡的整个历史时期的特点。以ISO9646为代表的传统的路由器测试方法为单端口的“回绕测试法”(LTM)和双端口的“穿越测试法”(TTM),难以适应现代路由器多端口的特点;高速路由器的性能测试要求测试方法的高效性和端口间的同步协调,在LTM和TTM中都缺少相应的支持。所有这些就是四川省网络通信重点实验室(SC-Netcom Lab)提出“分布式多端口同步并行穿越测试法”(DMSP-TTM
3、)和开发“多端口路由器分布式并发测试系统”(MPR-DCTS)的直接背景。目前仍处于开发阶段的路由器“分布式多端口并发测试系统”为两层结构:上层为路由器多端口测试管理器(RMPTM Router Multi-Port Test Manager),下层为路由器双端口测试器(RTPT Router Two-Port Tester)。RMPTM处理与路由器多端口测试相关问题(为多个RTPT配置相关测试控制数据,同步与协调多个RTPT的工作。RTPT支持LTM和TTM,既可以通过局域网实现层间系统的互联,构成分布式的多端口测试系统,也可以作为独立的测试系统完成双端口测试。本文所反映的工作重点是关于RT
4、PT的“双端口测试管理器”(RTPTM)的研究与开发技术。RTPTM作为多端口测试的下层测试器管理器和独立的双端口测试管理器具有双重职责和双重功能:既是双端口测试的控制管理部件,又时对外接口与管理部件(作为独立测试系统时提供与测试操作员交互接口,作为多端口测试器的下级测试器,与多端口测试管理器接口接受其控制)。本论文的贡献可以概括为:A、对路由器双端口测试系统管理器的各功能模块进行了分析和详细设计,完成了对路由器双端口测试系统用户界面模块和测试例执行管理模块的开发。B、设计了“测试例选择规则表”(Test-case Selection-Rules Table TSRT)以简化测试选择管理和提高
5、测试执行效率,分别提出了单状态协议和多状态协议测试例管理的一般性方法。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 I
6、Pv6 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 de
7、mands 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
8、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
9、 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
10、 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
11、 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 select
12、ion 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 develop
13、ment 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 分布式多端口同步并
14、行测试系统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 测试集/组/例管理模
15、块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章 双端口测试系统与分布式多端口同步并行路由器测试系统
16、接口的研究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在以文本为主体的应用环境中推动了计算机网络技术的发展和计算机网络在全球的广泛应用,极大的改变了
17、人们的工作、学习、生活。但是,随着Internet的迅猛发展,用户数呈指数型增长,IPv4逐渐表现出地址匮乏的缺点;随着多媒体应用日益增加,用户数据更多地呈现面向连接服务的特征,用户数据流的速率不断提高(从Kbps数量级提高到Mbps数量级);服务质量(QoS)的需求也有了很大的变化,Internet尽其所能的服务面临着新的挑战。IPv61将IPv4地址长度由4字节扩展为16字节,解决了IP地址匮乏的问题44参考文献请按引用的先后次序标号!;对IP报头的简化,有利于提高对IP报文的处理速度45。NGI(Next-Generation Internet)2-3就是在这一背景下产生的。在Inter
18、net发展的同时,网络设备特别是在网络通信中发挥巨大作用的路由器,在技术、性能等方面都得到了长足发展。在这种背景下,路由器的测试问题就重新提高到议事日程。目前对路由器的测试主要有2个问题有待解决,一个是如何尽快把过去对以IPv4协议集的测试转入到对IPv6协议集的测试上,另一个问题是如何在测试中更好的模拟路由器的真实工作环境,以达到对其性能精确的测试。路由器实质上是由包括应用层协议在内的信令控制平面和管理平面的协议集和只有3层结构的用户数据传输平面构成的,因此相关的测试也必须包括分别对两个平面的协议进行Conformance测试。路由器或交换路由器是Internet中实现系统互联的多端口高速交
19、换设备,目前主要是采用ISO9646规定的两种抽象测试法,即对单端口的“回绕测试法”(LTM - Loop-back Test Method)或对一对端口的“穿越测试法”(TTM - Transverse Test Method) 4-5。回绕测试法 测试器1测试器2被测路由器 中继功能图11 回绕测试法示意图 测试器被测路由器 中继功能图12 穿越测试法示意图和穿越测试法的示意图如图1-1和图1-2所示。对单端口的“回绕测试”或对一对端口的“穿越测试”都不能验证端口间的相互影响,特别是对于性能测试,其测试结果不能定量地界定路由器的实际工作性能,特别是难以考察系统在并发数据的实际运行环境中符合
20、协议的程度和性能指标,因而目前的测试技术和系统所进行的测试是不完整的。现有的测试描述语言,包括欧洲的扩展描述语言TTCN-3在内,都没有提供一个完整的描述这类并发性的机制。为了解决这两个问题,笔者所在的四川省网络通信技术重点实验室根据过去的工作经验和研究基础,把网络协议测试技术的研究作为实验室的4个重点研究方向之一。相关的研究工作瞄准对路由器的“分布式多端口同步并行测试技术”的研究。迄今为止,国外尚未见以此为目标的系统出现。仅就IPv6协议本身的测试工作来看,目前国外的现有工作大体可分为两大类:单项测试系统开发和在现有IPv4网络环境上建立IPv6的互通性(Inter-operability)
21、测试环境(即采用在IPv4之上利用隧道方式(Tunneling)41进行测试)。 建立测试环境(Test bed)的研究活动:主要研究实体有两类:IETF和网络公司(或大型网络运营者)。其中以IETF的“6 bone Project”6活动与本项工作相关密切。该专案的基本思想是:以现有的IPv4网络为基础,对IPv6进行“隧道”(Tunneling)测试24。从6bone近年的研究题目看,其重点在于尽快进行系统间的互通测试,在于研究如何以IPv4网络平台进行IPv6的实验;而并未全面开展对涉及IPv6的两类设备(端系统和中继系统)和3类测试目标(一致性、互通性和性能测试)进行全面的方法研究和测
22、试系统的建设。 开发单机测试系统的活动:这类项目把测试系统的开发作为主要研究对象。开展这类研究的单位包括研究机构和测试设备开发厂家。前者可以美国NIST(原NBS)为代表,该研究所的信息技术实验室(ITL)从70年代末开始从事OSI协议的conformance test系统研究,主要采用技术为机内测试法(Local Test Method)和分布式测试法(Distributed Test Method),前一种方法测试功能强,但实施困难,只适合作为系统自我调试;后一种方法测试设备间的同步问题未得到解决。类似的工作还有HP测试仪和Compaq的测试软件,根据相关资料重点在互通测试与性能测试。这是
23、端系统测试的实例,不是路由器测试系统。从80年代中期开始我国主要有下述单位涉足了网络协议测试技术研究和系统开发:中科院成都计算机应用研究所提出了“Ferry-clip Test Approach”7并以此为基础开发了针对OSI传送层协议的测试系统,并将该测试系统移置到微机之中。这也是端系统测试!在国家863项目支持下,中科院计算所研制开发出一套IPv6协议一致性测试系统8。从所发表文章来看,中科院项目IPv6CTS虽然能实现多端口测试,文中并未明确提出新的并行、并发测试方法。在解决同一测试系统如何实现对多个端口进行观测的问题上,该系统采用集线器作为接入路由器多端口的手段。集线器的共享特征使多端
24、口测试实时控制较难,该文未讨论如何应用于性能测试和解决实时同步问题。从系统开发目标看,主要是否符合协议标准的测试(Conformance Test),而未涉及另外两类测试,即性能测试(Performance Test)和互通性测试(Interoperability Test)。此外,北京邮电大学的IPv6研究小组9、兰州大学IPv6试验床10也涉足建立试验系统和有关测试研究,主要采用的是基于IPv4的测试。国内关于协议测试技术的研究,在80年代中后期和90年代初中期有较多的单位开展。就IPv6协议测试而言,中科院计算机所发表有就IPv6中Neighbor Discovery协议及其测试方面的文
25、章11。内蒙古大学计算机学院发表的基于PC的IPv6网络平台及其测试的探讨12文章谈到用PC组建IPv6网络,建立测试环境用于测试IPv6协议的问题。清华大学从近年发表的文章看,其工作主要是基于形式化技术研究13,有关IPv6路由器的测试的文章中提到多端口并行测试问题,但对如何解决并发性问题尚无文章。综上所述,国内外已有的对路由器并行测试的工作主要是基于TTCN-3的机制,在单机内建立测试系统。其局限性在于系统成本较高(需要使用小型机)、测试系统缺少灵活性和可移动性。前面似乎未提到TTCN-3,如何此处得出“综上所述”的结论?为了解决上述问题什么问题?为什么有联系到SUPANET?,四川省网络
26、通信重点实验室开展了对IP路由器的分布式多端口同步并发测试系统展开了研究工作和系统开发工作,同时也是进一步为实验室研究的“单物理层用户数据传输平台体系结构网络”(SUPANET Single physical layer User-data transfer Platform Architecture Network) 42交换设备的测试作准备。1.1.2 分布式多端口同步并行穿越测试法和相关测试系统在解决上述问题的过程中,四川省网络通信重点实验室把主要的工作重心放在分布式多端口同步并发测试系统的设计与研发上,在研发的过程中,同时对相关的技术展开研究。针对现有的多端口路由器测试技术中存在的问题
27、,笔者所在实验室提出了“分布式多端口同步并行穿越测试法”(DMSP-TTM - Distributed Multi-port Synchronized Parallel-TTM),并定义了并发多端口测试定义语言(CMP-TDLConcurrent Multi-port Test Definition Language)14-15。DMSP-TTM是基于以下应用需求提出的: 新的方法必须具备在多个端口的测试过程进行同步与协调能力,以便严格控制并行测试的过程。 支持对复杂的并行测试过程分解为并行测试过程的同步与协调和单个/单对端口的测试过程,以便简化并行测试的描述和最大限度地利用已有的单个/单对端
28、口的测试集。 物理上能够将并行测试管理设备与便携或可移动的单个/单对端口测试器相分离,从而实现用物理上独立的相对便宜的多个设备组成测试能力更强的多端口同步并行测试系统。图1-3 DMSP-TTM测试法示意图图1-3即为DMSP-TTM测试法的简单描述。1.1.3 本论文研究的小背景路由器双端口测试器路由器双端口测试系统(RTPT Router Two-Port Tester)是路由器分布式多端口同步并发测试系统的基础测试部件。它既能够作为分布式路由器的多端口并发测试系统的底层测试器,也可以作为一个独立的路由器双端口测试系统16。图1-4就是路由器双端口测试系统的简图。从图中可以看出,路由器双端
29、口测试器主要由路由器双端口测试管理器、测试支撑工具和测试数据组成。其中测试支撑工具包括图中所示的单测试例执行器(Test Case Traverser)、支撑层适配模块(即PDU 装/拆模块)、测试支撑层协议实现和编译器。笔者的工作就是围绕路由器双端口测试管理器展开的。 单测试例执行器(Test Case Traverser)图1-4 路由器双端口测试例系统简图 支持层适配模块(装拆被测层PDU) RTPTM (Router Two-Port Test Manager):路由器双端口测试管理器A. 用户接口模(User Interface Module): 用户操作界面图形化测试过程动态显示模
30、块+系统初始化模块可执行测试集:ETS Executable Test Suite + Encoder/DecoderB.测试例/组管理模块:静态与动态测试例、组选择)测试集、测试组选择测试例选择与测试同步信息、测试例指派与分发、测试例结论测试例调用、已编码的PDU融入测试例中的PDU解码器中。C.测试结果分析与测试报告生成模块 测试支持层协议实现:1) 测试IPv6:为IPv4或数据链路层2) 测试应用层:UDP3) 信控平面与用户平面联合测试:都需要并发测试配置命令、同步、测试中间结果被测PDU流、命令流和测试结论记录。支持层PDU数据流记录模块:测试后进行分析用。至分布式多端口同步并行测
31、试系统抽象测试集(用TTCN-3语言描述)1、TTCNC编译2、C机器代码编译DE1.2本论文研究对象双端口测试管理器路由器双端口测试器是路由器分布式多端口同步并行测试系统的基础测试部件,一方面它是实现分布式多端口同步并行测试的基础,另一方面它也可以脱离分布式多端口同步并行测试系统对双端口或单个端口进行测试。所以在进行路由器双端口测试管理器的设计时,就要兼顾路由器双端口测试器的这两个特点。在路由器双端口测试管理器中,有一个重要模块双端口测试器与分布式多端口同步并行路由器测试系统的接口,该模块是双端口测试系统与路由器分布式多端口同步并行测试系统间通信的桥梁。两者之间的通信使进行分布式多端口同步并
32、行测试的各个双端口测试器可以同步协调工作,同时也使分布式多端口同步并行测试管理器可以汇总各个双端口测试器的测试结果16。避开分布式多端口同步并行测试技术不谈,就双端口测试器本身来说,目前就这方面的研究与设计主要是针对某一特定测试任务来进行的22-23,当测试任务改变时往往需要重新设计、开发测试系统。这使测试系统缺乏灵活性和通用性。因此在设计双端口测试系统时,其设计目标包括:既能够作为路由器分布式多端口同步并行测试系统的底层测试器,也可以作为一个独立的路由器双端口测试系统;既能够对路由器中的单个协议实现进行测试,也能够在多个协议的配合下进行联合测试;既支持穿越测试法,也支持回绕测试法;既支持按事
33、先确定的测试例执行顺序进行测试,也具备根据测试例执行结果,动态地选择执行测试例,即根据协议特点和测试例执行结果跳过不需要再执行的测试例。双端口测试管理器是双端口测试系统的核心组成部分。它对上实现测试终端(双端口测试器)和分布式多端口同步并行测试系统的通信;对下完成系统配置、测试例执行管理、测试过程监视和记录、测试过程管理控制、初步测试报告的生成;在停止测试的状况下,进一步为人工分析测试结果和形成最终的测试报告提供支持。整个测试系统的各模块在测试管理器的管理下,有序协调的进行工作。综上所述,笔者对双端口测试管理器的研究与设计为整个系统的实现打下了良好基础。1.3 论文的组织结构本论文的后续章节内
34、容与组织结构如下:第2章针对双端口测试系统的特点,介绍路由器双端口测试系统的三大部件:测试支撑工具、编/解码器与支撑层适配模块、双端口测试管理器。第3章主要介绍笔者对双端口测试管理器的各个功能模块的设计。这是开发双端口测试管理器的基础。第4章探讨对测试例执行的管理。一方面探讨了测试例执行管理的一般性方法;另一方面以IPv6基本描述协议和RIPng协议的测试例执行管理为例,分别探讨了对单状态和多状态协议测试例执行的管理方法。第5章探讨了双端口测试系统与分布式多端口同步并行路由器测试系统的接口设计,提出了两个测试系统之间通信的办法。最后,第6章在对论文工作进行总结的基础上,对后续研究工作进行了分析
35、和展望。1.4作者的工作与论文的贡献作者在西南交通大学网络通信技术省重点实验室承担的主要工作是对路由器双端口测试管理器的研究与开发并探讨了双端口测试系统与上层分布式多端口同步并行测试系统的通信方法。作者的主要工作包括以下几个方面:对路由器双端口测试管理器的各个功能模块进行了详细设计;针对测试例执行管理设计了测试例执行规则表(Testcase Executing Rules Table TERT),提出了测试例执行管理的一般性方法;以IPv6基本描述协议和RIPng协议的测试例执行管理为例,探讨了对单状态和多状态协议测试例执行的管理方法;探讨了双端口测试系统与分布式多端口同步并行路由器测试系统之
36、间通信的办法第2章IP路由器双端口测试系统功能模块简介2.1路由器双端口测试系统的简介测试例执行开始从分布式多端口同步并行测试系统接收测试数据和测试命令测试管理模块生成测试例执行序列,初始化系统测试管理模块指示执行测试序列中第一个测试例漫游器执行测试例,编/解码器装配数据和支撑层适配模块收发数据测试管理器将已执行测试例脱离执行序列,判断执行序列是否为空测试执行序列不为空测试结束测试执行序列为空日志记录模块记录被测PDU流和支撑层PDU流向分布式多端口同步并行测试系统发送测试数据图2-1路由器双端口测试系统业务流程图路由器双端口测试系统在分布式多端口同步并行测试系统中身兼两职。既是分布式多端口同
37、步并行测试系统的基础测试模块,也可以作为独立的测试工具使用。因此在对其进行设计时,既要考虑到它与上层测试管理器的通信,也要考虑其作为独立测试系统所应具备的能力。图2-1描述的是路由器双端口测试系统的业务流程。从图中可以看出,双端口测试系统的测试工作是从分布式多端口同步并行测试系统接收测试初始化数据和测试命令开始,至所有的测试例执行完毕而结束。期间,双端口测试系统还需要完成对测试例执行进行管理、记录测试数据、向分布式多端口同步并行测试系统发送测试数据等工作。作为分布式多端口同步并行测试系统中的测试端,双端口测试系统是整个分布式系统测试的基础;同时它自己也有用户界面,因此用户可以直接使用双端口测试
38、例系统对路由器的单个或一对端口进行测试。通过执行不同测试例,双端口测试系统可以灵活的进行不同的测试任务。通过对测试例执行的管理,双端口测试例系统可以优化测试,提高系统工作效率。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”的缩写,它在同一测试系统引入了
39、多个并行的测试控制单元和单元间同步的概念。为了适应多端口同步并行测试,实验室开发组还定义了并发多端口测试描述语言(Concurrent Multi-Port Test Definition Language-CMPTDL)49。这样,就整个分布式系统来说,测试支撑工具还应该包括CMPTDL的编译器18。TTCN-3描述的测试例虽然具有标准性、通用性和不同开发者定义的测试例可互换等优点,但TTCN-3描述的测试例尚不能直接在测试系统中运行,必须通过解释或编译的方式才可以转换为机器代码。出于对未来高速路由器的多端口同步并行测试考虑,对测试例执行效率要求较高,因此在笔者涉及的测试系统开发中采用了编译
40、方式19。在编译器中还整合了一个功能模块单测试例执行器(Traverser)。单测试例执行器主要是在收到测试管理器执行何测试例的命令后,具体负责驱动一个测试例中每一个测试步的执行。2.2.2编解码器和支撑层适配模块编解码器和支撑层适配模块(如图1-4所示)是衔接可执行测试集,实现被测PDU和支撑层PDU双向数据翻译转换的工具。它们一方面将被测PDU流编码成相应支撑层环境所能识别的支撑层PDU,另一方面将来自支撑层的PDU进行相应的协议解码,并配合收发数据包模块实现可执行测试集所描述的测试系统PDU数据流动,同时也为各项PDU数据流记录、测试结果分析提供数据接口20。这里特别需要说明的是编译器、
41、编解码器与支撑层适配模块,在概念上是独立的功能模块,但在系统的实际设计与开发中是被联合编译进“可执行测试例”(ETC Executable Test Case)之中的。在双端口测试例管理器看来,每一个测试例都按照的一个命名规则编译成了一个函数,执行一个测试例只要调用相应的函数就可以了。而所有的可执行测试例作为一个函数库,成为测试系统代码实现的一部分。2.2.3双端口测试管理器路由器双端口测试管理器是测试系统的核心部件,同时也是笔者研究与开发的对象。它在整个分布式系统中实现测试终端和分布式多端口同步并行测试管理器的通信;独立出与分布式系统,测试器自身也可以使路由器双端口测试系统成为一个完整的测试
42、系统。笔者根据其功能,把双端口测试管理器划分为以下功能模块: 用户接口模块 测试管理模块 测试集/组/例管理模块 日志记录模块 测试结果分析与测试报告生成模块 与分布式多端口同步并行测试管理器接口 系统数据库本章是关于双端口测试系统的介绍,所以双端口测试管理器各功能模块的详细设计,将留在下一章介绍,这里不再赘述。第3章 路由器双端口测试系统管理器设计3.1双端口测试系统管理器的功能模块组成在路由器双端口测试系统中,除了双端口测试管理器外,还有许多其他功能模块,如何让各个模块融合在一起协调工作?在大多数测试活动中,执行的测试例远超过一个,如何对这些测试中执行的测试例进行合理管理?这些问题都是路由
43、器双端口测试系统管理器设计时,需要考虑的问题。笔者在路由器双端口测试系统管理器的设计与开发中,根据分布式多端口同步并行测试系统的要求以及路由器双端口测试系统本身亦可作为独立测试系统的要求,对双端口测试系统管理器的功能模块做了以下划分: 与分布式多端口同步并行测试管理器接口模块 用户接口模块 测试管理模块 测试集/组/例管理模块 日志记录模块 测试结果分析与测试报告生成模块 系统数据库与分布式多端口同步并行测试管理器接口模块是路由器双端口测试系统能够成为分布式测试系统测试基础模块的关键。它接收分布式多端口同步并行测试系统的测试命令和测试初始化数据,同时也把每个测试例执行的结果以及产生的相关数据传
44、输给上层分布式测试系统管理器。因此可以说,如果没有与分布式多端口同步并行测试管理器接口模块,整个分布式式系统无法协调同步工作。用户接口模块和系统数据库的设计是基于双端口测试系统可以作为独立测试系统的考虑。这是因为,在分布式多端口同步并行测试系统管理器端有分布式系统的用户接口模块和整个系统的数据库。如果双端口测试系统只是作为分布式系统的一个模块,在其测试器中则无需设计用户接口模块和系统数据库。但是,基于双端口测试系统脱离分布式系统也可以成为独立测试系统的考虑,在双端口测试系统管理中,也必须加入这两个模块。3.2双端口测试系统管理器的功能模块设计3.2.1 用户接口模块如上节所述,在双端口测试系统
45、中设计用户接口模块,主要是基于该测试系统能够自成独立系统的考虑,同时它的设计与开发,也为上层分布式多端口同步并行测试系统中用户接口的设计提供了可借鉴经验。用户接口模块的主体功能:生成用户界面;向测试管理模块传送用户数据;显示测试数据。根据其功能,笔者把该模块划分为三个子模块: 用户界面生成模块 测试数据传输模块 测试数据显示模块用户接口模块用户界面生成模块测试数据传输模块测试数据显示模块测试管理模块系统数据库图3-1 用户接口模块数据流图“用户界面生成模块”用于在显示终端生成完整的用户界面,以利于用户输入信息、控制测试和浏览结果。其中用户界面包括“测试控制”、“显示”、“日志”、“帮助”四个下
46、拉菜单。测试控制菜单:包括“新建测试”、“开始测试”、“中止测试”命令。“新建测试”命令,由向导指引用户新建一个测试项目。“自动测试”项目只需要用户选择进行何种测试和输入测试参数即可由系统自动完成测试;“自定义测试”项目需要用户自行选择测试例和输入测试参数。“开始测试”命令用于在测试系统准备就绪后通知系统开始测试。“中止测试”命令用于测试过程中强行中止测试。显示菜单:可在通过此菜单选择显示或关闭那些窗口。日志菜单:包括“保存测试日志”、“保存测试报告”、“载入测试日志”、“载入测试报告”命令。用户使用这些命令可以将测试日志和测试报告保存为文件,也可以从文件中读出以前保存的测试日志和测试报告。帮
47、助菜单:提供帮助系统和软件版本号。“测试数据传输模块”用于在用户接口模块内部的子模块间或与其他模块进行数据传输。主要的数据传输流程如图3-1所示:1)将用户通过用户界面输入的测试数据,传送到测试管理模块2)将用户输入的测试系统参数存入系统数据库。测试系统参数包括测试对象和测试端口的IP地址,如果数据链路层为以太网,则还包括MAC地址的配置等。因为经编译器编译形成的可执行测试例是通用测试例,对于具体的测试环境并不能预知。所以需要用户在测试之间输入测试配置信息,并由测试数据传输模块存入系统数据库。当测试例执行时,需要相关的测试配置信息就可以直接从系统数据库中读取。3)从系统数据库中读出测试过程中产生的数据,并交由测试数据显示模块显示。这些测试过程中产生的数据包括各测试例执行结果、被测PDU数据流、支撑层PDU数据流等“测试数据显示模块”用于在用户界面显示测试过程中产生的数据。在测试进行期间动态显示每一个测