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

下载本文档

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

文档简介

1、自动化测试平台的设计与实现 g1395S 分类号 密级l UDC注1 学 位 论 文 ? 电, 自动化测试平台的设计与实现 j 题名和副题名 孟喜 作者姓名 指导教师姓名 叶茂教授博导 电子科技大学 成都 职务、职称、学位、单位名称及地址 申请专业学位级别硕士专业名称 计算机软件与理论 论文提交日期201003论文答辩日期 201006 学位授予单位和日期 电子科技大学 ,-,& 答辩委员会主席 评阅人 年 月 日 注1:注明国际十进分类法UDC的类号。 - 夕 IIIII I it1 111 1 1111 1 1 11l 1802492 独创性声明 本人声明所呈交的学位论文是本人在导师指导下

2、进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:_鱼 妻 日期: lo年多月7日 论文使用授权 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇

3、编学位论文。 保密的学位论文在解密后应遵守此规定 签名:盘查 导师签名:盟玄 日期:冽口年月7日 4 J 摘要 摘要 科学技术的巨大发展,使软件产品已经成为人们生活中不可或缺的。软件产 品的广泛使用使人们对软件产品质量的要求不断的提高。做为保证软件质量的方 法之一,软件测试越来越显示出它的巨大优势。然而软件设计规模的增加,软件 产品复杂程度的提升,使软件自动化测试成为软件测试的必要条件。因此,开发 更有利于实施维护和操作的自动化测试平台,并在该测试平台上实现一定的自动 化测试成为了很有意义的事情。 本文首先对软件测试自动化理论进行研究,分析了自动测试的优势和局限 性。然后简单介绍了实际工作中使

4、用的应用软件无线通讯设备配置软件 简 称WCDCS ,并根据自己对该软件的手动测试经验,分析了该应用软件测试自 动化的可行性,并指出了WCDCS手动测试中可自动测试部分。 随后,本文分析了WCDCS自动测试过程中遇到的问题和自动化测试工具的 问题。为了解决这些问题,本文以关键字驱动自动化测试框架为基础,并结合作 者WCDCS手工测试经验,研究和实现了解决这些问题的WCDCS自动化测试系 统的测试平台。关键字驱动自动化测试框架的使用,使自动测试工具和应用程序 本身成为各自独立的部分,将自动化测试抽象到一个不依赖具体测试设计的级别 上。将该自动测试平台应用于WCDCS的系统回归测试中,大大地提高了

5、测试效 率,保证了软件质量。该平台的功能特点主要有以下方面: 1 该自动测试平台可以自动完成WCDCS系统测试的整个过程,包括从测 试用例的设计,测试脚本的生成,测试脚本的执行直到测试结果的记 录,使自动测试变的更加方便,更加高效; 2 用关键字表示的指令序列来设计测试用例,每条指令语义明确,避免了 自然语言描述的二义性问题; 3 实现了基于Dependency测试用例的自动生成; 4 测试脚本的生成过程对测试人员是透明的,测试人员可以不用再关注脚 本库的开发和使用,把自己从脚本里面解脱出来; 5 以数据库的形式存放关键字映射信息和WCDCS控件信息,最小化软件 自身的变动对测试带来的影响,使

6、脚本的维护更加容易; 摘要 6 利用插件式技术设计整个系统架构,使每个子模块成为独立的个体,使 子模块间的耦合度降到最低; 7 将脚本函数以控件的方式封装,扩大了可测目标软件的范围,使得目前 基于Windows平台开发的所有WCDCS都可以在该平台上实现自动测 试,具有较强的通用性; 8 该平台中可以集成多种商业测试工具,并为不同的测试工具预留了接 口,具有很强的扩展性。 最后,作者以WCDCS中的部分测试用例为实验对象,对自动测试平台进行 了实现,并给出了实现结果。证明了该自动测试平台的优越性。 关键词:自动化测试,自动化测试平台,软件测试,测试用例 II ABSn己ACT ABSTRACT

7、 The evolutionof makesthesoftware become hugeness technology products in forthe ofsoftware necessitypeopleSlifeAccordingly,peopleS requirementquality is and oneoftheSOfbvvareasSurallce is higherhigherAs ways,softwaretesting moreandmore becoming important the Howeverwimenhancementofsoftwaresizeandthe

8、 ofsoftware improvement testbecomestheciritical complexity,automation insoft-ware isa part testingThus,it to work anautomatictest and someautomation meaningfuldevelop platform implement testsonthe platform Thefirst ofthisthesis focusesonthe ofthe part mainly current study technology and on test theo

