软件测试第六章_第1页
软件测试第六章_第2页
软件测试第六章_第3页
软件测试第六章_第4页
软件测试第六章_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

第6章软件自动化测试

6.1软件自动化测试概述

6.2自动化测试的策略与运用

6.3常用自动化测试工具简介

第6章软件自动化测试

本章概要

软件自动化测试概述

自动化测试的策略与运用

常用自动化测试工具简介6.1软件自动化测试概述

软件自动化测试就是希望能够通过自动化测试工具或其他手段,按照测试工程师的预定计划进行自动的测试,目的是减轻手工测试的劳动量,从而达到提高软件质量的目的。软件自动化测试的目的在于发现老缺陷。而手工测试的目的在于发现新缺陷。测试自动化涉及到测试流程、测试体系、自动化编译、持续集成、自动发布测试系统以及自动化测试等方面整合。也就是说要让测试能够自动化,不仅是技术、工具的问题,更是一个公司和组织的文化问题。首先公司从资金、管理上支持,其次要有专门的测试团队去建立适合自动化测试的测试流程、测试体系;其次就是把原代码从受控库中取出、编译、集成、发布可运行系统、进行自动化的单元测试和自动化的功能测试的过程。6.1.1自动化测试能做什么

1.对新版本执行回归测试--测试每个特征2.更多更频繁的测试--沉闷、耗时3.替代手工测试的困难--300个用户有些非功能性方面的测试:压力测试、并发测试、大数据量测试、崩溃性测试,用人来测试是不可能达到的。在没有引入自动化测试工具之前,会出现这种情景:为了测试并发,研发中心的一、两百人在研发经理的口令:1-、2-、3!下,大家同时按下同一个按钮。4.具有一致性和可重复性5.更好的利用资源6.解决测试与开发之间的矛盾7.增加软件信任度6.1.2软件测试自动化的误区自动化测试较手工测试具有很多优点,它可以缩短软件开发测试周期,可以让产品更快投放市场;测试效率高,充分利用硬件资源;节省人力资源,降低测试成本;增强测试的稳定性和可靠性;提高软件测试的准确度和精确度,增加软件信任度。自动化软件测试工具使测试工作相对比较容易,但能产生更高质量的测试结果。手工不能做的事情,自动化测试能做,如负载,性能测试。软件测试实行自动化进程,绝不是因为厌烦了重复的测试工作,而是因为测试工作的需要,更准确地说是回归测试和系统测试的需要。

自动化化测试好处很多,但也有很多的局限,也正因为很多人对自动化测试的期望太高,所以有很多执行自动化测试失败的例子。测试人员应该注意以下几点:1.不要期望自动化测试能取代手工测试不能期望自动化测试来取代手工测试,测试主要还是要靠人工的。2.不要期望自动测试发现大量新缺陷同样不能期望自动化测试去发现更多新的缺陷,事实证明新缺陷越多,自动化测试失败的几率就越大。发现更多的新缺陷应该是手工测试的主要目的。测试专家JamesBach总结得85%的缺陷靠手工发现,而自动化测试只能发现15%的缺陷。3.工具本身不具有想象力工具毕竟是工具,出现一些需要思考、体验、界面美观方面的测试,自动化测试工具无能为力。4.技术问题、组织问题、脚本维护自动化测试的推行,有很多阻力,比如组织是否重视,是否成立这样的测试团队,是否有这样的技术水平,对于测试脚本的维护工作量也挺大的,是否值得维护等等问题都必须考虑。6.1.3不适合测试自动化的情况

1.定制型项目(一次性的)2.项目周期很短的项目3.业务规则复杂的对象4.美观、声音、易用性测试

5.测试很少运行:一个月只运行一次6.软件不稳定7.涉及物理交互6.1.4国内软件自动化测试实施现状分析1.认为自动化测试是个遥不可及的事情,很多小公司人员、资金、资源都不足,不必实施。热血沸腾的实施测试自动化,购买了工具,推行了新的测试流程;但是时间不长测试流程又回到原来的模式。2.公司实施了自动化测试;然而开发与测试之间,甚至与项目经理之间矛盾重重,出了事情不知如何追究责任;虽然还在勉强维持的自动化测试,但实施的成本比手工测试增加了,工作量比从前更大了,从而造成项目团队人员对自动化测试的怀疑3.自动化测试实施相对比较成功,但或多或少还有些问题,比如工具选择不准确,培训不到位,文档不完备,人员分配不合理,脚本可维护度不高等,造成一种表面上的自动化测试流程,是一幅空架子。6.1.5软件测试自动化的引入条件

