自动化测试工具论文.docx
- 文档编号:2895050
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:40
- 大小:148.13KB
自动化测试工具论文.docx
《自动化测试工具论文.docx》由会员分享,可在线阅读,更多相关《自动化测试工具论文.docx(40页珍藏版)》请在冰豆网上搜索。
自动化测试工具论文
目 录
摘 要1
Abstract2
第一章前言3
1.1概述3
1.1.1开发背景3
1.1.2开发的现实意义3
1.2论文结构4
第二章自动化测试工具的研究概述5
2.1自动化测试工具基础5
2.1.1自动化测试依据5
2.1.2自动化测试工具设计的一般原则5
2.2自动化测试工具简介5
2.2.1IBMRational6
2.2.2QuickTestProfessional6
2.3自动化测试工具特点7
2.3.1自动化测试的优点7
2.3.2自动化测试存在的问题7
2.3.3自动化测试的优缺点对比8
2.4自动化测试工具的应用与发展方向9
第三章基于UML的自动化测试工具分析与设计10
3.1自动化测试简介10
3.1.1概述10
3.1.2自动化测试工具的模块分析10
3.1.2.1录制模块11
3.1.2.2脚本模块11
3.1.2.3对象交互模块11
3.1.2.4日志模块11
3.2需求模型11
3.2.1定义活动者11
3.2.2定义用例11
3.3动态模型13
3.3.1回放脚本的UML的交互图13
3.3.2回放脚本的UML的状态图和活动图14
3.3.2.1UML状态图14
3.3.2.2UML活动图16
3.4本章小结16
第四章录制模块与对象交互模块的程序实现17
4.1开发工具——VisualC++.NET17
4.1.1.NET概述17
4.1.2VisualC++.NET的新特性17
4.1.3VisualC++.NET的新功能18
4.1.4VisualC++.NET增强了开发人员的能力19
4.2自动化测试工具的主界面功能简介19
4.3录制模块20
4.3.1钩子函数的安装和卸载20
4.3.2获取鼠标点击的窗口的窗口信息23
4.3.3生成测试脚本24
4.4脚本管理模块24
4.4.1脚本技术25
4.4.2脚本结构25
4.5对象交互模块26
4.5.1用于保存脚本信息的类AutoFind26
4.5.2查找定位对象27
4.5.3操作对象30
4.6日志模块31
4.7本章小结32
第五章结论33
参考文献34
致 谢35
摘 要
自动化测试工具的开发主要针对的是实际软件测试需求,从而减少人工测试的工作量,大大增加在有限的时间内的测试,并且增强测试的质量。
我们开发的自动化测试工具是一个用户界面自动化测试的工具。
它分为录制模块、脚本模块、对象交互模块和日志模块,同时程序的执行也是按照这个流程进行。
其中对象交互模块为内部模块,衔接脚本管理和日志管理两个模块,本身没有界面显示。
经过分析,我们使用Microsoft公司的MicrosoftVisualStudio.NET开发工具,利用其提供的各种面向对象的开发工具,尤其是界面窗口这一能方便而简洁操纵对象,首先使用UML建立自动化测试工具的模型,然后在已建模型的基础上,以VC++.NET为开发工具对该工具进行实现,并不断修正和改进来不断满足用户需求。
关键词:
自动化测试,对象交互,录制,UML
Abstract
Testautomationtoolsaredevelopedmainlyforactualsoftwaretestingrequirement.Comparedtomanualtesting,properuseoftestautomationtoolswillresultinlowerworkload,highertestingefficiencyinfiniteperiod,andhigherqualityproducts.
ThetestautomationtoolthatwedevelopedisaGUItestautomationtool.Itismadeupofrecordmodule,scriptmodule,objectinteractionmoduleandlogmodule.Thissequenceisconsistentwiththeprocessofrunningtheprogram.Anymore,objectinteractionmoduleisaninteriormodule,whichlinksupscriptmoduleandlogmodule.Soitshowsnointerface.
Accordingtotheanalyzing,wedecidetouseMicrosoftVisualStudio.NETdevelopingtoolofMicrosoftCorporation.WecanmakeuseofkindsofObjectOrienteddevelopingtoolswhichisofferedby.NET.Especiallyinterfacewindow,whichcanoperateobjectconvenientlyandcompactly.First,wewilluseUMLtobuildthesystem’sarchitecturemodelofthetestautomationtool.AndthenwedevelopedthetoolwithVC++.NETbasingonthemodel,modifyingandimprovingitcontinuallytokeeppacewithusers’requirement.
Keywords:
Testautomation,Objectinteraction,Record,UML
WrittenbyZhuYingwen
SupervisedbyZhangGuangquan
第一章前言
1.1概述
软件测试自动化,已经成为国内软件工程领域一个众所周知的课题;不言而喻,软件测试从业者都意识到软件测试这项工作走向成熟化、标准化的一个必经之路就是要实施自动化测试。
1.1.1开发背景
软件必须通过测试才能确保其在应用环境中正常工作。
软件测试应能有效地发现软件中的任何缺陷,同时软件测试也应是高效的,尽可能地占有时间少且开销小[1]。
面对软件的规模越来越大,应用的复杂度和集成性越来越高,各种新的软件开发技术不断应用,那么,如何提供高效、有效性的测试,是软件测试技术面临的巨大挑战。
如今的软件测试行情,正处在群雄逐鹿的混战岁月,每个人、每个有测试部门或从事测试业务的企业,都该多多借鉴国内外先进的测试经验,参考业界流行的行业标准,找到适合自己团队的测试方法和模式,同时开发一些辅助测试的工具,创造更大的社会价值。
从目前的测试工具来看,以国外品牌居多,选择测试工具当然也要根据自己的需求。
虽然测试工具很多,但是针对性却不尽相同,有针对功能的,有针对源代码的,有针对压力负载测试的,等等。
在针对性相同的工具中再进行比较,这些工具往往大同小异,最好先进行试用,当然也可以咨询专业的测试机构,无论如何,满足自己需要的才是最好的。
1.1.2开发的现实意义
自动化主要是指一个黑盒、自动回放这样一些东西,取决于一个很好的流程。
一个测试管理的流程,取决于相对稳定的需求。
自动化测试可以大大减少测试开销,同时大大增加在有限的时间内的测试[1]。
从各种测试工具的开发趋势来看,自动化测试是发展主流。
实施软件测试自动化的理由分析:
首先,测试人员的工作比以往任何时候都更加困难,因为公司和组织希望以更快的速度和更低的成本开发出高质量的应用程序。
此外,在很多项目中,测试人员的所有任务实际上都是手动处理的,而实际上,有很大一部分重复性强的测试工作,是可以独立开来自动实现的。
还有,在大型项目中测试团队和其他的团队之间没有足够的合作,无法促进彼此的工作。
最后,从个人角度来说,测试人员通常很难花费大量时间来学习新技能;这是目前国内测试从业者的现状,太多的企业为了节约成本而将刚刚走出校门的毕业生作为测试工程师,他们每日做着繁忙的重复工作,又基于自身技能的不足,不知从何处入手。
可以说,实施测试自动化是软件行业一个不可逆转的趋势,如果在这个领域走在了前列,无论从企业的核心竞争力还是个人的工作技能来说,都有巨大的优越性。
1.2论文结构
全文共分为五章。
第一章简述了自动化测试工具的开发背景以及开发的现实意义;第二章对QuickTestProfessional和RationalRobot等目前主流的自动化测试工具进行深入的研究,了解自动化测试工具的工作原理与工作流程;第三章首先对自动化测试工具进行需求分析,明确需要实现的功能,然后用UML对自动化测试工具进行模块划分,建立其需求模型和动态模型;第四章介绍了自动化测试工具的代码实现过程,包括录制模块、脚本模块、对象交互模块、日志模块。
其中详细介绍了笔者负责开发的录制模块和对象交互模块;第五章总结了本文的工作。
第二章自动化测试工具的研究概述
2.1自动化测试工具基础
2.1.1自动化测试依据
首先,要有良好定义的测试策略和测试计划(知道要测试什么以及什么时候测试),对于自动化测试,你要有一个能够被识别的测试框架;其次是能够确保多个测试运行的构建策略,如果多平台环境需要被测试,必须拥有运行测试的硬件,并且拥有关注在自动化过程上的资源;最后,被测试系统是可以实施自动化测试的。
2.1.2自动化测试工具设计的一般原则
1.使最重复性的任务实现自动化。
2.使传统上能发现最多错误的任务实现自动化。
3.实现测试的模块化以使得可维护性更好,可在其他项目中重复使用。
4.编写有意义的测试日志。
5.根据测试需求,有针对性。
2.2自动化测试工具简介
自动化测试工具应该分为性能测试、功能测试、单元测试、测试管理几类。
目前绝大部分应用软件都是基于GUI(即GraphicsUserInterface图形用户界面)进行设计开发,所以在产品的测试活动尤其是功能测试活动中,GUI测试将占到非常大的比率,GUI测试质量和效率是整个产品质量提升和成本降低的关键。
我们知道大部分软件产品都有必不可少的人机交互界面MMI,而且它的功能也基本上是通过人机交互操作来体现和完成的,所以我们可以说软件产品的GUI测试在整个产品测试中占有非常重要的地位。
下面介绍几种目前市场上的主流的黑盒测试工具,其中具有代表性的是RationalRobot和QuickTestProfessional。
2.2.1IBMRational
RationalRobot图形用户界面(GUI)的功能测试自动化。
可以对使用各种集成开发环境(IDE)和语言建立的软件应用程序,创建、修改并执行自动化的功能测试、分布式功能测试、回归测试和集成测试。
IBMRationalRobot是一种可扩展的、灵活的功能测试工具,通过编写脚本的方式提供自动化测试特性。
其GUI方式的脚本录制功能,有助于对GUI软件进行功能测试;其VU方式的脚本录制功能,有助于测试某些软件的数据通讯功能。
突出特点:
1.支持多种IDE:
MicrosoftVisualStudio.NET,OracleDeveloper/2000,Delphi,PeopleSoft,PowerBuilder。
2.支持
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自动化 测试 工具 论文