(信号与信息处理专业论文)网络存储自动化测试平台的设计与实现.pdf_第1页
(信号与信息处理专业论文)网络存储自动化测试平台的设计与实现.pdf_第2页
(信号与信息处理专业论文)网络存储自动化测试平台的设计与实现.pdf_第3页
(信号与信息处理专业论文)网络存储自动化测试平台的设计与实现.pdf_第4页
(信号与信息处理专业论文)网络存储自动化测试平台的设计与实现.pdf_第5页
已阅读5页,还剩69页未读 继续免费阅读

(信号与信息处理专业论文)网络存储自动化测试平台的设计与实现.pdf.pdf 免费下载

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

文档简介

摘要 摘要 网络存储时代被称为第三次i t 浪潮。现在,信息正以超乎人们想象的速度增 长。在未来三年内产生的数据量,将超过人类自结绳记事以来数千年的总和。网 络存储具有结构复杂,功能特性多的特点。针对网络存储的这种特点,如何构建 完备的存储功能测试集,并找到一种高效的描述语言描述存储功能测试集,设计 开发满足网络存储测试的自动化测试平台,对完成存储产品测试、保证存储产品 质量是至关重要的。 本文以软件自动化测试平台开发为背景,对网络存储系统进行了分析和研究, 把软件自动化测试理论应用到网络存储相关产品的测试中去,结合软件自动化测 试技术实现了网络存储测试的自动化,为网络存储提供了一套自动化测试平台。 本文首先介绍了本课题的背景、意义及研究现状;然后,介绍了网络存储的 基本组成、结构及其典型应用,紧接着介绍了软件自动化测试理论和t c l 脚本语 言,以及在测试中常用的几种读写工具。 文章根据网络存储系统的测试背景,针对测试对象,分析了网络存储自动化 测试平台的需求,并结合自动化测试平台的设计原则,对平台进行了总体设计, 再结合平台整体框架,设计出了自动化脚本的开发流程。 文章按功能对平台进行了模块划分,并给出了各模块之间的关系,对自动化 测试平台的相关模块进行了详细的讨论、分析和设计,接着详细阐述了存储产品 的控制库及工具控制类。最后,结合存储产品的测试给出了平台的应用实例。 本项目研发的网络存储测试平台已经顺利通过了验收,该自动化测试平台还 具有降低存储产品测试开销、提高测试效率、缩短研发周期、完成一些手工测试 无法完成的工作等优点,并已成功的投入到了产品的研发当中,具有一定的实用 价值。 关键词:网络存储,自动化测试平台,测试集,控制库 燮坚竺三 a b s t r a c t n e 咖r ks t o r a g et i m ei s c a l l e dt h et h i r di t t i d e n o w , t h eg r o w mm t eo f 1 1 1 士o m a n i 阻i sb e y o n dp e o p l e si m a g i n a t i o n t h ed a m s g e n e r a t ei nm en e x tt h r e ev e a r s m 儿e x c e e dt h ed a m ss i n c et h es l a m o fs e v e r a lt h o u s a n dy e a r s s o ,i n o r d e rt o a c c o m p l i s hs t o r a g ep r o d u c t sf e a t u r e st e s t , w es h a l lc o n s i d e ra l l t h e s eq u e s t i o i l sa s 幻j l o w s ;上1 0 wt oc o n s t r u c ta c o m p l e t en e t w o r ks t o r a g et e s ts u i t e ,h o wt 0 缸da ne f f i c i e m t e s ts t r i t ed e s c r i p t i o nl a n g u a g ea n dh o w t od e s i g na u t o m a t e t e s t i l l gp l a t f o n n a st h eb a c k g r o u n do fa u t o m a t e t e s tp l a t f o r m , n e t w o r k s t o r a g ea i l ds o f h ,2 u r e a l l t o m a t i o n t e s t i n gt e c h n o l o g ya r ea n a l y z e da s w e l l a s s o c i a t 协g埘t hs o 行啪 a u t o m a t l o n t e s t i n gt e c h n o l o g y , a n dt h es t r u c t u r eo fn e t w o r ks t o r a g e ,a u t o m a t e t e s t p l a t f o r mi si m p l e m e n t e d t h i sd i s s e r t a t i o nb r i e f l yi n l r o d u c e st h e i n f o r e w o r d s u b s e q u e n t l yt h i sd i s s e r t a t i o n b a c k g r o u n da n ds i g n i f i c a n c eo ft h i sp r o j e c t a n a l y s e st h eb a s i cc o m p o s i t i o n , e s p e c i a l l y t h es 咖c t u r eo fn e t w o r ks t o r a g e ,s o f t w a r ea u t o m a t i o n t e s t i n gt e c h n o l o g y , t c ls c 却妇g l a n g u a g ea n ds e v e r a lt o o l sw h i c ha r eu s u a l l yu s e di nt e s t a c c o r d i n gt ot h et e s tb a c k g r o u n do fn e t w o r ks t o r a g e ,a 1 1 a l y s i sm en e e d so f a u t o m a t e s tp l a t f o r m f r a m e w o r ko f a u t o m a t et e s tp l a t f o r mi se s t a b l i s h e da c c o r d 蛔gt 0 t h es o f t w a r ea u t o m a t i o n t e s t i n gp r i n c i p l e a c c o r d i n gt o 丘眦e w o r k ,t h ef l o wo f p e r f o r m i n go ft e s ts c r i p t si sd e s i g n e d 1 nt b j sd i s s e r t a t i o n ,t h ep l a t f o r mi s p a r t i t i o n e di n t od i f f e r e n tm o 础e sb yd i 瓤m n m c n o n s a n dt h e i r r e l a t i o n s h i p sa r ed e s c r i b e d a tl a s t , 如叩l e m e n to fa u t o m a t et e s t p 上a t 士。珊mt h ef o r mo fs o f t w a r ei sd i s c u s s e di nd e t a i l ,a n dg i v ea l l 印p l i c a t i o ne x a i n p l e o fh o wa u t o m a t et e s tp l a t f o r mo fn e t w o r k s t o r a g eu s e dt 0t e s t u 1 】ra u t o m a t et e s tp l a t f o r mo fn e t w o r k s t o r a g eh a sp a s s e dt h ef u n c t i o nc h e c k s u c c e s s f u l l ya n di th a sm a n ya d v a n t a g e s ,s u c ha sr e d u c i n gc o s to f 哟r a g es o 鲰留e f e 舭s s i o nt e s t , i n c r e a s i n gt e s te f f i c i e n c y i ti sp r o v e dt h a tt h e 龇l t o m a t et e s tp l a t f o 肋i s k e yw 。r d s :n e t w o r ks t o r a g e , a u t o m a t et e s t p l a t f o r m , t e s t s u i t e ,c o n 臼d ll i b 呻 玎 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为 获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示谢意。 签名:鱼邀毖: 日期:沙口7 年r 月7 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘, 允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) , 签名:诬返拿乞导师签名:压竺童二叁 日期:q 年朋 第一章引言 第一章引言 1 1 课题的研究意义和必要性 最新数据表明,全球数字化信息正以几何级数放大增长【2 】,面对“爆炸”的 信息、数据,人们已经感受到第三次i t 浪潮一网络存储时代的来临。网络存储 在近1 0 年的时间内发展迅速,日益应用到各个行业;据i d c 统计,至2 0 0 5 年, 有7 0 的新存储产品采购与网络存储相关。随着计算机技术的发展和广泛应用, 存储技术已经得到了业界和各个应用领域专业人士的重视。 2 0 0 1 年的全球存储市场规模为3 8 6 3 5 亿美元,2 0 0 5 年,达5 8 0 3 4 亿美元。 在亚太区,存储市场规模从2 0 0 0 年的2 4 9 亿美元增长到2 0 0 5 年的4 5 1 亿美元。 研究显示,企业对信息资料存储的忽视已经影响了自身的商务运作能力,并且随 着数据规模的增大及安全要求的不断提高,存储设备的应用管理成本也日益提高 p l 。“9 1 1 ”事件后,为一些关键业务行业,比如金融、电信以及证券等行业敲起了 数据安全的警钟,使得这些被人们称为高端市场的行业用户对网络存储产品有了 更大的需求,因此出现了市场的采购高潮。即使不是“9 1 1 ”,由于这些行业信息化 程度较高,对网络存储的需求也是最迫切的,所以,相对于其他传统领域而言网 络存储的市场潜力巨大。 新的网络存储技术以其自身的优势 4 】,一方面为网络上的应用系统提供丰富、 快速、简便的存储资源;另一方面又能共享存储资源并对其实施集中管理,成为 当今理想的网络存储管理和应用模式。与传统存储方式相比,网络的管理效率大 大提高了,资源利用率远远高于传统存储方式,所以势必将占有大量的市场。据 预测,在未来的几年内,我国的存储系统市场将快速增长,其中,网络存储将以 每年增长的速度发展1 5 j 。 在网络存储系统中,以软件技术为主,软件测试在软件的整个开发过程中占 有非常重要的地位,是保证软件质量、提高软件可靠性的关键| 4 】。软件测试工作做 得怎样,直接决定着软件产品质量的好坏。大量统计资料表明,软件测试阶段投 入的成本和工作量往往要占软件开发总成本和总工作量的4 0 到5 0 甚至更多1 7 。 近年来,随着软件应用范围的扩大,软件复杂度的提高,以及软件设计技术的不 断发展,软件开发规模越来越大,处理的问题愈来愈复杂。然而,软件系统的可 电子科技大学硕士学位论文 靠性更为重要,传统的软件测试技术和方法以及测试工具已无法满足大型的、复 杂的软件测试需要。软件测试己成为当前软件技术研究的重点和难点,软件自动 化测试技术的研究越来越受到软件界的重视降j 。 随着软件规模的增加测试工作量的增大软件开发周期的缩短使用软件测试自 动化技术提高软件测试的速度和效率就成为了软件测试发展的必然趋势。使用软 件测试自动化技术能完成许多手工测试无法实现或难以实现的测试。正确、合理 地实施自动化测试,能够快速、彻底地对软件进行测试,从而提高软件质量,节 省经费,缩短产品发布周期。另外,自动化测试还能排除一些人为的因素( 如遗 漏、手误等等) 。 存储系统产品构成相当复杂,需要测试的特性多,把软件自动化测试应用到 存储系统产品的研发中,可以大大节省测试时间,缩短产品开发周期,让产品质 量得到有力的保证。 1 2 国内外研究现状 1 2 1 网络存储系统的现状 有鉴于网络存储系统的重要性,欧美各国都在极力发展存储系统技术。市场 方面,欧美各大跨国公司,如e m c 、i b m 、h p 等,在存储系统产品的研发和未来 技术发展上都有大的资金和资源投入,并在市场上取得了垄断性地位。与此相配 合,欧美各国在国家战略角度上,重点支持大型网络存储系统的研究和开发。 目前比较有影响的存储系统有:加州大学伯克利分校的o c e a n s t o r e 提出的全 局存储体系结构,其特点是实现数据的全局存储表示和全局唯一名字来实现任意 存储,但结构复杂,实现困难,管理成本和复杂性较高。 明尼苏达大学的g f s ( g l o b a lf i l es y s t e m ) 是一种应用于光纤通道存储系统的 全局文件系统。它允许多个l i n u x 客户机通过网络共享存储设备。每一台机器都可 以将网络共享磁盘看作是本地磁盘,而且g f s 自己也以本地文件系统的形式出现。 卡耐基梅隆大学的n a s d ( n e t w o r k a t t a h e ds e c u r ed i s k ) 是基于智能存储设 备的集成安全存储系统,该系统在n a s 存储设备智能化基础上进行扩充,实现基 于文件的安全访问一j 。 清华大学高性能计算技术研究所网络存储实验室是国内较早开展海量存储技 术研究的课题组。其研究的内容主要包括海量信息的多层存储体系、海量信息的 2 第一章引言 快速i 0 技术、存储容灾技术、存储智能管理技术、存储高可用存储安全技术、分 布式信息服务技术、面向i n t e m e t 服务的海量信息存储华中科技大学正在进行网络 存储系统中虚拟化存储技术的研究。通过网络磁盘阵列,将分布在网络中的空闲 资源收集起来构建公共存储池,同研究公共存储池的构建和管理以及底层通讯协 议的定制。中科院计算所也在进行网络存储技术的研究,其研究领域主要集中在 式共享存储系统。北京大学相关研究机构正在研究网络存储和p z p 的相关内容, 对基于消息中间件和结构化的p z p 结构进行了深入研究l l 0 1 。 1 2 2 自动化测试平台的国内外现状 在软件业较发达的国家”o i ,软件测试不仅早己成为软件开发的一个有机组成 部分,而且在整个软件开发的系统工程中占据着相当大的比重。以美国的软件开 发和生产的平均资金投入为例,通常是:“需求分析 和“规划确定”各占百分 之三,“设计 占百分之五,“编程”占百分之七,“测试”占百分之十五,“投 产和维护”占百分之六十七。 目前国外测试自动化的工具多种多样,例如: 1 m e r e u r yi n t e r a e t i v e 公司的w i n r u n n e r 是一种企业级的功能测试工具,用 于检测应用程序是否能够达到预期的功能及正常运行。通过自动录制、检测和回 放用户的应用操作,w i n r u n n e r 能够有效地帮助测试人员对复杂的企业级应用的 不同发布版进行测试,提高测试人员的工作效率和质量,确保跨平台的、复杂的 企业级应用无故障发布及长期稳定运行。 2 l o a dr u n n o r 是一种预测系统行为和性能的负载测试工具。通过以模拟千 万用户实施并发负载及实时性能监测的方式来确认和查找问题,l o a d r u n n e r 够对 整个企业架构进行测试。通过使用l o a d r u r m e r ,企业能最大限度地缩短测试时间, 优化性能和加速应用系统的发布周期。 3 t e s d i r e c t o r 是业界第一个基于w e b 的测试管理系统,它可以在公司内部 或外部进行全球范围内测试的管理。通过在一个整体的应用系统中集成了测试管 理的各个部分,包括需求管理,测试计划,测试执行以及错误跟踪等功能。 4 i b mr a t i o n a ls o l u t i o n s 是在r u p 测试方法论的基础构建的软件自动化测 试工具集,它有多种测试工具组成,例如:管理平台工具t e s t m n a g a e r ,测试需求 管理工具r e u q s i i e t p o r 、缺陷追踪工具c l e a r q u e s t ,自动化测试工具r b o o t 等,并 通过t e s t m n a a g e r ,r e q u i s i t e p o r 、c l e a r q u e s t 、r o b o t 的完美集成,实现了对整个 3 电子科技大学硕士学位论文 软件测试生命周期的管理,可以帮助软件测试团队快速建立软件测试平台和测试 管理流程。 不过在我国软件企业不断提高产品质量,积极推动测试发展的趋势下i l2 | ,我 国的测试技术也得到了发展,主要的研究成果如下: 1 基于对象建模的g u i 测试 北京大学的王立福教授在2 0 0 0 年,提出一种界面类对象建模技术,体现了对 象的封装、通信、动态特征。优点:使得界面对象易于识别。缺点:g u i 测试用 例的覆盖程度不够理想。 2 基于界面构件关联图的测试方法 浙江大学的谭建荣教授,2 0 0 2 年提出界面构件关联图,利用构件的相互关系, 提出测试覆盖准则和测试用例生成方法。优点:有较好的交互关系和覆盖准则。 缺点:关联提取复杂,导致关联图冗余。 1 3 本文主要工作和结构安排 本文的主要工作是结合课题任务,根据网络存储系统的结构和工作过程并结 合自动化测试技术,针对网络存储自动化测试平台的设计与实现开展研究,设计 了一套引入自动化测试的解决方案,并自主开发出一套通用的测试平台( m t e : m a k et e s te a s y ) 。该平台已经成功的推广到各个存储产品的测试中,包括产品的 函数接口测试、单元测试、集成测试等,极大的提高了产品测试效率和测试覆盖 率,缩短了测试周期,对产品质量保证起到了极大的推动作用。 本文的主要工作具体包括以下内容: 首先结合网络存储系统自动化测试平台开发项目,进行了软件测试及自动化 测试理论与方法的研究,对自动化测试平台整体架构及各个主要模块的设计进行 了深入的分析,并根据网络存储复杂的特点及从测试平台结构和执行效率的角度 上考虑,提出使用t c l 语言开发自动化测试平台。 第一章:引言简要介绍了本课题研究的背景和意义,介绍了网络存储和自动 化测试平台的发展概况和国内外现状,说明了开发网络存储自动化测试平台的必 要性,并指出了本文的研究内容和结构安排。 第二章:介绍了网络存储系统的组成要素和关键技术,分析了网络存储系统 的工作原理和典型应用。结合网络存储的应用和软件自动化测试技术,对网络存 储自动化测试平台进行了详细的需求分析。 4 第一章引言 第三章:讨论了网络存储自动化测试平台的总体设计。介绍了自动化测试平 台的设计原则,在此基础上,针对网络存储自动化测试平台的主要任务,讨论了 平台的总体设计方案和系统结构,并给出了自动化用例的开发、执行流程。 第四章:对平台的各个功能模块进行了分析和讨论。对于平台设定的用例结 构进行了介绍,分析了主要模块的设计和功能,给出了自动化测试脚本的执行流 程和各个模块之间的相互联系,同时介绍了平台用户界面g u i 。 第五章:介绍了网络存储自动化测试平台在功能测试和性能测试中的应用, 给出了具体实例,介绍了平台的应用效果。 第六章:结束语。总结全文并进行展望。 5 电子科技大学硕士学位论文 第二章平台需求分析 自动化测试在存储领域的发展方兴未艾。从目前收集到的资料来看,国内外 存储行业巨头如e m c 、i b m 、h p 等都有一套完善的知识体系及自动化测试平台来 支持自动化测试。但目前,国内的自动化测试水平还处在比较初级的阶段。为了 积极推广自动化测试,提高测试效率,保障产品质量,结合国内自研存储产品的 实际情况,设计并开发出一套自动化测试平台一自动化测试平台( m t e ) 作为支 持自动化测试的基础设施。 本章主要介绍网络存储和自动化测试基础知识,研究了网络存储系统的测试 背景,根据测试对象,介绍了几种常用的测试工具,对平台的功能需求做了详细 的分析。 2 1 网络存储系统 信息的爆炸性增长给存储技术的发展提供了良好的机遇,人们对存储设备容 量、性能等方面的要求也越来越高。网络存储技术正是在这一需求的驱动下发展 起来的。 网络存储提供以下优点:存储容量易扩展,具有灵活的寻址能力,远距离的 告诉传输能力,高效的i o 性能,高可用性,考可靠性,尤其是它为多个主机系 统共享存储子系统和数据奠定了基础【1 引。 2 1 1 网络存储系统类型及对比 由于存储过程是和系统紧密结合在一起的,因此,可能将存储网络称作系统 应用会更贴切一些。随着存储技术的发展,出现许多各具特色的共享存储体系。 目前,应用较多的体系结构根据存储设备和其他主机的连接方式,主要有如下两 类。 1 n a s ( n e t w o r ka t t a c h e ds t o r a g e ) 网络连接存储n a s 是将存储设备( 如:磁盘阵列等) 通过标准的网络拓扑结 构( 例如以太网) ,连接到一群计算机上,提供数据和文件服务。n a s 使用标准 协议如n f s f n e t w o r kf i l es y s t e m ) 或c i f s ( c o m m o ni n t e m e tf i l es y s t e m ) 在文件层提 6 第二章平台需求分析 供数据的共享访问。图1 一l 给出了n a s 组网图,存储设各和主机相连接,然后该 主机通过文件共享的方式使存储设备为网络上的其他主机所利用。其他的主机以 文件为单位访问网络文件系统。 垦ll 国】l 夔】【厘 盛恩氲氲 晴画攀 图l - ln a s 客户服务器之间的连接示意图 n a s 被定义为一种特殊的装用数据存储服务器,包括存储设备和内嵌系统软 件,可提供跨平台文件共享功能。n a s 通常在一个l a n 上占有自己的节点,无 需应用服务器的干预,允许用户在网络上存取数据,在这种配置中,n a s 集中管 理和处理网络上的所有数据,将负载从应用或企业服务器上卸载下来。 2s a nf s t o r a g e a i e a n e t w o r k ) 存储区域网络s a n 是存储设备与服务器经由高速网络设备连接而形成的存 储专用网络。它通过光纤通路技术构建网络,存储设备和主机都连入网络,可以 把一个或多个主机连接到磁盘阵列和子系统上,如图1 2 所示。s a n 置于l a n 之下,而不涉及l a n 。因此s a n 可以看作是负责存储传输的“后端”网络, 而“前端”网络负责正常的t c p r p 传输。基于s a n 的存储模式既实现了集中式 的数据存储和管理,又通过s a n 的特点解决了数据流量的瓶颈,同时又具有极大 的灵活性、可扩展性和连接能力等特点。 s a n 能够解决与网络存储备份有关的问题,它可以提供1 0 0 兆字节,秒的高 性能数据管道和共享的集中管理的存储设备。它将消除人们对网络宽带的顾虑 太幅度地减少管理费用支出,并将减少备份系统的总体拥有成本。 电子科技大学硕士学位论文 客户机 服务器 存储备 图1 - 2 典型的s a n 构成连接示意图 这两种方案都可以解决存储系统的扩展性问题,也各有优缺点,表1 - 1 就针 对两者的特点作一个简单的对比“: 表 一is a n 与n a s 的对比 s a nn a s 协议 f c p ( s c s i ) n f s c i f s h t 丁p 存储单位物理( b l o c k )逻辑( 文件) 接口类型光纤通路, e t h e m e tf d d i 胁e r n e t 文件系统的构建s e r v e r 来完成s t o r a g e 部分完成 数据集中的实现好好 系统成本较高较低 系统复杂程度高低 系统性能好受网络环境影响 系统配置复杂简单 总之,n a s 应用比较简单灵活。它具备了磁盘阵列的所有主要特征:高容量 高效能、高可靠。n a s 的管理和设置较为简单。价格比较低适,台中小型的应用 而s a n 则具有高效的可扩展性,与n a s 相比,s a n 具有无限的扩展能力。另外 第二章平台需求分析 s a n 具有更高的连接速度和处理能力。s a n 采用了为大规模数据传输而专门设计 的光纤通路技术,目前的传输宿舍为1 0 0 m b p s ,并会很快开发出传输速度为 2 0 0 m b p s 和4 0 0 m b p s 的光纤通路交换机。 2 1 2 网络存储的构成要素 网络存储的构成要素主要可以分为:连接协议、硬件、管理软件l 】引。其中的 网络设备有s w i t c h , h u b ,b r i d g e 等,概念上可以和以太网上的设备对应起来,但 是在功能和协议上两者区别很大。这些网络设备被给予千兆速率的s c s i 光纤通 道( f i b r ec h a n n e l ) ,使用的协议是s c s i 。 由于s a n 的网络结构的特殊性,带来了其中硬件构成的特点。存储网络如同 l a n 一样,主机连到l a n 需要网卡,主机连到s a n 上通过主机内部的h b a ( h o s t b u sa d a p t e r ) ,l a n 中网络是光纤或铜缆,s a n 中也是一样;s a n 中,设备可以 是环形连接,也可以用h u b 建立星型连接,还可以用多个s w i t c h 建成树状结构 的s a n 。从逻辑上看,s a n 是由一个或多个仲裁环( n o n f a b r i ca l ) ,但是支持一 个网络( f a b r i c ) g 连,势必就增加了设备的复杂性。硬件设备主要包括: 网络连接设备:如a ( h o s tb u sa d a p t e r ) ,f c h u b ,s w i t c h i n gh u b ,f a b r i c s w i t c h , 转换器,g b i c ( 千兆位接口转换器) 等。 存储设备:如t a p el i b r a r y ,f i b r e a r r a y ( 光纤磁盘阵列) ,s c s ir a i d ( s c s i 磁盘阵列,具有r a i d 校验功能) 等。 s a n 环境下的连接方式主要由光纤通路、s c s i 和e s c o n 三种。e s c o n 一般 反应用于大型机系统,s c s i 主要应用于以传统的服务器为中心的s a n 结构中,但 是它是单机连接窄s c s i 最多能接7 台设备,宽s c s i 最多也只能接1 5 台,其连接 距离也近的让人惋惜,即使目前出现的扩展s c s i 协议也仍然达不到光纤通路多主 机连接,支持1 6 0 0 万节点,1 0 公里的连接距离的优点,图1 3 为网络存储的典型 应用。目前的s a n 网络中主要采用的还是光纤通路协议。 9 电子科技大学硕士学位论文 m m s c n 同 2 2 软件自动化测试 图l - 3 网络存储的典型应用 软件测试是软件工程的重要环节,在软件生存期中占有非常突出的重要地位, 它直接关系到软件的质量、开发速度和成本。软件设计和编码技术的飞速发展使 软件设计和编码的效率得以极大提高,软件测试的工作量与过去相比并未减少, 相反,在整个软件生命周期中,所占的比例呈不断上升趋势。为提高软件开发的 效率和软件质量,将测试自动化替代一部分手工测试是实现这一目标的行之有效 的方法。 22 1 软件自动化测试的优点 软件自动化测试就是执行某种程序设计语言编制的自动测试程序,控制被测 软件的执行,模拟手动测试步骤,完成全自动或半自动测试_ 】。其目的在于缩短 测试周期,增强对软件性能方面的测试能力等,从而达到保证软件质量并使软件 能够提前上线。 自动化测试具有以下优点| 】h : 1 ) 使软件新版本进行回归测试的开销最小。对于软件开发,每发布一个新 版本,其中大部分功能和界面都和上一个版本相似或完全相同,这时要对新版本 再次进行已有的测试,这部分工作多为重复工作,特别适合使用自动化测试来完 墨匙 第二章平台需求分析 成,从而令回归测试的开销达到最小。 2 ) 可以在更短的时间内完成更多的测试。基于计算机的高效计算能力,自 动化测试的最根本的优点在于,与手工测试相比,能在更少的时间内完成更多的 测试工作,因此也就缩短了测试时间。 3 ) 可以完成一些手工测试不能或难以完成的测试。对于一些非功能性方面 的测试,如:压力测试、并发测试、大数据量测试、崩溃性测试等,这些测试用 手工测试是很难,甚至是不可能完成的。但自动化测试则能方便地执行这些测试, 比如并发测试,使用自动化测试工具就可以模拟来自多方的并发操作了。 4 )测试具有一致性和可重复性。由于每次自动化测试运行的脚本是相同的, 所以可以进行重复的测试,使得每次执行的测试具有一致性,手工测试则很难做 到这点。有些测试可能在不同的硬件配置下执行,使用不同的操作系统或不同的 数据库,此时要求多平台产品的跨平台质量的一致性,这在手工测试的情况下更 不可能做到。好的自动测试机制还可以确保测试标准与开发标准的一致性。例如, 此类工具可以测试每个应用程序的相同类型的功能以相同的方法实现。 5 )更好地利用资源。将繁琐的测试任务自动化,可以使测试人员解脱出来, 将精力更多地投入到测试用例的设计和必要的手工测试当中。并且,理想的自动 化测试能够按计划完全自动地运行,使得完全可以利用周末和晚上的时间执行自 动化测试。 6 )测试的复用性高。好的自动化测试机制可以很好的提高测试脚本的复用 性,当测试软件发生改变,只需要对测试脚本进行少量的修改就可以进行回归测 试,大大降低了测试脚本的维护开销。 7 )可以更快地将软件推向市场。一旦一系列测试已经被自动化,则可以比 手工测试更快地重复执行,因此缩短了软件开发的时间。 8 ) 增加软件信任度。软件通过强有力地自动化测试后,可以大大减少软件 中存在的错误,提高软件质量,发布时对其的信任度也就相应提高了 2 2 2 软件自动化测试的重要概念 本节重点讲述自动化测试中的几个重要的概念:程序控制对象、动作词函数、 测试集、测试逻辑以及他们之间的关系。 1 ) 程序控制对象 程序控制对象( p r o g r a m c o n t r o l l e d o b j e e t ,简称p c o ) 1 0 1 ,就是将脚本中所 电子科技大学硕士学位论文 使用的数据进行结构化和对象化,在数据资源池中形成一致的数据结构描述,它 统一了在脚本中数据的组织方式,也规范了脚本间数据的传递方式。 在自动化测试脚本中,通过p c o 的方式引用数据池中的数据对象,保证了 测试数据向测试逻辑传递接口的一致性,并且除了使用的数据本身,还传递了数 据对象内部的关系,有助于形成标准的公用的数据处理模块,简化测试脚本的复 杂度,提高测试脚本的可读性和可维护性。 2 ) 动作词函数 动作词函数( a c t i o nw o r d ,简称a w ) 实际上就是测试过重中的一个或几个 操作步骤 2 0 】。例如,在存储系统中创建一个添加一个典型映射,需要先创建主 机、给主机添加l u n 映射,然后再添加端口,而这一系列的动作可以被设计成 一个动作词函数,只要调用这个动作词函数,就可以执行一系列的操作,它体现 的就是某个p c o 对象的动作。 3 ) 测试集 如果有多个测试用例需要在相同的环境、配置下执行,就可以将这个环境配 置抽取成一个公共的“测试集”,从而完成环境相关的公共数据抽取瞄。例如, 在s a n 系统的从测试中,需要一台服务器和一个光纤交换机和一台存储系统的用 例,他们就可以组成一个测试集,因为他们需要的物理环境组网相同。 4 ) 测试逻辑 如果有多个测试用例的测试步骤相同,只是输入输出不同,就可以将这些测 试用例的测试步骤抽取成一个公共的“测试逻辑”,把输入输出数据独立出来定 义。测试逻辑就是通过虚拟化的p c o 的a w 函数组合完成的业务抽象,所谓虚 拟化是指当p c o 传入的对象类型不同,a w 的实现可以不同e 引。 2 2 3t c l 脚本语言 t c l ( t o o lc o m m a n dl a n g u a g e ) 是一种简洁高效的解释脚本语言,它其实是 指两样东西:一种脚本语言以及该脚本语言的解释器。该解释器可以很容易地嵌 入到应用程序中。t c l 最初的构想是希望把编程按照基于组件的方法( c o m p o n e n t a p p r o a c h ) ,即将程序分割成一个个小的,具备一定“完整”功能的,可重复使用 的组件p 3 1 。不同的组件有不同的功能,用于不同的目的,并可为其它的应用程序 所利用。当然,这种语言还要有良好的扩展性,以便用户为其增添新的功能模块。 t c l 语言是一种简单、易学、易扩展和平台无关的脚本语言,在工业界的各 1 2 第二章平台需求分析 个领域都有着广泛的应用。在本自动化测试平台中,测试脚本的开发采用t c l 语 言主要基于以下几点考虑: 1 t c l 作为一种测试描述语言,它具有足够的描述能力,t c l 语言可以看 作c 语言的扩展库。它具有和c 语言相当的描述能力,对于网络存储功能的实现, t c l 语言足够胜任。 2 使用t c l 编写的测试脚本执行效率高,虽然是解释执行,但是测试脚本 中所用到的测试操作过程是被直接编译成可执行目标码,整个执行系统的结构比 较紧凑,因而执行效率也会比较高。 3 t c l 语言的执行器通常可以很容易地嵌入到测试系统中,使得测试系统 的开发代价小。 4 t c l 具有良好的移植性和扩展性。它本身就是跨平台设计的,这有利于 在不同的操作系统上实现对路由协议的测试。t c l 提供了和c 语言间的接口,测 试人员可以针对不同待测对象设计扩展t c l 命令集添加到测试系统中,增强测试 系统的测试能力。 5 t c l 编写测试例简洁易学。由于t c l 语言使用的广泛性及语言本身的简 单性,开发测试套的人员可以比较容易的掌握测试脚本开发的方法,从而可以减 少人员培训的代价。 2 3 网络存储系统测试背景 当前网络存储系统测试存在诸多问题,测试花费较大,测试时间有限,不仅 购买诸多测试工具需要支付高昂的费用,就测试本身来说由于手工测试部分太多, 需要投入大量的人力才能勉强满足系统本身的测试需求1 2 引。而且由于测试工作的 分散较大,相互之间的联系不够,对于单元测试和集成测试的分配不合理等。这 些状况都急需要个稳定、统一的测试环境和测试平台来维护大部分测试,同时 也需要把那些需要重复操作的工作放到自动测试中去以减少测试的工作量。 2 4 测试对象 网路存储系统由连接协议、硬件、管理软件组成,而硬件由于网络连接设备 和存储设备组成。网络连接设备和存储设备组成如下: 网络连接设备:如a ( h o s tb u sa d a p t e r ) ,f c - h u b ,s w i t c h i n gh u b ,f a b r i c 1 3 电子科技大学硕士学位论文 s w i t c h ,转换器,g b i c ( 千兆位接口转换器) 等。 存储设备:如t a p el i b r a r y ,f i b r e a r r a y ( 光纤磁盘阵列) ,s c s ir a i d ( s c s i 磁盘阵列,具有r a i d 校验功能) ,存储系统管理软件等。 服务器:如l i n u x ,w l i l d o w s 操作系统及主机软件等。 根据网络存储的组成可以看出,平台的主要测试对象为系统中的各个软件的 功能,例如服务器应用软件、存储系统功能软件以及整个系统的功能,包括r a i d 校验功能、主机端读写数据的一至性等。希望通过此自动化测试平台能完成对网 络存储系统各种功能和性能测试。测试涉及的对象有网络连接设备、存储设备及 服务器及相关设备。 2 5 测试工具 为了对存储产品进行全方位的测试,平台需要集成读写工具,目前业界常用 的几种工具为:t e s t t o o l 、i o ra t e 、i o m e t e r 。 1 t e s t t o o l t e s tt o o l s 是f i n i s a r 公司下属的m e d u s a 实验室开发的针对存储设备的测试工 具。f i n i s a r 公司从事存储行业十余年,功底是相当的深厚,因此开发出的此款测 试产品,功能自然也是相当的强大。t e s tt o o l s 的工作原理是通过主机对存储设备 进行读写的i o 操作以及数据一致性校验等方法来实现对存储设备及传输通道的 检测。它支持多种操作系统包括:w i n d o w s ,l i n u x 以及s o l a r i s ,为用户提供了丰 富多彩的测试手段,包括多线程单i o 测试及单线程多i o 队列测试,并且针对具 体测试目标以及测试目的的不同,根据该公司在业内打拼多年的经验,提供了多 种科学的数据模板以及检测方式,从而最大限度的揭示我们存储设备所存在的问 题。同时在输出结果方面,它也提供了多种形式,包括屏幕显示和多样化日志文 件输出等。 t e s tt o o l s 的命令主要有两种,第一种是由p a i n 和m a i m 组成的i o 测试命令, 第二种是c a t a p u l t 命令,该命令是m e d u s a 专门为t e s tt o o l s 提供用于查找和指定 被测目标设备的命令。一般将i o 测试命令嵌套在c a t a p u l t 命令内部使用,组成一 套查找被测设备并对其进行测试操作的动作。这两个命令各有其特色,p a i n 命令 主要采用多线程同步访问方式,每个线程每次收发一个i o 包对被测设备进行读 写测试操作。而m a i m 命令主要采用单线程异步访问方式,一次收发送多个i o , 组成i o 队列对被测设备进行读写测试操作。 1 4 第二章平台需求分析 2 1 0 m e i e r i o m e t e r 是业界广泛使用的i o 性能测试软件。通过使用不同的i o m e t e r 设定 值来呈现文件服务器( 选择范围为5 1 2 b y t e s 到6 4 k b ) 的相应负载。i o m e t e r 是一 款用于测试计算机系统存储子系统和网络性能的软件工具,我们通常都用它测试 如磁盘、磁盘阵列的读写性能,以及测试构成整个存储子系统的各个环节在i o 过程中的表现,如f c 的控制器、总线、c p u 等。业界很多服务器的存储系统的 性能都用i o m e t e r 测试的数据来衡量。 i o m e t e r 对于不同的操作系统有不同的版本,大多数情况下是在w i n d o w s 下 面使用。i o m e t e r 由两部分程序构成,i o m e t e r 和d y n a m o 。i o m e t e r 是一个图形界 面程序,负责控制负荷( 读写任务) 的访问特征( 数据块、读写百分比、顺序或 随机读写等) 、负荷大小、启动负荷方式,它还接收和统计d y n a m o 反馈的数据, 并把这些数据显示和保存。d y n a m o 没有图形界面,是一个负载的产生器,它根 据i o m t e r 的命令产生相应的读写负荷并加载到目标磁盘。 3 i o r a t e i o r a t e 是一款由e m c 开发的测试工具,用于进行存储系统的基准测试。 i o r a t e 可以在不同的负载下对存储设备进行一系列i o 的测试。1 0 r a t e 既可以用 于在文件系统上对文件进行i o 的测试,也可以针对裸设备直接进行i o 的测试。 需要说明的是,i o r a t e 虽然由e m c 开发,但其并不是专门针对e m c 的存储设备 的,而是可以应用于所有的存储系统。 在i o r a t e 进行测试的时候,任意的一种i o 测试都是由一系列的配置文件一 起来定义的,包括设备文件、模式文件以及测试文件。这些配置文件所设定的项 目包括:测试所在的设备、测试时的i o 的类型和操作的模式以及将要执行的测 试用例集合。这些配置文件可以是默认的模式,也可以是用户自定义的。i o r a t e 的测试是对所有的测试设备同步进行的。i o r a t e 也可以同时定义多个测试用例, 在前一个测试用例运行结束以后,会自动运行下个测试用例。i o r a t e 还会在测 试运行的过程中生成详细的测试日志文件,以便用户可以重现测试过程。此外, i o r a t e 还会产生一个性能结果报告,其中包含了详细的关于每个测试用例在每一 个设备上运行的性能统计信息。 2 6 平台功能需求分析 本小节的目的在于说明“自动化测试平台 软件的一些任务和各部分实现的 1 5 电子科技大学硕士学位论文 要求,以利于自动化平台的设计、研发和具体实现。 对于一

温馨提示

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

评论

0/150

提交评论