9、ry automationandthe ofthe and beingapplied analyzing advantages limitationsinautomationtestThenthethesisintroducesthe ofsoftware application WCDCSAndwiththe ofmanual on experience systemtestingWCDCS,we analyze the ofWCDCS automationand outthe whichcall feasibility systemtesting figure parts betested

10、automation by test thesis the oftheautomatictesttoolsandautomation Then,thisanalyzes problem test forWCDCSAndWi也the ofmanual on experience WCDCS,all systemtesting automatictest hasbeen basedonthe frameworkof platform designed autotesting frameworkhas and keyworddriven,Theautotesting stronggenerality

11、expansibility The of software framework testsfrom usingkeyworddriven testing separates commercialtool withinthe itmakesteststobe testingadopted testingplatformAnd withthe ofthe oftheautomatictest independentchanges applicationTheusing frameworkshortenstest test testresourcesand period,improveseffici

12、ency,reduces consolidates theWCDCSsoftwarewhenitis inWCDCStest quality applied system The characteristicsofthis arelistedbelow: platform automatictestframeworkCantestallthe ofWCDCS 1 The procedures system test testcase automatically,includingdesign,testcreation,test script script execution andtestre

13、sults makesitfeasibleto logThisintegration implement automationtest and convenientlyeffectively I ABSTRACT caseis commandhasitsexact 2 TestdesignedusingKeywordcommands,every this thatnature semantic and avoids may meaning problems languagebring automatictest testcasecallbe 3 In framework,Dependencyg

14、enerated automatically is makestest needto script automatically,whichengilleer$no 4 Test produced from careaboutthe of test thebind developmentscriptlibrary,freesengineers withtesttoolsand correspondingscript words informationandWCDCScontrolinformationarestoredin 5 Keymapping case databaseTheuseofda

15、tabaselowsthe ontestthat on impact byupdates WCDCSitselftoaminimallevel structureofthe isbasedon submoduleofthe 6 The platform pluginThe isthe module platformindependent test functionis as makestheautomatictest 7 The control,which script capsulated CalltestallWCDCS versiononWindows platform producti

16、ons platform kindsofcommerdaltesttoolscanbe inthe platform,and 8 Many capsulated for interfacesare differentkindsofcommercialtesttools kept WCDCSastest will the some casesof Finally,takingtesting object,wecompare testresultofmanual andautomationtestto the oftheautomatic testing proveadvantage test p

17、latform Test Case Keywords:AutomationTest,AutomaticPlatform,Software Testing,Test IV 目录 目录 第一章绪论1 11课题研究背景和意义l 12软件测试的国内外研究现状1 13自动化软件测试技术研究2 14课题内容和组织5 第二章自动测试平台概述6 21应用软件WCDCS简介6 22WCDCS自动化测试可行性分析6 23自动测试平台开发背景8 24章节总结10 第三章自动测试平台架构设计11 1 31自动测试平台开发目标1 32自动测试平台的框架设计12 33自动测试平台系统结构设计思想16 3。4自动测试平台的

18、逻辑结构设计一18 35本章总结。19 第四章自动测试平台详细设计与实现20 41自动测试平台的系统结构20 42系统模块详细设计和实现22 421配置模块22 4211模块功能设计22 4212模块界面设计24 V 目录 422数据库模块24 4221模块功能设计25 4222数据库功能实现28 423测试用例开发模块30 1 4231测试指令集设计3 4232模块功能设计35 4233模块界面设计37 4234 Dependency测试用例的自动生成38 424测试用例解析模块47 4241模块结构设计47 4242模块功能设计49 4243模块界面设计52 425脚本执行模块53 425

19、1模块功能设计53 4252脚本批量自动执行的实现54 4253模块界面设计55 426自动测试脚本库模块56 4261模块功能设计57 4262模块结构设计58 43测试实现及结果分析63 431测试实现63 432自动测试和手动测试结果比较64 44本章总结66 第五章总结与展望67 致谢69 参考文献70 攻读硕士学位期间的研究成果73 VI 第一章绪论 第一章绪论 11课题研究背景和意义 科学技术的巨大发展,使人们生活的各个领域都充斥着软件产品的“身 影”,软件产品已经成为人们生活中不可或缺的。软件产品的广泛使用使人们对 软件产品质量的要求也在不断的提高。提高软件质量,保证软件产品的可

