第十软件测试自动化课件.ppt
《第十软件测试自动化课件.ppt》由会员分享,可在线阅读,更多相关《第十软件测试自动化课件.ppt(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第十软件测试自动化第1页,此课件共43页哦概概 况况 到目前为止我们已经讨论了多种测试类型和如何开发测试用例,但是这些测试用例的运行和检查会花费我们大量的时间和精力。随着测试的覆盖率和质量的提高,以及缺陷的不断改正,测试用例的运行还需要额外的时间。要想解决这个问题就是自动运行大部分需要反复运行的测试用例。通过开发软件和使用工具来进行软件测试叫做软件测试自动化(Test Automation),也可以称为软件自动化测试(或自动测试)。本章我们将谈论软件测试自动化的几个主要问题。第2页,此课件共43页哦概概 况况本章内容提要本章内容提要 自动测试与手工测试的比较自动测试与手工测试的比较 如何开展自
2、动测试如何开展自动测试 自动测试方案的选择自动测试方案的选择第3页,此课件共43页哦10.1 手工测试与自动测试手工测试与自动测试l手工测试和自动测试相对,是指不使用工具进手工测试和自动测试相对,是指不使用工具进行软件测试。在很多公司存在这两种测试方法行软件测试。在很多公司存在这两种测试方法,也有不少小公司只有手工测试。手工测试和,也有不少小公司只有手工测试。手工测试和自动测试孰好孰坏,是否自动测试就比手工测自动测试孰好孰坏,是否自动测试就比手工测试优越?在回答这些问题之前,首先要对手工试优越?在回答这些问题之前,首先要对手工测试和自动测试有个清晰的认识,知道它们各测试和自动测试有个清晰的认识
3、,知道它们各自的优点和缺点。自的优点和缺点。第4页,此课件共43页哦10.1.2 自动测试是否比手工测试优越自动测试是否比手工测试优越 在大多数软件开发模式中,软件发布之前都要多次重复编码在大多数软件开发模式中,软件发布之前都要多次重复编码测试测试修复的过程。修复的过程。如果要测试软件的某项特征,也许需要不止一次执行测试。重复测试的过程也称为回归测如果要测试软件的某项特征,也许需要不止一次执行测试。重复测试的过程也称为回归测试。如果一个小型软件项目有上千测试用例要执行,还要重复执行,手工测试会非常单调试。如果一个小型软件项目有上千测试用例要执行,还要重复执行,手工测试会非常单调和枯燥。而利用工
4、具进行自动测试就可以把人从这种枯燥单调的重复性劳动中解放出来。和枯燥。而利用工具进行自动测试就可以把人从这种枯燥单调的重复性劳动中解放出来。第5页,此课件共43页哦提高了测试执行速度,节省了时间。因此自动测试和手工测试比较起来有以下几个优点第6页,此课件共43页哦提高了测试效率。手工测试存在效率问题,这在软件产品的研发后期尤其明显,因为随着产品的日趋完善,功能日渐增多,需要测试和检查的内容越来越多,很容易遗漏。加之产品发布日期日益临近,人工重复进行回归测试的难度加大,很难在短时间内完成大面积的测试覆盖。第7页,此课件共43页哦提高了准确度和精确度。测试员尝试了几百个测试用例以后,注意力可能会分
5、散,并开始犯错误。而测试工具可以重复执行同样的测试,并毫无差错地检查测试结果。第8页,此课件共43页哦更好地利用资源。手工测试需要测试人员在场,而自动测试可以一天24小时、一周7天地随时执行。还可使位于全球不同地方、不同时区的团队监视和控制测试,提供全球时区的覆盖。第9页,此课件共43页哦模拟测试条件。有的测试用例的测试条件需要的人数或设备数目很大,现实无法实现,测试工具可以模拟真实的情况。第10页,此课件共43页哦 如上所述,既然自动测试有如此多的优点,那么它是否比手工测试优越,可以完全代劳手工测试的所有工作呢?答案是否定的,自动测试没有想象中那么优越。第11页,此课件共43页哦 手工测试有
6、其不可替代的地方,因为人是具有很强智能判断能力的动物,而工具是相对机械、缺乏思维能力的东西。手工测试不可替代的地方至少包括以下几点。测试用例的设计:测试人员的经验和对错误的猜测能力是工具不可替代的。界面和用户体验测试:人类的审美观和心理体验是工具不可模拟的。正确性的检查:人们对是非的判断和逻辑推理能力是工具不具备的。因此,自动测试适宜用在需要重复执行机械化的界面操作、计算、数值比较、搜索等方面。我们应该充分利用自动测试工具的高效率来帮助测试人员完成一些基本的测试用例的执行,从而实现更加快速的回归测试,并且提高测试的覆盖率。第12页,此课件共43页哦10.2 自动测试的开展 在进行自动测试之前,
7、先要考虑以下5个方面,这5个方面是成功开展自动化测试需要考虑的因素,也可用于衡量目前的项目是否有足够的条件进行自动测试。第13页,此课件共43页哦(1)测试自动化类似于软件开发过程)测试自动化类似于软件开发过程录制录制/回放的脚本开发方式是不可能应付所有自动测试的需求的,因此,需要测试人员掌握必要的开回放的脚本开发方式是不可能应付所有自动测试的需求的,因此,需要测试人员掌握必要的开发知识和编码技巧。发知识和编码技巧。(2)测试自动化是一个长期的过程)测试自动化是一个长期的过程首先,不能期望自动测试在短期内找到很多缺陷,自动测试只有在长期的运行后才能首先,不能期望自动测试在短期内找到很多缺陷,自
8、动测试只有在长期的运行后才能体现出它的价值。其次,不要认为只要购买了工具,录制一些脚本,然后,就可以安体现出它的价值。其次,不要认为只要购买了工具,录制一些脚本,然后,就可以安枕无忧地看着自动测试实现想要的效果。需要考虑自动测试脚本的维护成本。随着测枕无忧地看着自动测试实现想要的效果。需要考虑自动测试脚本的维护成本。随着测试应用程序功能的增加和修改,测试脚本的维护工作量会急剧增加。试应用程序功能的增加和修改,测试脚本的维护工作量会急剧增加。(3)确保测试自动化的资源,包括人员和技能)确保测试自动化的资源,包括人员和技能最好有专门的自动测试工程师来保证测试自动化持续、顺利地进行下去,自动测试工最
9、好有专门的自动测试工程师来保证测试自动化持续、顺利地进行下去,自动测试工程师需要对项目的测试自动化负责,设计测试框架和解决各种测试脚本结构,解决测程师需要对项目的测试自动化负责,设计测试框架和解决各种测试脚本结构,解决测试脚本的开发问题,确保自动测试得以计划、设计和有序地开发、维护。试脚本的开发问题,确保自动测试得以计划、设计和有序地开发、维护。第14页,此课件共43页哦(4)循序渐进地开展自动测试)循序渐进地开展自动测试不要一开始就把自动测试设想得很大,这往往是不可实现的。应该从小开始,不要一开始就把自动测试设想得很大,这往往是不可实现的。应该从小开始,先熟悉工具和自动测试的基本技能,然后,
10、整合资源,开始实现一些基本的自先熟悉工具和自动测试的基本技能,然后,整合资源,开始实现一些基本的自动测试用例,例如,冒烟测试类型的自动测试脚本。先实现那些容易实现且相动测试用例,例如,冒烟测试类型的自动测试脚本。先实现那些容易实现且相对稳定的功能模块的自动测试,然后再考虑逐步扩展和补充其他相对难实现,对稳定的功能模块的自动测试,然后再考虑逐步扩展和补充其他相对难实现,或者是比较不稳定的功能模块。或者是比较不稳定的功能模块。(5)确保测试过程的成熟度)确保测试过程的成熟度如果软件企业的测试过程和项目管理过程的能力成熟度比较低,则实现自动测试的成功率也如果软件企业的测试过程和项目管理过程的能力成熟
11、度比较低,则实现自动测试的成功率也比较低。在展开自动测试之前,先考察一下软件企业各方面的管理能力,例如,测试是否独比较低。在展开自动测试之前,先考察一下软件企业各方面的管理能力,例如,测试是否独立进行?有无配置管理?进度控制能力如何?如果各方面的能力成熟度都比较差的话,则不立进行?有无配置管理?进度控制能力如何?如果各方面的能力成熟度都比较差的话,则不要盲目引入测试自动化。要盲目引入测试自动化。第15页,此课件共43页哦10.2.1 自动测试的周期 自动测试什么时候启动、什么时候结束并没有硬性规则。自动测试工作可以与产品开发同时进行,并且可以与产品的多个发布版本重叠。与多产品发布一样,自动测试
12、也有多个发布版本。对自动测试的一个整体需求就是,自动测试的交付应该在测试执行阶段之前,以便自动测试可交付产品能够在测试被测产品的当前发布版本时使用。自动测试的需求跨多个发布版本的多个阶段,这与产品需求一样。测试执行可以在发布产品后不久结束,但是自动测试工作却在产品发布后仍然持续。第16页,此课件共43页哦 由于产品开发和自动测试开发具有以上的相似性,因此,自动测试遵循的过程和生存周期模型与产品开发的也非常类似。在绝大多数情况下,自动测试也遵循产品的软件开发生存周期(SDLC)模型。本节集中介绍V字模型及其扩展,以介绍测试自动测试的过程。首先研究产品开发所包含的阶段和自动测试阶段如图10-1所示
13、,并理解两者之间的相似性。第17页,此课件共43页哦6.6 6.6 单元测试环境单元测试环境桩模块桩模块3产品需求产品策划产品设计产品编辑自动测试需求自动测试策划自动测试设计自动测试编码图10-1 产品开发与自动测试间的相似性第18页,此课件共43页哦 本章已经介绍过,自动测试生存周期活动与产品开发活动有很强的相似性。就像产品需要采集产品需求一样,自动测试也需要采集自动测试需求。类似地,就像产品策划、设计和编码一样,在测试自动测试过程中也有自动测试策划、设计和编码。在测试产品时检验测试包很重要。测试包是被自动化的一组测试用例和与这些用例相关联的场景(Scenario)。如果测试包中有缺陷,就要
14、花很大的精力搞清楚缺陷是来自产品还是来自测试包。自动测试包在用于测试产品之前,首先要进行测试。如果测试包报告了错误的缺陷,就会严重影响测试自动测试的信誉,影响下一步的自动测试工作。因此,自动测试包必须具有值得信任的质量。为了创建具有值得信任的质量的测试包,与产品开发一样,一些测试阶段也是很重要的。图10-2扩展了图10-1,引入了产品和自动测试包的测试阶段。第19页,此课件共43页哦6.6 6.6 单元测试环境单元测试环境桩模块桩模块3产品需求产品策划产品设计自动测试需求自动测试策划自动测试编码图10-2 W字模型自动测试周期包含的阶段测试设计测试包的测试设计自动测试设计测试策划测试需求测试包
15、测试需求测试包测试计划产品编码产品测试就绪测试包就绪测试包的测试产品测试执行第20页,此课件共43页哦 产品和自动测试开发的每个阶段可以执行一组活动,具体包括四项。产品在需求阶段采集开发需求时,同时完成针对测试产品的测试需求、针对自动测试开发的需求和针对自动测试的需求。类似地,在策划和设计阶段也可以执行一组活动,具体也包括四项。针对产品和自动测试的编码构成这种W字模型的编码阶段,这个阶段要交付产品和测试包。产品和自动测试就像铁路的两条钢轨,沿同一方向并行铺开,并具有类似的预期。测试包构成自动测试的一种可交付产品。此外,测试框架也可看作自动测试的一种可交付产品,上一段讨论的测试阶段只针对测试包,
16、因为测试包需要彻底测试,以便用于产品测试。在产品和自动测试中引入测试活动后,生命周期模型图中就包含了并行的两组开发活动和并行的两组测试活动。把这些活动合在一起就构成W字模型。因此,对于包含自动测试的产品开发,遵循W字模型,既保证产品的质量,又保证所开发的测试包达到预期的质量要求,是一种很好的选择。第21页,此课件共43页哦 在讨论W字模型时,不能将其解释为出现在特定阶段内的所有活动都应该同时开始和结束。例如,图10-2中的“设计”、“测试设计”、“自动测试设计”和“针对测试包的测试设计都出现在同一个阶段(在图中并排给出)。针对产品和自动测试的这些活动可以在不同时间开始和结束。W字模型只是保证活
17、动的流程,并没有限定起止时间。产品开发和自动测试可以有独立的进度计划,并作为两个不同的项目进行处理。不需要同时开始和结束的另一个理由是,在很多公司中,要由同一个测试团队测试产品和开发测试包。在这种情况下,显然进度是不同的,活动的起止时间取决于由可用的资源和其他依赖关系决定的项目进度。对于公司内有专门的自动测试团队的情况,自动测试进度可以独立于产品的发布。每次产品发布对应一些(经过测试的)可交付产品。这样,可以使用最新开发的测试包测试产品的当前发布版本。第22页,此课件共43页哦10.2.2 自动测试的成本自动测试的成本 成功开展自动化测试必须考虑自动测试的成本问题。成本包括测试人员、测试设备、
18、测试工具等。第23页,此课件共43页哦(1)应该能抽出专职的测试人员进行自动测试脚本的开发,并且抽调的测试人员不会对已有的手工测试人员造成影响,需要保证自动测试的开展不会影响到手工测试的正常进行。(2)自动测试可能需要额外的测试设备,例如,测试执行的机器、文件服务器、数据库等。应该能为自动测试准备专门的测试设备。第24页,此课件共43页哦(3)有引入测试工具或开发测试工具的成本预算。缺乏工具的自动测试是不可能实现的。在上马一个项目的自动测试之前应该进行测试工具的引入准备、开展测试工具的培训工作开展等。(4)某些项目选用了很多第三方控件或自定义的控件,而这些控件的可测试性非常差,那么对这个项目进
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第十 软件 测试 自动化 课件
限制150内