网站地图>收藏本站>设为首页
定做流程>服务项目>价格参考>付款方式>诚邀加盟>关于本站>联系我们
当前位置:5173毕业设计论文网文章资讯免费论文计算机理论

实现SUSE下RoseReplicator部分功能的自动化测试

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2010-04-09 15:26:00
QQ交谈在线咨询详情 5173论文网竭诚为您服务 本站永久域名:www.lw5173.com

 

本文首先研究了RoseReplicator网络备份软件的工作原理和基本功能,其次展开了对软件测试技术的研究和对自动化测试技术的探索。之后在SUSE下完成了对测试的软硬件环境搭建,并在实现对RoseReplicator软件测试的前提下完成了对该软件测试的分析和测试用例的设计,最后使用shell命令行和被测软件的rcli命令行编写自动化测试脚本,实现了对软件部分功能的自动化测试。

这套自动化测试方案有很强的通用性和灵活性,它使得测试人员从重复的测试工作中解脱了出来,能更着眼于测试用例的设计和测试脚本的编制/维护,从而有效的提高了测试的效率和可靠性。

 

关键字:自动化测试,SHELLRCLIRoseReplicator,实时复制


Abstract

This article has first studied RoseReplicator the network backup software's principle of work and the basic function, next has launched to the software testing technology research and to the automated test technology exploration. Afterward has completed the test software and hardware environment build under SUSE, and in realized has completed to the RoseReplicator software testing premise under to this software testing analysis and the test with the example design, finally used the shell command line and the software's rcli command line to compile the automation test script,realize the automated test for some parts of the software’s function.

This set of automated test plan has the very strong versatility and the flexibility, which can make the tester to solve from the redundant test work and make them focus in the design of the test case and the establishment/maintenance of the test script, thus effectively enhance the test efficiency and reliability.

 

Key Words: Automated test, SHELL, RCLI, RoseReplicator, real-time duplication

 

 

 

 

 

 

 

 

 

 


目录

1 引言... 1

1.1 选题背景... 1

1.2 研究目标和意义... 1

1.2.1 研究的目标... 1

1.2.2 研究的意义... 1

2RoseReplicator及软件测试技术研究... 2

2.1 基于软件测试技术的研究... 2

2.2 基于RoseReplicator的研究... 4

2.2.1 软件的运行环境... 5

2.2.2 软件的功能特点... 5

2.3 基于SUSE的研究... 8

2.4 基于当前软件自动化测试技术的研究... 9

2.4.1 实现软件自动化测试的步骤... 9

2.4.2 测试工具的使用现状及分析... 9

3 RoseReplicator软件的测试分析与设计... 11

3.1 软件测试计划的制定... 11

3.2 软件测试的分析... 11

3.2.1 软件基本功能的测试分析... 11

3.2.2 软件的自动化测试分析... 14

3.3 软件测试的设计... 17

3.3.1 测试用例的设计... 17

3.3.2 自动化测试方案的总体设计... 19

3.3.3 脚本Shell的结构设计... 19

4 RoseReplicator软件测试方案的实现... 26

4.1 测试环境搭建的实现... 26

4.2 自动化测试脚本的实现... 28

4.2.1 登陆脚本模块的实现... 28

4.2.2 验证脚本模块的实现... 29

4.2.3 复制功能测试脚本的实现... 30

4.2.4 校验功能测试脚本的实现... 32

4.2.5 镜像功能测试脚本的实现... 33

4.2.6 远程删除孤儿文件功能测试脚本的实现... 34

总结... 36

参考文献... 37

... 38

附录... 39

外文资料原文... 42

翻译文稿... 46

 


第1章   引言

1.1 选题背景

随着21世纪经济的发展,各大企业也在不断扩大,伴随而来的便是业务上数据的爆炸式增长,如何保证企业的业务数据不会因为设备的故障而丢失,并且能在故障后快速地恢复数据,便成为IT管理者所面临的重大挑战。而传统的恢复数据方案或使用磁盘阵列来存放数据都耗资较大,因此追求一种更为经济和便捷的方式来实现对数据的保护已成为各大企业的当务之急,RoseReplicator便是基于文件系统的纯软件解决方案,实现了数据容灾的低成本、高效率解决方案。

