网络存储自动化测试平台的设计与实现_第1页
网络存储自动化测试平台的设计与实现_第2页
网络存储自动化测试平台的设计与实现_第3页
网络存储自动化测试平台的设计与实现_第4页
网络存储自动化测试平台的设计与实现_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电子科技大学硕士学位论文网络存储自动化测试平台的设计与实现 姓名:伍兴艳申请学位级别:硕士专业:信号与信息处理指导教师:皮亦鸣20090501摘要摘要网络存储时代被称为第三次IT浪潮。现在,信息正以超乎人们想象的速度增 长。在未来三年内产生的数据量,将超过人类自结绳记事以来数千年的总和。网 络存储具有结构复杂,功能特性多的特点。针对网络存储的这种特点,如何构建 完备的存储功能测试集,并找到一种高效的描述语言描述存储功能测试集,设计 开发满足网络存储测试的自动化测试平台,对完成存储产品测试、保证存储产品 质量是至关重要的。本文以软件自动化测试平台开发为背景,对网络存储系统进行了分析和研究, 把软

2、件自动化测试理论应用到网络存储相关产品的测试中去,结合软件自动化测 试技术实现了网络存储测试的自动化,为网络存储提供了一套自动化测试平台。 本文首先介绍了本课题的背景、意义及研究现状;然后,介绍了网络存储的 基本组成、结构及其典型应用,紧接着介绍了软件自动化测试理论和TCL脚本语 言,以及在测试中常用的几种读写工具。文章根据网络存储系统的测试背景,针对测试对象,分析了网络存储自动化 测试平台的需求,并结合自动化测试平台的设计原则,对平台进行了总体设计, 再结合平台整体框架,设计出了自动化脚本的开发流程。文章按功能对平台进行了模块划分,并给出了各模块之间的关系,对自动化 测试平台的相关模块进行了

3、详细的讨论、分析和设计,接着详细阐述了存储产品 的控制库及工具控制类。最后,结合存储产品的测试给出了平台的应用实例。 本项目研发的网络存储测试平台已经顺利通过了验收,该自动化测试平台还 具有降低存储产品测试开销、提高测试效率、缩短研发周期、完成一些手工测试 无法完成的工作等优点,并已成功的投入到了产品的研发当中,具有一定的实用 价值。关键词:网络存储,自动化测试平台,测试集,控制库燮坚竺三ABSTRACTNe咖rkstorage time is called the third IT tide.Now,the growm mte of 111士omanI阻ISbeyond peoples im

4、agination.The dams generate in me neXt three vearsm儿eXceed the dams since the slam of several thousand yearS.So,in order toaCcomplish storage products features test,we shall consider all these questioIlsas 幻jlows;上10wto construct a complete network storage test suite,how t0缸d an efficiem test strite

5、 description language and how to design automate testillg platfonn.As the background of automate test platform,network storage aIld sofh,2ure alltomation testing technology are analyzed aS well.Associat协g 埘th so行啪 automatlon testing technology,and the structure of network storage,automate teSt platf

6、orm is implemented.This dissertation briefly inlroduces the in foreword.Subsequently this dissertation background andsignificance of this project analyses the basic composition,especially the s咖cture of network storage,software automation testing technology,TCL sc却妇g language and several tools which

7、 are usually used in test.According to the test background of network storage,a11alysis me needs ofautomat¨est platform.Frameworkof automate test platform is established accord蛔g t0the software automation testing principle.According to丘眦ework,the flow of performing of test scripts is designed.1

8、n tbjs dissertation,the platformis partitioned into different mo础es by di瓤mnmcnonS.and their relationships are described.At last,如叩lement of automate teSt p上at士。珊m the form of software is discussed in detail,and give all印plicationexaInple of how automate test platform of network storage used t0test.

9、U1】r automate test platform of network storage haS passed the function check succeSsfully and it has many advantages,suchas reducing cost of哟rage so鲰留e fe舭SSIon test,increasing test efficiency.It is proved that the龇ltomate testplatfo肋is Key w。rds:Network storage,Automate test platform,testsuite,Con臼

10、Dllib呻 玎独创性声明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为 获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。签名:鱼邀毖:日期:沙口7年r月7日 关于论文使用授权的说明本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘, 允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全 部或部分内

