网站大量收购闲置独家精品文档,联系QQ:2885784924

第5章-软件自动化测试基本理论.pptVIP

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章-软件自动化测试基本理论

软件测试技术与实践 Software Testing Technology and Practice 第5章软件自动化测试基本理论 5.1 软件自动化测试基础 5.1.1 自动化测试的定义 5.1.2 自动化测试的对象 5.1.3 自动化测试的优势和局限 5.1.4 国内软件自动化测试实施现状分析 5.1.5 软件自动化测试的引入条件 5.1.6 自动化测试的运用步骤 5.2 软件自动化测试工具 5.2.1 自动化测试工具的作用及优势 5.2.2 自动化测试工具分类 5.2.3 常用自动化测试工具简介 5.1 软件自动化测试基础 软件自动化测试(Automated Testing,简称AT)是相对手工测试而存在的,主要通过所开发的软件测试工具,脚本等来实现,具有良好的可操作性,可重复性和高效率等特点[5]。目前,自动化测试已经成为国内软件工程领域的一个重要课题。 5.1.1 自动化测试的定义 朱少民[14]将自动化测试定义为:一切可以由计算机系统自动完成的测试任务都已由计算机系统或软件工具、程序来承担并自动执行。它包含了下列三层含义: “一切”,不仅包括测试执行的任务,即验证被测对象,而且还包括测试相关的其它任务,如环境安装、测试管理、缺陷管理、设置和维护等。 “可以”, 系统不能自动完成测试中的某些任务,如脚本开发、测试用例设计等。类似这些需要创造性的任务依旧必须通过手工处理完成。 即使由系统进行自动化测试,还少不了人的干预,包括事先安排自动化测试任务、测试结果分析、调试测试脚本等。 严格来说,自动化测试与测试自动化之间存在区别。自动化测试是对手工测试步骤进行模拟,通过执行脚本自动测试软件,并自动实施软件的单元测试、功能测试、负载测试及性能测试等。一方面,强调实际测试执行过程的改变,即测试工具自动执行的过程代替了传统的手工逐个运行测试用例的操作过程;另一方面,强调借助工具、策略等来完成测试的执行,即用工具来帮助或辅助测试,该过程可能是全自动的,也可能是半自动的。相比较而言,测试自动化则侧重自动化设计和实现测试的整个过程,即所有的测试任务全部都可以用计算机系统自动地完成,包括:环境的自动搭建及设置(如,安装包上载到服务器); 脚本(如,根据UML状态图、时序图等生成可运行的测试脚本)的自动生成;测试数据(如,负载测试所需的大量数据)的自动产生;操作步骤(含执行过程的控制)的自动执行;结果(如,实际输出结果和预期输出结果)的自动分析;测试流程(如,测试计划复审和批准、测试任务安排和执行、缺陷生命周期等)的自动处理及实现;测试报告自动生成等。 在一般情况下,“自动化测试”和“测试自动化”之间并无严格区分。本书定义自动化测试为:使用测试工具或其他手段代替或辅助人工来验证各种软件测试的需求,包括测试活动的管理与实施。其目的是通过较少的开销,得到更彻底的测试,以提高工作效率和产品质量,而不是为了自动化而自动化。妄图做到完全百分之百地自动化测试,不仅不现实,甚至可能会引起较大的代价,而且可能引起负面性,直接导致质量的降低。 自动化测试仅仅是测试工作的一部分,是对手工测试的一种补充。自动化测试和手工测测试往往交织进行,相互补充。工具执行过程往往需要人工分析,手工测试时也可借助工具处理及显示某些数据、日志等信息。自动化测试绝不能完全代替手工测试,而应在尊重手工测试的基础上,尽量采用自动化测试,根据各自的特点充分发挥各自的优势,使手工测试和自动化测试实现完美结合,从而达到高效测试的目的。 5.1.2 自动化测试的对象 通常,试图实现所有测试工作自动化都不是很有成效,而且可能是不现实或不合理的,例如,人机界面的测试过程就不适合自动化,因为人是该测试的关键因素。一般来说,如果写一个自动化脚本需要的时间比写一个手工脚本需要的时间长,就需要估计使用自动化脚本所节省的时间及该脚本执行的次数,以确定该脚本是否适合自动化。如果某项测试预计只运行一次,那么,除非实现脚本自动化的成本非常低(如,捕获回放),否则手工测试将更加有效。比较适合自动化测试的对象有[15]: 1.重复的任务 重复的任务是自动化测试的主要候选对象,主要包括回归测试、烟雾测试、负载测试和性能测试等。其中,烟雾测试可以看作回归测试的一个子集,其运行次数比其他测试都多。因此,如果没有充足的时间实现整个回归测试的自动化,首先应该考虑实现烟雾测试的自动化;使用工具执行性能测试往往会容易很多;有些环境中,如果不使用工具将不能执行负载测试。 2.枯燥的任务 枯燥的任务也是自动化测试的主要候选对象,包括代码覆盖、数字计算、仿真和人力密集型任务等。如果不使用工具,这些任务将不可能在任何比较大的规模上

文档评论(0)

zijingling + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档