1.2 研究目标和意义

1.2.1 研究的目标

研究基于SUSERoseReplicator自动化测试的目标是:通过对自动化脚本测试技术及对RoseReplicator的研究实现对RoseReplicator的自动化测试。

1.2.2 研究的意义

研究基于SUSERoseReplicator自动化测试的意义是:目前国内能够很好地实现对业务数据的有效保护及保证业务的连续性软件并不多见,可以说在这方面的技术还不是很纯熟,所以未来几年,该技术将在我国得到更深入的发展,以适应各企业不断扩大的业务数据保护需求,而RoseReplicator已经实现了上述功能且具有低成本、高效率及支持多文件系统等特点,与此同时软件测试是软件工程中的一个重要部分,而自动化测试则又是软件测试中一门新兴学科。它可以有效地提高在软件测试过程的劳动生产率,提高软件质量,降低成本。而目前在国内,自动化测试理论、自动化测试工具和自动化测试培训都不是十分的成熟,所以实现对RoseReplicator的自动化测试具有重大意义。

 

 

 


第2章   RoseReplicator及软件测试技术研究

2.1 基于软件测试技术的研究

无论采用哪种开发模型所开发出来的软件系统,由于客观系统的复杂性,加上人的主观认识不可能完美,每个阶段的技术复审也不可能毫不遗漏地查出和纠正所有的错误,再加上编码阶段也会引起新的错误,所以在软件使用以前必须经过严格的软件测试,通过测试尽可能找出软件开发各阶段的错误,从而得到高质量的软件。所以,测试在所有的软件开发过程中都是最重要的部分。在软件开发过程中,一方面要求通过测试活动验证所开发的软件在功能上满足软件需求中描述的每一条特性,性能上满足客户要求的负载压力和相应的响应时间、吞吐量要求;另一方面,面向市场和客户,开发团队还要满足在预算范围内尽快发布软件的要求。软件测试不只是为了保证软件系统本身高质量,也保证整个软件开发过程是高质量的。软件测试其准确的定义,就是指使用人工或者自动的手段来运行或测定某个软件产品系统的过程,是为了发现程序中的错误而执行程序的过程。其目的是在于检验是否满足规定的需求或者弄清预期的结果与实际结果的区别,暴露程序中的错误。同时,软件测试不是穷尽测试,故而不可能发现程序中的所有错误,也就是说,通过测试并不能证明程序是正确的。但是,目的是要通过测试保证软件的可靠性,因此,必须仔细设计测试方案,力争用尽可能少的测试发现尽可能多的错误。

软件测试有两种方法,黑盒测试和白盒测试。黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,也就是说,黑盒测试是在程序的接口进行的测试,它只检查程序的功能是否能按照规格说明书的规定正常使用,程序是否能恰当地接收输入数据产生正确的输出信息,并且和外部信息(:数据库文件)的完整性。黑盒测试又称为功能测试。与黑盒测试法相反,白盒测试法的前提是可以把程序看成装在一个透明的白盒子里,也就是完全了解程序的结构和处理的过程。这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否能按预定的要求正确工作。白盒测试又称为结构测试。

测试与开发过程类似,测试的过程也必须分步骤进行,每个步骤在逻辑上前一个步骤的继续。大型软件系统通常由若干个子系统组成,每个子系统又由许多模块组成。因此,大型软件系统的测试,基本上由下述几个步骤组成:

一,单元测试。单元测试又称为模块测试,是把每个模块作为一个单独的实体来测试,以确保模块作为一个单元可以正确运行。这个测试步骤中,往往发现的是编码和详细设计的错误。

二,集成测试(子系统测试)。它是把经过单元测试的模块放在一起形成一个子系统来测试。模块相互间的协调和通信是这个测试过程中的主要问题,这个步骤着重测试模块的接口。

三,系统测试。系统测试通常又称为集成测试,是把经过测试的子系统装配成一个完整的系统来测试。在这个过程中,不仅应该发现设计和编码的错误,还应该验证系统确实能提供的需求说明书中指定的功能,而且系统的动态特性也符合预定要求。