1.对软件测试自动化的正确认识

2.对企业自身现状的评估分析6.2自动化测试的策略与运用

软件复杂性增加、开发周期缩短使我们有必要加强对自动测试策略的重视,并且寻找出提高效率减少成本的方法。在设计新一代自动化测试系统时,加入可以增加系统灵活性、提供更高测量和吞吐量性能、降低测试系统成本并且延长寿命的策略。6.2.1自动化测试策略

1.工作周期及阶段确定 2.分析自动化测试风险 3.手工测试现状复审 4.测试方法及工具确定 5.编写文档 6.内部评审 7.外部评审6.2.2自动测试的运用步骤

1.改进软件测试过程

2.定义需求

3.验证概念4.支持产品的可测试性5.具有可延续性的设计6.有计划的部署7.开展自动化测试6.2.3测试工具的运用及作用1.引入测试工具的优势(1)提高工作效率(2)保证测试的准确性(3)进行困难的测试工作2.测试工具的类别

目前基本上覆盖了各个测试阶段。按照工具所完成的任务,可以分为以下几大类:

测试设计工具

静态分析工具

单元测试工具

功能测试工具

性能测试工具

测试过程管理工具下面,我们就针对每一类工具展开介绍。(1)测试设计工具

(2)静态分析工具(3)单元测试工具(4)功能测试工具(5)性能测试工具(6)测试管理工具3.正确认识测试工具的作用

6.2.4自动化测试产生的问题1.使用自动化测试的误区(1)期望自动化测试能取代手工测试(2)期望自动测试发现大量新缺陷(3)工具本身不具有想象力(4)

只要使用自动化测试,就能缩短测试时间、提供测试效率(5)自动化测试工具使用了图形化界面,很容易上手,对人员的要求不高2.不适合自动化测试的情况(1)

定制型项目(2)项目周期很短的项目

(3)业务规则复杂的对象(4)美观、声音、易用性测试(5)测试很少运行(6)软件不稳定(7)涉及物理交互

3.自动化测试的缺点(1)不能取代手工测试(2)手工测试比自动测试发现的缺陷更多(3)对测试质量的依赖性极大(4)测试自动化不能提高有效性(5)测试自动化可能会制约软件开发。由于自动测试比手动测试更脆弱,所以维护会受到限制,从而制约软件的开发(6)工具本身并无想象力6.3常用自动化测试工具简介自动化测试工具可以减少测试工作量,提高测试工作效率,但首先是要选择一个合适的且满足企业实际应用需求的自动化测试工具,因为不同的测试工具,其面向的测试对象是不同,测试的重点也有所不同。按照测试工具的主要用途和应用领域,可以将自动化测试工具分为以下几类:

3.测试与开发模型软件测试不仅仅是执行测试,而是一个包含很多复杂活动的过程,并且这些过程应该贯穿于整个软件开发过程。在软件开发过程中,应该什么时候进行测试,如何更好地把软件开发和测试活动集成到一起?其实这也是软件测试工作人员必须考虑的问题,因为只有这样,才能提高软件测试工作的效率,提高软件产品的质量,最大限度地降低软件开发与测试的成本,减少重复劳动。如图1-4所示,即为软件测试与开发的完整流程。6.3.1功能测试类(1)WinRunner/QuickTestPro(2)QARun(3)RationalRobot/FunctionalTester6.3.2性能/负载/压力测试类LoadRunner、WebLoad、E-TestSuite、QALoad、BenchmarkFactory、Meter、WAS、ACT、OpenSTA、PureLoad

6.3.3测试管理工具(1)TestDirectorMI的测试管理工具(2)TestManagerRationalTestsuite(3)TestTrack/Bugzilla(4)Jira小结

自动化测试工具可以减少测试工作量,提高测试工作效率,为满足企业实际应用需求又阐述了我国软件企业现状,分析了引入自动化测试的时

温馨提示

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

评论

0/150

提交评论