11、容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编学位论文。(保密的学位论文在解密后应遵守此规定 ,. 签名:诬返拿乞 导师签名:压竺童二叁 日期:q年朋第一章引言第一章 引言1.1课题的研究意义和必要性最新数据表明,全球数字化信息正以几何级数放大增长【2】,面对“爆炸”的 信息、数据,人们已经感受到第三次IT浪潮一网络存储时代的来临。网络存储 在近10年的时间内发展迅速,日益应用到各个行业;据IDC统计,至2005年, 有70%的新存储产品采购与网络存储相关。随着计算机技术的发展和广泛应用, 存储技术已经得到了业界和各个应用领域专业人士的重视。新的网络存储技术以其自身的

12、优势4】,一方面为网络上的应用系统提供丰富、 快速、简便的存储资源;另一方面又能共享存储资源并对其实施集中管理,成为 当今理想的网络存储管理和应用模式。与传统存储方式相比,网络的管理效率大 大提高了,资源利用率远远高于传统存储方式,所以势必将占有大量的市场。据 预测,在未来的几年内,我国的存储系统市场将快速增长,其中,网络存储将以 每年增长的速度发展15j。在网络存储系统中,以软件技术为主,软件测试在软件的整个开发过程中占 有非常重要的地位,是保证软件质量、提高软件可靠性的关键|4】。软件测试工作做 得怎样,直接决定着软件产品质量的好坏。大量统计资料表明,软件测试阶段投 入的成本和工作量往往要

13、占软件开发总成本和总工作量的40%到50%甚至更多17。 近年来,随着软件应用范围的扩大,软件复杂度的提高,以及软件设计技术的不 断发展,软件开发规模越来越大,处理的问题愈来愈复杂。然而,软件系统的可电子科技大学硕士学位论文靠性更为重要,传统的软件测试技术和方法以及测试工具已无法满足大型的、复 杂的软件测试需要。软件测试己成为当前软件技术研究的重点和难点,软件自动 化测试技术的研究越来越受到软件界的重视降J。随着软件规模的增加测试工作量的增大软件开发周期的缩短使用软件测试自 动化技术提高软件测试的速度和效率就成为了软件测试发展的必然趋势。使用软 件测试自动化技术能完成许多手工测试无法实现或难以

14、实现的测试。正确、合理 地实施自动化测试,能够快速、彻底地对软件进行测试,从而提高软件质量,节 省经费,缩短产品发布周期。另外,自动化测试还能排除一些人为的因素(如遗 漏、手误等等。存储系统产品构成相当复杂,需要测试的特性多,把软件自动化测试应用到 存储系统产品的研发中,可以大大节省测试时间,缩短产品开发周期,让产品质 量得到有力的保证。1.2国内外研究现状有鉴于网络存储系统的重要性,欧美各国都在极力发展存储系统技术。市场 方面,欧美各大跨国公司,如EMC、IBM、HP等,在存储系统产品的研发和未来 技术发展上都有大的资金和资源投入,并在市场上取得了垄断性地位。与此相配 合,欧美各国在国家战略

15、角度上,重点支持大型网络存储系统的研究和开发。 目前比较有影响的存储系统有:加州大学伯克利分校的OceanStore提出的全 局存储体系结构,其特点是实现数据的全局存储表示和全局唯一名字来实现任意 存储,但结构复杂,实现困难,管理成本和复杂性较高。明尼苏达大学的GFS(Global File System是一种应用于光纤通道存储系统的 全局文件系统。它允许多个Linux客户机通过网络共享存储设备。每一台机器都可 以将网络共享磁盘看作是本地磁盘,而且GFS自己也以本地文件系统的形式出现。 卡耐基梅隆大学的NASD(Network.Attahed Secure Disk是基于智能存储设 备的集成安

16、全存储系统,该系统在NAS存储设备智能化基础上进行扩充,实现基 于文件的安全访问一J。清华大学高性能计算技术研究所网络存储实验室是国内较早开展海量存储技 术研究的课题组。其研究的内容主要包括海量信息的多层存储体系、海量信息的2第一章引言快速I/0技术、存储容灾技术、存储智能管理技术、存储高可用存储安全技术、分 布式信息服务技术、面向Intemet服务的海量信息存储华中科技大学正在进行网络 存储系统中虚拟化存储技术的研究。通过网络磁盘阵列,将分布在网络中的空闲 资源收集起来构建公共存储池,同研究公共存储池的构建和管理以及底层通讯协 议的定制。中科院计算所也在进行网络存储技术的研究,其研究领域主要

17、集中在 式共享存储系统。北京大学相关研究机构正在研究网络存储和PZP的相关内容, 对基于消息中间件和结构化的PZP结构进行了深入研究ll 01。在软件业较发达的国家”oi,软件测试不仅早己成为软件开发的一个有机组成 部分,而且在整个软件开发的系统工程中占据着相当大的比重。以美国的软件开 发和生产的平均资金投入为例,通常是:“需求分析"和“规划确定”各占百分 之三,“设计"占百分之五,“编程”占百分之七,“测试”占百分之十五,“投 产和维护”占百分之六十七。目前国外测试自动化的工具多种多样,例如:1.Mereury Interaetive公司的WinRunner是一种企业级的

18、功能测试工具,用 于检测应用程序是否能够达到预期的功能及正常运行。通过自动录制、检测和回 放用户的应用操作,WinRunner能够有效地帮助测试人员对复杂的企业级应用的 不同发布版进行测试,提高测试人员的工作效率和质量,确保跨平台的、复杂的 企业级应用无故障发布及长期稳定运行。2.Load Runnor是一种预测系统行为和性能的负载测试工具。通过以模拟千 万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner够对 整个企业架构进行测试。通过使用LoadRurmer,企业能最大限度地缩短测试时间, 优化性能和加速应用系统的发布周期。3.TesDirector是业界第一个基于

19、Web的测试管理系统,它可以在公司内部 或外部进行全球范围内测试的管理。通过在一个整体的应用系统中集成了测试管 理的各个部分,包括需求管理,测试计划,测试执行以及错误跟踪等功能。4. IBM Rational Solutions是在RUP测试方法论的基础构建的软件自动化测 试工具集,它有多种测试工具组成,例如:管理平台工具TestMnagaer,测试需求 管理工具ReuqsiietPor、缺陷追踪工具ClearQuest,自动化测试工具Rboot等,并 通过TestMnaager,Requisitepor、ClearQuest、Robot的完美集成,实现了对整个3电子科技大学硕士学位论文软件测

20、试生命周期的管理,可以帮助软件测试团队快速建立软件测试平台和测试 管理流程。不过在我国软件企业不断提高产品质量,积极推动测试发展的趋势下Il 2|,我 国的测试技术也得到了发展,主要的研究成果如下:1.基于对象建模的GUI测试北京大学的王立福教授在2000年,提出一种界面类对象建模技术,体现了对 象的封装、通信、动态特征。优点:使得界面对象易于识别。缺点:GUI测试用 例的覆盖程度不够理想。2.基于界面构件关联图的测试方法浙江大学的谭建荣教授,2002年提出界面构件关联图,利用构件的相互关系, 提出测试覆盖准则和测试用例生成方法。优点:有较好的交互关系和覆盖准则。 缺点:关联提取复杂,导致关联

21、图冗余。1.3本文主要工作和结构安排本文的主要工作是结合课题任务,根据网络存储系统的结构和工作过程并结 合自动化测试技术,针对网络存储自动化测试平台的设计与实现开展研究,设计 了一套引入自动化测试的解决方案,并自主开发出一套通用的测试平台(MTE: Make TeSt Easy。该平台已经成功的推广到各个存储产品的测试中,包括产品的 函数接口测试、单元测试、集成测试等,极大的提高了产品测试效率和测试覆盖 率,缩短了测试周期,对产品质量保证起到了极大的推动作用。本文的主要工作具体包括以下内容:首先结合网络存储系统自动化测试平台开发项目,进行了软件测试及自动化 测试理论与方法的研究,对自动化测试平

22、台整体架构及各个主要模块的设计进行 了深入的分析,并根据网络存储复杂的特点及从测试平台结构和执行效率的角度 上考虑,提出使用TCL语言开发自动化测试平台。第一章:引言简要介绍了本课题研究的背景和意义,介绍了网络存储和自动 化测试平台的发展概况和国内外现状,说明了开发网络存储自动化测试平台的必 要性,并指出了本文的研究内容和结构安排。第二章:介绍了网络存储系统的组成要素和关键技术,分析了网络存储系统 的工作原理和典型应用。结合网络存储的应用和软件自动化测试技术,对网络存 储自动化测试平台进行了详细的需求分析。4第一章引言第三章:讨论了网络存储自动化测试平台的总体设计。介绍了自动化测试平 台的设计

23、原则,在此基础上,针对网络存储自动化测试平台的主要任务,讨论了 平台的总体设计方案和系统结构,并给出了自动化用例的开发、执行流程。第四章:对平台的各个功能模块进行了分析和讨论。对于平台设定的用例结 构进行了介绍,分析了主要模块的设计和功能,给出了自动化测试脚本的执行流 程和各个模块之间的相互联系,同时介绍了平台用户界面GUI。第五章:介绍了网络存储自动化测试平台在功能测试和性能测试中的应用, 给出了具体实例,介绍了平台的应用效果。第六章:结束语。总结全文并进行展望。5电子科技大学硕士学位论文第二章 平台需求分析自动化测试在存储领域的发展方兴未艾。从目前收集到的资料来看,国内外 存储行业巨头如E

24、MC、IBM、HP等都有一套完善的知识体系及自动化测试平台来 支持自动化测试。但目前,国内的自动化测试水平还处在比较初级的阶段。为了 积极推广自动化测试,提高测试效率,保障产品质量,结合国内自研存储产品的 实际情况,设计并开发出一套自动化测试平台一自动化测试平台(MTE作为支 持自动化测试的基础设施。本章主要介绍网络存储和自动化测试基础知识,研究了网络存储系统的测试 背景,根据测试对象,介绍了几种常用的测试工具,对平台的功能需求做了详细 的分析。2.1网络存储系统信息的爆炸性增长给存储技术的发展提供了良好的机遇,人们对存储设备容 量、性能等方面的要求也越来越高。网络存储技术正是在这一需求的驱动

25、下发展 起来的。网络存储提供以下优点:存储容量易扩展,具有灵活的寻址能力,远距离的 告诉传输能力,高效的I/O性能,高可用性,考可靠性,尤其是它为多个主机系 统共享存储子系统和数据奠定了基础【1引。由于存储过程是和系统紧密结合在一起的,因此,可能将存储网络称作系统 应用会更贴切一些。随着存储技术的发展,出现许多各具特色的共享存储体系。 目前,应用较多的体系结构根据存储设备和其他主机的连接方式,主要有如下两 类。1.NAS(Network Attached Storage网络连接存储NAS是将存储设备(如:磁盘阵列等通过标准的网络拓扑结 构(例如以太网,连接到一群计算机上,提供数据和文件服务。N

26、AS使用标准 协议如NFSfNetwork File System或CIFS(Common Intemet File System在文件层提 6第二章平台需求分析供数据的共享访问。图1一l给出了NAS组网图,存储设各和主机相连接,然后该 主机通过文件共享的方式使存储设备为网络上的其他主机所利用。其他的主机以 文件为单位访问网络文件系统。垦l l国】 l夔】 【厘盛恩氲氲 晴画攀图l-l NAS客户/服务器之间的连接示意图NAS被定义为一种特殊的装用数据存储服务器,包括存储设备和内嵌系统软 件,可提供跨平台文件共享功能。NAS通常在一个LAN上占有自己的节点,无 需应用服务器的干预,允许用户在网

27、络上存取数据,在这种配置中,NAS集中管 理和处理网络上的所有数据,将负载从应用或企业服务器上卸载下来。2SAN fStorageAIeaNetwork存储区域网络SAN是存储设备与服务器经由高速网络设备连接而形成的存 储专用网络。它通过光纤通路技术构建网络,存储设备和主机都连入网络,可以 把一个或多个主机连接到磁盘阵列和子系统上,如图1.2所示。SAN置于LAN 之下,而不涉及LAN。因此.SAN可以看作是负责存储传输的“后端”网络, 而“前端”网络负责正常的TcP/rP传输。基于SAN的存储模式既实现了集中式 的数据存储和管理,又通过SAN的特点解决了数据流量的瓶颈,同时又具有极大 的灵活

28、性、可扩展性和连接能力等特点。SAN能够解决与网络存储备份有关的问题,它可以提供100兆字节,秒的高 性能数据管道和共享的集中管理的存储设备。它将消除人们对网络宽带的顾虑. 太幅度地减少管理费用支出,并将减少备份系统的总体拥有成本。电子科技大学硕士学位论文客户机服务器存储&备图1-2典型的SAN构成连接示意图这两种方案都可以解决存储系统的扩展性问题,也各有优缺点,表1-1就针 对两者的特点作一个简单的对比“:表一I SAN与NAS的对比SAN NAS存储单位 物理(block 逻辑(文件接口类型 光纤通路, Ethemet FDDI胁ernet文件系统的构建 Server来完成 Sto

29、rage部分完成数据集中的实现 好 好系统成本 较高 较低系统复杂程度 高 低系统性能 好 受网络环境影响系统配置 复杂 简单总之,NAS应用比较简单灵活。它具备了磁盘阵列的所有主要特征:高容量 高效能、高可靠。NAS的管理和设置较为简单。价格比较低适,台中小型的应用 而SAN则具有高效的可扩展性,与NAS相比,SAN具有无限的扩展能力。另外第二章平台需求分析SAN具有更高的连接速度和处理能力。SAN采用了为大规模数据传输而专门设计 的光纤通路技术,目前的传输宿舍为100MBps,并会很快开发出传输速度为 200MBps和400MBps的光纤通路交换机。网络存储的构成要素主要可以分为:连接协议

30、、硬件、管理软件l】引。其中的 网络设备有Switch,Hub,Bridge等,概念上可以和以太网上的设备对应起来,但 是在功能和协议上两者区别很大。这些网络设备被给予千兆速率的SCSI光纤通 道(Fibre Channel,使用的协议是SCSI。由于SAN的网络结构的特殊性,带来了其中硬件构成的特点。存储网络如同 LAN一样,主机连到LAN需要网卡,主机连到SAN上通过主机内部的HBA(Host Bus Adapter,LAN中网络是光纤或铜缆,SAN中也是一样;SAN中,设备可以 是环形连接,也可以用HUB建立星型连接,还可以用多个switch建成树状结构 的SAN。从逻辑上看,SAN是由

31、一个或多个仲裁环(non.fabric AL,但是支持一 个网络(fabricg连,势必就增加了设备的复杂性。硬件设备主要包括: 网络连接设备:如A(Host Bus Adapter,FC.HUB,Switching Hub,Fabric Switch,转换器,GBIC(千兆位接口转换器等。存储设备:如Tape Library,FibreArray(光纤磁盘阵列,SCSI RAID(SCSI 磁盘阵列,具有RAID校验功能等。SAN环境下的连接方式主要由光纤通路、SCSI和ESCON三种。ESCON一般 反应用于大型机系统,SCSI主要应用于以传统的服务器为中心的SAN结构中,但 是它是单机连

32、接窄SCSI最多能接7台设备,宽SCSI最多也只能接15台,其连接 距离也近的让人惋惜,即使目前出现的扩展SCSI协议也仍然达不到光纤通路多主 机连接,支持1600万节点,10公里的连接距离的优点,图1.3为网络存储的典型 应用。目前的SAN网络中主要采用的还是光纤通路协议。9电子科技大学硕士学位论文MMscn同 2.2软件自动化测试图l-3网络存储的典型应用软件测试是软件工程的重要环节,在软件生存期中占有非常突出的重要地位, 它直接关系到软件的质量、开发速度和成本。软件设计和编码技术的飞速发展使 软件设计和编码的效率得以极大提高,软件测试的工作量与过去相比并未减少, 相反,在整个软件生命周期

33、中,所占的比例呈不断上升趋势。为提高软件开发的 效率和软件质量,将测试自动化替代一部分手工测试是实现这一目标的行之有效 的方法。22.1软件自动化测试的优点软件自动化测试就是执行某种程序设计语言编制的自动测试程序,控制被测 软件的执行,模拟手动测试步骤,完成全自动或半自动测试¨_】。其目的在于缩短 测试周期,增强对软件性能方面的测试能力等,从而达到保证软件质量并使软件 能够提前上线。自动化测试具有以下优点|】H:1使软件新版本进行回归测试的开销最小。对于软件开发,每发布一个新 版本,其中大部分功能和界面都和上一个版本相似或完全相同,这时要对新版本 再次进行已有的测试,这部分工作多为重

34、复工作,特别适合使用自动化测试来完墨 匙第二章平台需求分析成,从而令回归测试的开销达到最小。2可以在更短的时间内完成更多的测试。基于计算机的高效计算能力,自 动化测试的最根本的优点在于,与手工测试相比,能在更少的时间内完成更多的 测试工作,因此也就缩短了测试时间。3可以完成一些手工测试不能或难以完成的测试。对于一些非功能性方面 的测试,如:压力测试、并发测试、大数据量测试、崩溃性测试等,这些测试用 手工测试是很难,甚至是不可能完成的。但自动化测试则能方便地执行这些测试, 比如并发测试,使用自动化测试工具就可以模拟来自多方的并发操作了。4 测试具有一致性和可重复性。由于每次自动化测试运行的脚本是

35、相同的, 所以可以进行重复的测试,使得每次执行的测试具有一致性,手工测试则很难做 到这点。有些测试可能在不同的硬件配置下执行,使用不同的操作系统或不同的 数据库,此时要求多平台产品的跨平台质量的一致性,这在手工测试的情况下更 不可能做到。好的自动测试机制还可以确保测试标准与开发标准的一致性。例如, 此类工具可以测试每个应用程序的相同类型的功能以相同的方法实现。5 更好地利用资源。将繁琐的测试任务自动化,可以使测试人员解脱出来, 将精力更多地投入到测试用例的设计和必要的手工测试当中。并且,理想的自动 化测试能够按计划完全自动地运行,使得完全可以利用周末和晚上的时间执行自 动化测试。6 测试的复用

36、性高。好的自动化测试机制可以很好的提高测试脚本的复用 性,当测试软件发生改变,只需要对测试脚本进行少量的修改就可以进行回归测 试,大大降低了测试脚本的维护开销。7 可以更快地将软件推向市场。一旦一系列测试已经被自动化,则可以比 手工测试更快地重复执行,因此缩短了软件开发的时间。8增加软件信任度。软件通过强有力地自动化测试后,可以大大减少软件 中存在的错误,提高软件质量,发布时对其的信任度也就相应提高了本节重点讲述自动化测试中的几个重要的概念:程序控制对象、动作词函数、 测试集、测试逻辑以及他们之间的关系。1程序控制对象程序控制对象(ProgramControlledObjeet,简称PCO10

37、1,就是将脚本中所电子科技大学硕士学位论文使用的数据进行结构化和对象化,在数据资源池中形成一致的数据结构描述,它 统一了在脚本中数据的组织方式,也规范了脚本间数据的传递方式。在自动化测试脚本中,通过PCO的方式引用数据池中的数据对象,保证了 测试数据向测试逻辑传递接口的一致性,并且除了使用的数据本身,还传递了数 据对象内部的关系,有助于形成标准的公用的数据处理模块,简化测试脚本的复 杂度,提高测试脚本的可读性和可维护性。2动作词函数动作词函数(Action Word,简称AW实际上就是测试过重中的一个或几个 操作步骤20】。例如,在存储系统中创建一个添加一个典型映射,需要先创建主 机、给主机添

38、加LUN映射,然后再添加端口,而这一系列的动作可以被设计成 一个动作词函数,只要调用这个动作词函数,就可以执行一系列的操作,它体现 的就是某个PCO对象的动作。3测试集如果有多个测试用例需要在相同的环境、配置下执行,就可以将这个环境配 置抽取成一个公共的“测试集”,从而完成环境相关的公共数据抽取瞄¨。例如, 在SAN系统的从测试中,需要一台服务器和一个光纤交换机和一台存储系统的用 例,他们就可以组成一个测试集,因为他们需要的物理环境组网相同。4测试逻辑如果有多个测试用例的测试步骤相同,只是输入输出不同,就可以将这些测 试用例的测试步骤抽取成一个公共的“测试逻辑”,把输入输出数据独立出

39、来定 义。测试逻辑就是通过虚拟化的PCO的AW函数组合完成的业务抽象,所谓虚 拟化是指当PCO传入的对象类型不同,AW的实现可以不同E引。TCL(Tool Command Language是一种简洁高效的解释脚本语言,它其实是 指两样东西:一种脚本语言以及该脚本语言的解释器。该解释器可以很容易地嵌 入到应用程序中。TCl最初的构想是希望把编程按照基于组件的方法(component approach,即将程序分割成一个个小的,具备一定“完整”功能的,可重复使用 的组件P31。不同的组件有不同的功能,用于不同的目的,并可为其它的应用程序 所利用。当然,这种语言还要有良好的扩展性,以便用户为其增添新

40、的功能模块。 TCL语言是一种简单、易学、易扩展和平台无关的脚本语言,在工业界的各12第二章平台需求分析个领域都有着广泛的应用。在本自动化测试平台中,测试脚本的开发采用TCL语 言主要基于以下几点考虑:1.TCL作为一种测试描述语言,它具有足够的描述能力,TCL语言可以看 作C语言的扩展库。它具有和C语言相当的描述能力,对于网络存储功能的实现, TCL语言足够胜任。2.使用TCL编写的测试脚本执行效率高,虽然是解释执行,但是测试脚本 中所用到的测试操作过程是被直接编译成可执行目标码,整个执行系统的结构比 较紧凑,因而执行效率也会比较高。3.TCL语言的执行器通常可以很容易地嵌入到测试系统中,使

41、得测试系统 的开发代价小。4.TCL具有良好的移植性和扩展性。它本身就是跨平台设计的,这有利于 在不同的操作系统上实现对路由协议的测试。TCL提供了和C语言间的接口,测 试人员可以针对不同待测对象设计扩展TCL命令集添加到测试系统中,增强测试 系统的测试能力。5.TCL编写测试例简洁易学。由于TCL语言使用的广泛性及语言本身的简 单性,开发测试套的人员可以比较容易的掌握测试脚本开发的方法,从而可以减 少人员培训的代价。2.3网络存储系统测试背景当前网络存储系统测试存在诸多问题,测试花费较大,测试时间有限,不仅 购买诸多测试工具需要支付高昂的费用,就测试本身来说由于手工测试部分太多, 需要投入大

42、量的人力才能勉强满足系统本身的测试需求12引。而且由于测试工作的 分散较大,相互之间的联系不够,对于单元测试和集成测试的分配不合理等。这 些状况都急需要个稳定、统一的测试环境和测试平台来维护大部分测试,同时 也需要把那些需要重复操作的工作放到自动测试中去以减少测试的工作量。2.4测试对象网路存储系统由连接协议、硬件、管理软件组成,而硬件由于网络连接设备 和存储设备组成。网络连接设备和存储设备组成如下: 网络连接设备:如A(Host Bus Adapter,FC-HUB,Switching Hub,Fabric 13电子科技大学硕士学位论文Switch,转换器,GBIC(千兆位接口转换器等。存储

43、设备:如Tape Library,FibreArray(光纤磁盘阵列,SCSI RAID(SCSI 磁盘阵列,具有RAID校验功能,存储系统管理软件等。 服务器:如Linux,WlIldows操作系统及主机软件等。根据网络存储的组成可以看出,平台的主要测试对象为系统中的各个软件的 功能,例如服务器应用软件、存储系统功能软件以及整个系统的功能,包括RAID 校验功能、主机端读写数据的一至性等。希望通过此自动化测试平台能完成对网 络存储系统各种功能和性能测试。测试涉及的对象有网络连接设备、存储设备及 服务器及相关设备。2.5测试工具为了对存储产品进行全方位的测试,平台需要集成读写工具,目前业界常用

44、 的几种工具为:TESTTOOL、IOR ATE、IOMETER。1.TESTTOOLTest Tools是Finisar公司下属的Medusa实验室开发的针对存储设备的测试工 具。Finisar公司从事存储行业十余年,功底是相当的深厚,因此开发出的此款测 试产品,功能自然也是相当的强大。Test Tools的工作原理是通过主机对存储设备 进行读写的IO操作以及数据一致性校验等方法来实现对存储设备及传输通道的 检测。它支持多种操作系统包括:Windows,Linux以及Solaris,为用户提供了丰 富多彩的测试手段,包括多线程单IO测试及单线程多IO队列测试,并且针对具 体测试目标以及测试目

45、的的不同,根据该公司在业内打拼多年的经验,提供了多 种科学的数据模板以及检测方式,从而最大限度的揭示我们存储设备所存在的问 题。同时在输出结果方面,它也提供了多种形式,包括屏幕显示和多样化日志文 件输出等。Test Tools的命令主要有两种,第一种是由pain和maim组成的IO测试命令, 第二种是catapult命令,该命令是Medusa专门为Test Tools提供用于查找和指定 被测目标设备的命令。一般将IO测试命令嵌套在catapult命令内部使用,组成一 套查找被测设备并对其进行测试操作的动作。这两个命令各有其特色,pain命令 主要采用多线程同步访问方式,每个线程每次收发一个IO

46、包对被测设备进行读/写测试操作。而maim命令主要采用单线程异步访问方式,一次收发送多个IO, 组成Io队列对被测设备进行读/写测试操作。14第二章平台需求分析2. 10MEIERIOMeter是业界广泛使用的IO性能测试软件。通过使用不同的IOMeter设定 值来呈现文件服务器(选择范围为512Bytes到64KB的相应负载。IOmeter是一 款用于测试计算机系统存储子系统和网络性能的软件工具,我们通常都用它测试 如磁盘、磁盘阵列的读写性能,以及测试构成整个存储子系统的各个环节在IO 过程中的表现,如FC的控制器、总线、CPU等。业界很多服务器的存储系统的 性能都用IOmeter测试的数据

47、来衡量。IOmeter对于不同的操作系统有不同的版本,大多数情况下是在Windows下 面使用。IOmeter由两部分程序构成,IOmeter和Dynamo。IOmeter是一个图形界 面程序,负责控制负荷(读写任务的访问特征(数据块、读写百分比、顺序或 随机读写等、负荷大小、启动负荷方式,它还接收和统计Dynamo反馈的数据, 并把这些数据显示和保存。Dynamo没有图形界面,是一个负载的产生器,它根 据IOmter的命令产生相应的读写负荷并加载到目标磁盘。3. IORATEIORate是一款由EMC开发的测试工具,用于进行存储系统的基准测试。 IORate可以在不同的负载下对存储设备进行一

48、系列I/O的测试。10Rate既可以用 于在文件系统上对文件进行I/O的测试,也可以针对裸设备直接进行I/O的测试。 需要说明的是,IORate虽然由EMC开发,但其并不是专门针对EMC的存储设备 的,而是可以应用于所有的存储系统。在IORate进行测试的时候,任意的一种I/O测试都是由一系列的配置文件一 起来定义的,包括设备文件、模式文件以及测试文件。这些配置文件所设定的项 目包括:测试所在的设备、测试时的I/O的类型和操作的模式以及将要执行的测 试用例集合。这些配置文件可以是默认的模式,也可以是用户自定义的。IORate 的测试是对所有的测试设备同步进行的。IORate也可以同时定义多个测

49、试用例, 在前一个测试用例运行结束以后,会自动运行下个测试用例。IORate还会在测 试运行的过程中生成详细的测试日志文件,以便用户可以重现测试过程。此外, IORate还会产生一个性能结果报告,其中包含了详细的关于每个测试用例在每一 个设备上运行的性能统计信息。2.6平台功能需求分析本小节的目的在于说明“自动化测试平台"软件的一些任务和各部分实现的 15电子科技大学硕士学位论文要求,以利于自动化平台的设计、研发和具体实现。对于一个网络存储系统,自动化测试平台的主要功能需求就是根据被测试系 统的特点,运用一些测试方法、集成一些测试工具,分别对系统中的每个软件进 行功能和性能测试。平台

50、要能够实现测试人员手工测试的动作,并尽可能的模拟 手工测试,自动化对被测系统下发测试命令,获取并分析测试结果,输出测试报 告,最后通过邮件形式把统计分析报告发送给测试人员。自动化测试平台要能够 控制整个测试过程的进行,集成各种测试工具,尽可能的提高自动化率,除此之 外,平台还应该提供良好的图形界面,使各种操作简单易学。根据网络存储系统测试的需求和自动化平台的用途,此平台应具有以下的一 些特性:1.物理环境管理功能由于系统中有许多的物理设备,如各种操作系统的服务器、光纤交换机、存 储系统等,平台必须提供物理设备管理的功能,在该平台中称为测试床。测试床 中记录了每个物理设备的必要信息,如系统管理I

51、P、业务IP、操作系统类型、登 陆的用户名和密码、系统支持的访问协议以及各个物理设备之间的连接关系等。 2.物理环境组网管理功能根据用户不同的需求,系统有不同的组网。例如:可以选用两台Linux系统 的服务器、一台光纤交换机和一台存储系统,也可以选用一台Linux系统的服务 器、一台光纤交换机和两台存储系统。平台必须提供环境组网管理的功能,能够 根据测试用例的具体要求自动调用相应的组网环境,在该平台中把组网管理模块 称为测试组网拓手b(TOP模块。3.用例结构自动生成功能平台要能够提供脚本自动生成功能。所有的文字用例统一存放在测试管理平 台中,MTE平台要提供脚本结构自动生成的功能,便于自动化

52、工程师编写脚本。 4.TestCase、TestSuites编辑的功能平台能够为测试人员提供编辑TestCase、TestSuites的功能。5.TestCase、TestSuites执行的功能平台应提供将测试人员编写的一个或多个TestCase启动运行的功能,并对 case的执行提供逻辑控制的功能。16第二章平台需求分析6.控制多种主机读写工具数据备份是网络存储的一个主要功能,如何备份数据和如何读取数据,以及 验证数据的一致性是测试的一个重点,因此平台应集成各种读写工具,如 IOMETER、10R ATE、TESTTOOL等。7. 日志生成和浏览功能测试过程中会有大量的日志信息,平台应提供日

53、志管理和查看的功能,能够 方便的查看测试用例执行的过程、结果等。8.测试报告输出功能平台应能够在测试执行完成后,能够自动生成测试报告,并采用Email等方 式将测试报告及时通知测试人员的功能。1.远程登陆功能服务器一般都支持telnet协议进行远程登陆,而存储系统为了加强数据安全 性一般使用ssh协议,另外为了方便测试很多时候还需要用到串口协议,因此该 平台至少要支持telnet、ssh和toni协议,让测试机能够通过这些协议远程登陆到 被测系统上面执行操作。2.文件传输功能平台提供传输文件的接口,使测试机和被测系统之间能够进行文件传输。在 测试中断时,平台搜集被测设备中断时的信息,通过文件传

54、输接口保存在测试机 上,便于测试人员定位分析。Client与Sever端文件传输采用FTP传输协议,Client 可以通过FTP向Sever端上传文件,Sever端利用FTP把日志文件保存在Client.km墒o平台应提供友好的OLr/界面,用户操作晃面应简洁直观,重点突出,便于操 作。除此之外,平台还应提供联机帮助,使操作人员能够得到及时的帮助。17电子科技大学硕士学位论文2.7平台开发和运行环境要求2.71硬件环境硬件环境参考配置如图2-1所示。硬件系统是用于承载操作系统和应用软件的 平台,硬件环境包括Client端、服务器、光纤交换机、存储系统和辅助测试工具 等。其中光纤通信只是网络存储

55、中的一种,还可以用ISCIC等其他通信方式。其 中MTE(MakeTestEasy为自动化测试平台软件,测试工具主要包括控制电源的 工具、拔插硬盘辅助工具等。图2-j平台硬件环境典型配置图开发环境包括操作系统、数据库系统、程序开发语言等。操作系统:Windows XP、Linux开发工具:vc+60、ActiveTcl 8.4l 0、PowerTCP编程语言:c、c-r、TCL/TK、Bash脚本第三章平台总体设计第三章 平台总体设计自动化测试平台的设计目标是为测试人员提供一个方便的测试脚本开发环境 (包括测试用例编辑和调试,一个友好的测试用例执行环境,一个功能齐全的产 品控制库的支持和完整的

56、日志信息。平台要能够应用到各种产品的测试中,使自 动化测试取代大部分手工测试,节约开发成本、提高测试效率、缩短研发周期、 保证产品质量。本章主要针对平台的框架进行分析,结合自动化测试平台设计原 则以及平台的需求,确定了平台的整体框架。3.1自动化平台设计原则软件自动化测试的设计与实现是一种典型的软件开发行为,一个成功的自动 化测试可能会使测试一劳永逸,而一个失败的自动化测试则可能会使测试陷入泥 潭,得不偿失。本节重点讲述实施自动化测试的四个理论基础:测试逻辑与测试 数据相分离理论,通用自动化测试框架理论,数据驱动测试理论和测试库理论。测试逻辑与测试数据相分离是自动化测试的基本思想瞄6J,也是实

57、现自动化测 试的首要基础和根本方法。测试逻辑是指执行测试操作的步骤,而测试数据是指 执行测试时的输入数据和预期输出数据。就像测试某一系统的查询功能一样,实 际在测试执行时往往要查询A、B、C等多种设备,但执行查询的操作过程是一 样的,即同样的测试流程要执行很多遍,而每一遍所不同的只是执行时所输入的 数据和期望的输出不同而已,因此通过测试逻辑与测试数据的分离可以一方面提 高自动化脚本的重用度,另一方面降低由于被测系统变化引发的脚本修改的工作 量。所以说这是实现自动化测试的首要基础和根本方法。一个成功的自动化测试必然会选择一种自动化测试平台框架,这个平台中可 以定义一些概念、接口和驱动函数等,规定一些特定的输入输出方式。而要想让19电子科技大学硕士学位论文辛辛苦苦积攒下来的测试理念和工程方法能够在多个产品或项目间共享,就必须 建立独立于被测系统的通用自动化测试框架,这样单个产品实现自动化测试的平 均成本才能降低。如果每一个自动化测试框架都和特定的产品绑定,那么用于自 动化测试设计和实现的成本肯定会远远高于直接采用手-r钡t试的成本,这就背离 了自动化测试的初衷唧。3.2设计目标本课题主要任务是根据自动化平台设计原则,集合软件自动化测试理论,让 平台具备稳定性、易扩展性、通用性和易用性,并灵活控制

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论