四,验收测试。它把软件系统作为单一的实体进行测试,测试内容与系统测试基本雷同,但是它是在用户的积极参与下进行的,而且可能主要使用实际数据(系统将来要处理的信息)进行测试。验收测试的目的是验证系统确实能够满足用户的需要,这个测试步骤中所发现的错误往往是系统需求说明书中的错误。

软件测试的阶段的有许多信息流,输入的信息有两类:(l)软件配置,包括需求说明书,设计说明书和源程序清单等;(2)测试配置,包括测试计划和测试方案。所谓测试方案不仅仅是测试时使用的输入数据(称为测试用例),还应该包括每组输入数据预定要检验的功能,以及每组输入数据预期应该得到的正确输出。实际上测试配置是软件配置的一个子集,最终交出的软件配置应该包括上述测试配置以及测试的实际结果和调试记录。

比较测试得出的实际结果和预期结果,如果两者不一致则很可能是程序中有错误。在对测试结果进行收集和评价的时候,软件可靠性所达到的定性指标也开始明朗了。

目前,传统的软件测试流程一般是先在软件开发过程中进行少量的单元测试,然后在整个软件开发结束阶段,集中进行大量的测试,包括功能和性能的集成测试和系统测试。随着开发的软件项目越来越复杂,传统的软件测试流程不可避免地给的测试工作带来以下问题:

问题一:项目进度难于控制,项目管理难度加大。

大量的软件错误往往只有到了项目后期系统测试时才能够被发现,解决问题所花的时间很难预料,经常导致项目进度无法控制,同时在整个软件开发过程中,项目管理人员缺乏对软件质量状况的了解和控制,加大了项目管理难度。

问题二:对于项目风险的控制能力较弱。

项目风险在项目开发较晚的时候才能够真正降低。往往是经过系统测试之后,才真正确定该设计是否能够满足系统功能、性能和可靠性方面的需求。

问题三:软件项目开发费用超出预算。

在整个软件开发周期中,错误发现的越晚,单位错误修复成本越高,错误的延迟解决必然导致整个项目成本的急剧增加。软件测试的工作量很大,据统计,测试会占用到40%的开发时间;一些可靠性要求非常高的软件,测试时间甚至占到开发时间的60%。而测试中的许多操作是重复性的、非智力性的和非创造性的,并要求做准确细致的工作,计算机就最适合于代替人工去完成这样的任务。这种让计算机来代替人的部分手工测试工作的测试方法,称之为自动化测试。软件自动化测试则是解决传统测试问题的最佳办法,其准确定义是指使用软件来控制测试的执行,实际输出和预期输出的对比,测试前提条件的构建,以及其他测试控制条件和测试报告功能。通常,测试自动化涉及自动化对一个己经使用了正式的测验流程的手工过程。自动化测试使测试过程简单并有效率,使测试过程更为快捷,没有延误。软件自动化测试技术核心的三个最佳成功经验是:尽早测试、连续测试、自动化测试,并在此基础上提供了完整的软件测试流程和一整套的软件自动化测试工具,使得最终能够做到:一个测试团队,基于一套完整的软件测试流程,使用一套完整的自动化软件测试工具,完成全方位的软件质量验证。

本文论述的网络备份软件(RoseReplicator)的测试,主要是应用用黑盒测试的方法,在完成设计方案的基础上,实现测试的自动化。

2.2 基于RoseReplicator的研究

在本课题中的RoseReplicator软件是一个高性能的网络备份软件,它通过对数据的实时复制,可以将作业数据的变动传递到高可用性服务器或者灾难恢复服务器上,并加以维护。该软件可以实现与应用软件的配合使用,如数据库:Microsoft SQL ServerExchange 2000/2003Oracle、文件服务器等,它可以保护应用服务器,台式机,笔记本电脑上的所有数据,该功能是通过复制本地磁盘/分区的数据到镜像盘上得以实现的。而镜像盘可以是本地的另一个物理盘,也可以


以上内容只是毕业设计作品的部分资料介绍,如果了解更多详情请联系客服QQ:57510459
     购买帮助>>

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论