20、靠性成 为软件产品优劣的重要参数。 软件测试作为保证软件质量的有效方法,在保证软件质量,提高软件可靠性 的过程中发挥着越来越重要的作用,它占软件开发成本的50一75t11。随着软件 产品规模的扩大,复杂性的提高,手工测试花费的成本很高,但效率却达不到预 期的要求2】。而自动化测试技术以其高效,快速的测试方式,缩短了软件测试周 期,降低了软件成本。自动化测试在软件测试过程中扮演着越来越重要的角色。 然而自动测试的发展,使自动测试工具多样化,专业化。用多个自动测试工 具实现一款软件的测试会大量的人力物力。因此,开发更有利于实施维护和操作 的自动化测试平台,并在该测试平台上实现一定的自动化测试成为了

21、很有意义的 事情【3】。主要原因有以下几个方面: 测试数据库的更新使已有的软件自动化测试工具失去效用;由于产品生产分 工的细化,每个测试工程师只熟悉几个固定的功能模块,如果要求每个测试人员 都能将自己熟悉功能模块的测试用例翻译为自动测试脚本,是非常耗费资源和时 间的;不同的自动测试工具采用的标准有可能不同。如果能用一个平台开发出适 用于不同标准下的测试代码,将大大提高自动化测试效率。 具有通用性测试平台的开发,以及在新的测试用例自动生成理论和测试用例 筛选理论的提出,为自动化测试技术的发展起到了有力的推动作用。 12软件测试的国内外研究现状 从20世纪60年代中期开始,人们已经对软件开发过程开

22、始思考,并在潜意 识中已经出现了软件测试的概念。到20世纪70年代,测试理论和技术步入了正 式发展阶段。1972年首次以软件测试为主题的学术会议在美国北卡罗来纳大学的 电子科技大学硕士学位论文 召开,宣告了软件测试理论和技术已经开始成为计算机领域研究的主要方向之一 【4】。自此,计算机领域在软件测试方向有了长足的发展。 软件测试技术在软件产业中的应用,使软件失误的预计费用降低,减少了项 目开发的风险【51。自90年代以后,面向对象技术的迅速发展使得软件测试技术同 软件开发技术一起上升到了一个新的高度。当前,国内外对软件测试的研究主要 集中在软件测试过程的改进、自动化测试工具的开发、自动化测试平

23、台、测试用 例生成等方面。很多专业化自动测试工具已经被开发出来,例如IBM公司开发的 RationalRobot,可以对使用各种集成开发环境 IDE 和语言建立的软件应用程 序,创建、修改并执行自动化的功能测试、分布式功能测试、回归测试和集成测 QuickTestProfessional 采用关键词驱动测试的理念,是 试【6】;QTP Mercury 款具有很强的功能测试的自动化测试工具。 J早在1997年就提出了将遗传算法运用于实时软 在自动测试方面,Wegeners 遗传算法应用到动态测试数据自动生成系统中is】。DiazE在2003年发表的论文 中阐述了在测试用例生成系统中使用禁忌搜索算

24、法可以大大减少测试时间和测试 search 成本【9】;McminnP在2004年提出将元启发式搜索技术 metaheuristic o】;TMantere在2005年研究了进化 techniques 应用于测试用例自动生成系统中I 计算方法在软件测试中的应用【ll】;MSarma在2007年提出了将一个UML用例图 转变一个测试用例图表 UDG ,同时,将时序图转变为时序图表 SDG ,然 方法【12】;EAlba在2008年提出将并行和顺序进化算法应用到自动测试数据系统 31。 中,这种算法大大提高了测试效率【I 目前,自动化测试在国内正慢慢开始“热起来,并在国家的宏观调控措施 下逐渐发展

25、起来,使得我国在自动化测试方向也取得了一定的成果。例如北京大 41。 学在黑盒测试技术方面的研究【l 13自动化软件测试技术研究 自动化测试是使用测试工具执行测试代码来模拟测试人员测试过程做所作的 操作,完成测试过程。它是管理与实施各种测试活动的方法,即测试用例的设 计,测试脚本的开发与执行,并借助自动测试工具来验证测试需求四。 2 第一章绪论 131自动化测试的优势与局限性 自动测试显而易见的优势就是能够提高测试效率,这是手工测试无法企及 6】: 的,并且它的好处还不止于此【1 1 跨越语言的障碍。随着软件国际化进程的加速,一个软件可能被翻译成 十几种语言,同时也增加了软件测试时的语言障碍。

