全程软件测试(自动化测试课件10)33131.pptx
《全程软件测试(自动化测试课件10)33131.pptx》由会员分享,可在线阅读,更多相关《全程软件测试(自动化测试课件10)33131.pptx(60页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、全程软件测试全程软件测试-Ch.5软软件件测试测试自自动动化化第第5章章 软件测试自动化软件测试自动化5.1测试自动化的内涵测试自动化的内涵5.2 测试工具的分类和选择测试工具的分类和选择5.3 测试工具的主流产品介绍测试工具的主流产品介绍 5.4 IBM-Rational产品的整体解决方案产品的整体解决方案5.5 Mercury Interactive产品的整体解决方案产品的整体解决方案5.6 Compuware产品的整体解决方案产品的整体解决方案5.1测试自动化的内涵测试自动化的内涵5.1.1 为什么要软件测试自动化为什么要软件测试自动化5.1.2 自动化测试的引入和应用自动化测试的引入和
2、应用5.1.3 测试自动化的基本结构测试自动化的基本结构5.1.4 测试自动化的原理和方法测试自动化的原理和方法 5.1.5 测试自动化普遍存在的问题测试自动化普遍存在的问题手工测试的局限性手工测试的局限性p 通过手工测试无法做到覆盖所有代码路径;p 许多与时序、死锁、资源冲突、多线程等有关的错误通过手工测试很难捕捉到p 在系统负载、性能测试时,需要模拟大量数据、或大量并发用户等各种应用场合时,也很难通过手工测试来进行p 在进行系统可靠性时,需要模拟系统运行十年、几十年,以验证系统能否稳定运行,也是手工测试无法模拟的。p 如果有大量(几千)的测试用例,需要在短时间内完成,手工测试又怎么办呢?p
3、 测试可以发现错误,并不能表明程序的正确性。p自动测试定义软件系统自动测试定义软件系统p功能规格书(Spec)只是从书面上的p一套软件产品是由一套完整的可运行的测试来定义的p测试所有可能情况将遭遇测试所有可能情况将遭遇“组合爆炸组合爆炸”问题问题pWin98,WinME,WinNT,Win2k,WinXP,WinXPTablePCEd,WinXPMediaCenterEd,Longhorn,etcpEnglish,German,Japanese,Chinese,Arabic,ThaipOffice97,Office2000,OfficeXP,Office2003pX8632-bit,Intel
4、64-bit,AMD64-bit,Alpha,MIPSpSQLServer6.5,SQLServer7.0,SQLServer2000pVisualStudio6,VS.NET,VS.NET2003,Whidbey手工测试的局限性手工测试的局限性(2)n代码全部代码全部Code Path测试覆盖也几乎不可能测试覆盖也几乎不可能n每一个ifelse或switch语句就会把情况增加一倍n许多异常处理代码在正常使用中不会碰到n许多与时序,死锁,资源冲突,多线程有关的错误很难捕捉到n每一个产品都会有不同的版本外加各自的SP与QFE(QuickFixEngineering,又称Hotfix)nNT4,V
5、S6SP1SP5,Windows2000SP1-SP4nVS.NET,SQLServerSP1SP3n可重复使用的自动测试对产品未来版本与ServicePack的测试将有事半功倍的效果手工测试的局限性手工测试的局限性(2)自动化测试带来的好处自动化测试带来的好处1.缩短周期缩短周期 Testing cycle-RegressionTesting2.Attributes of TA,Speed速度Efficiency效率AccuracyandPrecise准确、精确Relentlessness无情3.容易实施、结果可靠4.做手工不能做测试自动化项目的本质测试自动化项目的本质p定义:定义:利用GU
6、I自动化测试工具来开发和执行测试脚本,从而验证是否满足需求p本质:本质:测试自动化项目本质上是软件开发项目p一个测试自动化项目必须具有:p清晰定义并严格实施的过程p来自组织各级的支持p周密的计划p具体的设计和架构测试自动化成本测试自动化成本/收益分析收益分析结构结构成本成本收益收益净收净收益益NoAutomation000RecordingandPlayback8.3112.7Data-drivenstructureusingdatapools8.4189.6Frameworkstructure9.8155.2Framework/data-driven(hybrid)structurefocu
7、singonviewsoftheapplicationandusingdatapools11.6197.4各自特点各自特点软件测试自动化(TA)虽然具有很多优点,但只是对手工测试的一种补充,TA绝不能代替手工测试,有各自的特点:p 在系统功能逻辑测试、验收测试、适用性测试、涉及物理交互性测试时,多采用黑盒测试的手工测试方法;p单元测试、集成测试、系统负载或性能、稳定性、可靠性测试等比较适合采用TA;p对那种不稳定软件的测试、开发周期很短的软件、一次性的软件等不适合测试自动化p工具本身并没有想象力和灵活性,根据经验报道,自动测试只能发现15%的缺陷,而手工测试可以发现85%的缺陷;TA工具在进行
8、功能测试时,其准确的含义是回归测试工具,因为工具不能发现更多的新问题,但可以保证对已经测试过部分进行测试的准确性和客观性 正确认识测试自动化正确认识测试自动化n不现实的期望注定测试自动化的失败不现实的期望注定测试自动化的失败n测试自动化能:测试自动化能:n显著降低重复手工测试的时间显著降低重复手工测试的时间n建立可靠、重复的测试,减少认为错误建立可靠、重复的测试,减少认为错误n增强测试质量和覆盖率增强测试质量和覆盖率n测试自动化不能:测试自动化不能:n完全替代手工测试和手工测试工程师完全替代手工测试和手工测试工程师n保证保证100%的测试覆盖率的测试覆盖率n弥补测试实践的不足弥补测试实践的不足
9、自动化测试的引入和应用自动化测试的引入和应用p 找准测试自动化的切入点找准测试自动化的切入点p 把测试开发纳入整个软件开发体系把测试开发纳入整个软件开发体系p 测试自动化依赖测试流程和测试用例测试自动化依赖测试流程和测试用例p 软件测试自动化的投入较大软件测试自动化的投入较大p 进行资源的合理调度进行资源的合理调度测试自动化的基本结构测试自动化的基本结构机房机房办公室办公室文件服务器文件服务器SQL ServerSQL ServerWebWeb服务器服务器 控制程序控制程序拷贝测试文件拷贝测试文件拷贝测试结果拷贝测试结果分派工作分派工作分派工作分派工作查询结果查询结果BuildBuild系统编
10、译系统编译寻找工作项目寻找工作项目更新更新显示显示Dev Build,Test BuildDev Build,Test Build测试自动化的原理和方法测试自动化的原理和方法p 代码分析代码分析:类似于高级编译系统,在工具中定义类类似于高级编译系统,在工具中定义类/对象/函数/变量等定义规则、语法规则等,在分析时对代码进行语法扫描,找出不符合编码规范的地方。p 捕获和回放捕获和回放:代码分析是一种白盒测试的自动化方法,代码分析是一种白盒测试的自动化方法,捕获和回放则是一种黑盒测试的自动化方法。脚本技术脚本技术p 线性脚本线性脚本,是录制手工执行的测试用例得到的脚本,这种脚本包含所有的击键、移动
11、、输入数据等,所有录制的测试用例都可以得到完整的回放。p 结构化脚本结构化脚本,类似于结构化程序设计,具有各种逻辑结构、函数调用功能。p 共享脚本共享脚本,是指某个脚本可以被多个测试用例使用。p 数据驱动脚本数据驱动脚本,将测试输入存储在独立的(数据)文件中,而不是存储在脚本中。p 关键字驱动脚本关键字驱动脚本,是数据驱动脚本的逻辑扩张 自动比较自动比较 p 静态比较和动态比较,p 简单比较和复杂比较,p 敏感性测试比较和健壮性测试比较,。p 比较过滤器 测试自动化普遍存在的问题测试自动化普遍存在的问题p 不正确的观念或不现实的期望不正确的观念或不现实的期望p 缺乏具有良好素质、经验的测试人才
12、缺乏具有良好素质、经验的测试人才p 测试工具本身的问题影响测试的质量测试工具本身的问题影响测试的质量p 没有进行有效的、充分的培训没有进行有效的、充分的培训p 没有考虑到公司的实际情况,盲目引入测试工具没有考虑到公司的实际情况,盲目引入测试工具p 没有形成一个良好的使用测试工具的环境没有形成一个良好的使用测试工具的环境p 其它技术问题和组织问题其它技术问题和组织问题5.2 测试工具的分类和选择测试工具的分类和选择5.2.1 测试工具的分类测试工具的分类5.2.2 测试工具的选择测试工具的选择测试工具是测试自动化的表现测试工具的研究测试工具的研究软件测试的过程是一项很复杂而费时的工作,它不仅执行
13、每一个测试用例,还要设置运行环境、记录输出、运行后清理并记录失败信息。仅仅依靠测试人员手工完成是很困难的。所以必须研究测试工具以帮助测试人员自动或半自动的完成测试。在资金和人力、时间的供给一定的条件下面,拥有好的测试工具能够提高测试效率从而降低测试成本,则能够选择更高的测试充分性标准进行测试,从而提高软件质量。测试工具的例子测试工具的例子测试工具的分类测试工具的分类Code analysis Tools-Staticanalysis-DynamicanalysisTest Execution Tool-CaptureandReplay(Record&Playback)-MonitorTool-
14、StubsandDrivers-AutomatedTestingEnvironmentTest case generators测试工具的选择测试工具的选择5.3 测试工具的主流产品介绍测试工具的主流产品介绍 5.3.1 面向开发的单元测试工具面向开发的单元测试工具5.3.2 负载和性能测试工具负载和性能测试工具5.3.3 GUI功能测试工具功能测试工具5.3.4 基于基于Web应用的测试工具应用的测试工具5.3.5 软件测试管理和其他工具软件测试管理和其他工具面向开发的单元测试工具面向开发的单元测试工具根据不同的语言进行分类:pC/C+单元级测试工具PanoramaC+,C+Test,Nume
15、gapJUnit是一个开发源代码的Java测试框架根据工具的功能特点进行分类:p内存资源泄漏检查工具:Numega中的BounceChecker,Rational的Purify等p代码覆盖率检查工具:Numega的TrueCoverage,Rational的PureCoverage,TeleLogic公司的Logiscopep代码性能检查工具:Logiscope和Macabe等。p软件纠错工具RationalPurl等。负载和性能测试工具负载和性能测试工具属性属性LoadRunner/MIQALoad/CompuwareWebLoad/Radview价格昂贵较贵一般安装配置简单简单一般操作性较
16、复杂简单简单支持测试对象各种中间件/数据库/应用服务器的性能监控/企业架构(j2ee和.net)的测试客户/服务器系统、企业资源配置(ERP)和电子商务应用Web Application支持平台windows,unix或linuxHP-UX,IBM AIX,Sun Solaris,Linux,NT/2kUnix Windows支持数据库DB2,SQLserver,Orcale,SybaseADO,DB2,Oracle,Sybase,SQLserver,OdbcADO,DB2,Oracle,Sybase,SQLserver,Odbc支持协议web,http(s),soap,streaming,w
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全程 软件 测试 自动化 课件 10 33131
限制150内