26、但自动化测试可以 通过替换引用在测试脚本中的目标语言词汇表解决这个问题。 2 摆脱时间的限制。与手动测试相比的一个明显优势就是自动化测试不受 时间的限制,任何时候都可以执行。 3 回归测试的利器。在迭代式增量开发过程中,新版本软件的大部分功能 和界面都相似或完全相同于上一版本,手动回测全部原有功能和界面会 造成大量资源的浪费。成功构建高效的自动化测试,成为了实现高效回 归测试的关键。 4 可保证测试执行过程的一致性和准确性。自动测试是按照测试程序语句 来执行的,一旦测试程序编写完成,每次执行时都不会有偏差。 5 实现手工测试无法做到的测试。有些测试如:压力测试、并发测试、大 数据量测试已经崩溃

27、性测试,靠人力来完成是不可能的。但是,自动测 试可以通过模拟终端的程序轻松做到这一点。 6 较高的功能测试覆盖率。自动测试程序可以用数据驱动的方式,把任意 多组的数据用于测试,可以比较轻松地达到穷尽各种输入数据的目的。 自动化测试自身的优点使它越来越受到测试人员的青睐,但自动化测试也存 在很多局限性。例如【1。7】 1 并非所有的测试都可以用自动化来实现,例如使用性能测试、操作系统 或网络的设置测试和兼容性测试等。 2 自动测试工具不具备创造性,不能处理程序中设计不到的意外事件。 3 受具体项目资源的限制。自动化测试编程是一项很费时间和资金的工 作,安排很多测试人员去做自动化测试是很不现实的;

28、而且购买市面上 现有的商用测试软件需要很多费用。 综上可以看出,自动化测试的优势使很强的,能在繁琐机械的回归测试中极 大地减少人力、物力的消耗,提高软件测试的效率。但自动化测试也不是完美 的,它与手动测试各有优缺点,应该是互补、并存的。只有合理实施自动化测试 才能从中得到益处【18】。 3 电子科技大学硕士学位论文 132自动化测试的发展及框架 研究人员在90年代起就已经开始了堆自动化测试技术的研究,那时候研制 出来的测试工具用硬件的方式录制键盘的输入操作并对这些操作进行回放。这些 测试方法易于理解和掌握,但缺少检查点 checkpoint 功能,维护困难。 上世纪90年代末,自动化测试已经由

29、使用硬件录制的方式转变为通过软件 的功能,可以对软件做验证,测试的范围也比硬件方式的自动化方式大了许多 【l91。但当软件有变动时测试脚本也需要同步更新,整个测试脚本需要重新录制。 这一问题的存在使软件测试科技人员进行了长期的研究,于是在2001年自 动化测试的第三个阶段测试框架 testframework 阶段来临了,该方法主要 是把测试脚本抽象化,可以让即使不懂测试脚本甚至不会写程序的非技术人员, robot。 也可以使用自动化测试工具建立自动化测试个案201。例如Rational 在这个阶段之前,大多数公司对自动化测试不够重视,当意识到自动化测试 重要性的时候,由于公司前期投入不够,只能

30、从市场上选择商业工具进行尝试。 然而市场上的商业化工具价格很高,测试用例库的重用性很低,以及这些工具不 能扩展开发的缺点阻碍了自动化测试的进行。第三阶段中需求和供应矛盾的存 在,一些开源的、适合于中小企业应用的自动化测试工具及模式逐渐被开发和使 用。互联网的普及大大提升了软件业者的沟通效率,更加促进开源自动化测试的 发展,于是自动化测试进入了第四个阶段。 在自动化测试发展的过程中,出现了多种形式的自动化测试框架。主要有 【21】: 1 模块化测试脚本框架:在该自动化测试框架中,需要创建很多独立的小 脚本来描述被测软件的功能块、部件和函数。这些小脚本以层次机构组 合起来,以构成更大的测试,来实现

31、一个特定的测试用例。 2 测试库结构框架:该自动化测试框架与模块化测试脚本框架类似,也具 有同样的优越性。所不一样的地方是,它并不是将被测程序分为小脚 本,而是过程和函数。 3 关键字驱动或者表驱动测试框架【22】:在一个独立于应用程序的自动测试 框架,关键字驱动测试和表驱动测试是可以互换的术语。在这个框架 中,需要开发独立于自动测试工具的数据表和关键字。执行它们和测试 4 第一章绪论 脚本代码可以驱动被测程序和数据。在关键字驱动测试中,被测程序的 功能和测试的每个步骤一起被记录在一个表中。 4 数据驱动测试框架【23】:在这个框架中,测试的输入值和输出值是从数据 文件中被取得,并经过捕捉或者手工编写脚本被存放在变量上。这些变 量可以被存放输入值,也可以被存放输入验证值。 5 混合自动测试框架:一般的测试框架是由上述所有或某几个测试框架的 有机组合,这样就可以

温馨提示

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

评论

0/150

提交评论