
第6章软件自动化测试基础 6.1自动化测试基础 6.2软件自动化测试生在周期方法学 6.3软件自动化测试生存周期方法学的应用 6.4软件自动化测试工具简述 第六章软件自动化测试基础
A Free sample background from www.powerpointbackgrounds.com Slide 1 第六章 软件自动化测试基础

本章教学目标 理论环节 ■认识与理解应用软件自动化测试的基本概念 ■认识与理解软件自动化测试生存周期方法学及其应用 ■认识软件自动化测试工具与测试平台的获取及引入 ■常用软件自动化测试工具简介 实践环节 ■选定一个白盒自动化测试工具,进行初步学习和认识 ■选定一个黑盒自动化测试工具,进行初步学习和认识 ■选定一个负载自动化测试工具,进行初步学习和认识 第六章软件自动化测试基础
A Free sample background from www.powerpointbackgrounds.com Slide 2 第六章 软件自动化测试基础

6.1自动化测试基础 6.1.1自动化测试的意义 6.1.2自动化测试的定义和引入 6.1.3自动化测试的原理和方法 6.1.4自动化测试工具的作用及优势 6.1.5自动化测试的运用 Retur 第大章 软件自动化测试基础
A Free sample background from www.powerpointbackgrounds.com Slide 3 第六章 软件自动化测试基础

6.1.1自动化测试的意义 ■通常,软件测试的工作量很大(据统计,测试会占用到40% 的开发时间;一些可靠性要求非常高的软件,测试时间甚至 占到开发时间的60%)。而测试中的许多操作是重复性的、 非智力性的和非创造性的,并要求做准确细致的工作,计算 机就最适合于代替人工去完成这样的任务。 ■软件自动化测试是相对手工测试而存在的,主要是通过所开 发的软件测试工具、脚本等来实现,具有良好的可操作性、 可重复性和高效率等特点。 ■要理解为什么要进行自动化测试,可以从两个方面考虑: >一是手工测试的局限性: ,二是软件自动化测试所带来的好处。 第六章软件自动化测试基础
A Free sample background from www.powerpointbackgrounds.com Slide 4 第六章 软件自动化测试基础

手工测试的局限性 ■通过手工测试无法做到覆盖所有代码路径。 ■简单的功能性测试用例在每一轮测试中都不能少,而且具有 一定的机械性、重复性,工作量往往较大。 ■许多与时序、死锁、资源冲突、多线程等有关的错误,通过 手工测试很难捕捉到。 ■进行系统负载、性能测试时,需要模拟大量数据或大量并发 用户等各种应用场合时,很难通过于工测试来进行。 ■进行系统可靠性测试时,需要模拟系统运行0年、几十年, 以验证系统能否稳定运行,这也是手工测试无法模拟的。 ■如果有大量(几千)的测试用例,需要在短时间内(1天) 完成,手工测试几乎不可能做到。 第六章软件自动化测试基础
A Free sample background from www.powerpointbackgrounds.com Slide 5 第六章 软件自动化测试基础

自动化测试带来的好处 ■缩短软件开发测试周期,可以让产品更快投放市场。 ■测试效率高,充分利用硬件资源。 ■节省人力资源,降低测试成本。 ■增强测试的稳定性和可靠性。 ■提高软件测试的准确度和精确度,增加软件信任度。 ■软件测试工具使测试工作相对比较容易,但能产生更高质量 的测试结果。 ■手工不能做的事情,自动化测试能做,如负载、性能测试。 软件测试实行自动化进程,绝不是因为厌烦了重复的测 试工作,而是因为测试工作的需要,更准确地说是回归测试 和系统测试的需要。 第大章软件自动化则试基础
A Free sample background from www.powerpointbackgrounds.com Slide 6 第六章 软件自动化测试基础

6.1.2自动化测试的定义和引入 ■自动化测试的定义:使用一种自动化测试工具来验证各种 软件测试的需求,它包括测试活动的管理与实施。 ■在进行自动化测试前,首先要建立一个对软件测试自动化 的认识观。软件测试工具能提高测试效率、覆盖率和可靠 性等,自动化测试虽然具有很多优点,但它只是测试工作 的一部分,是对手工测试的一种补充。自动化测试绝不能 代替手工测试,它们各有各自的特点,其测试对象和测试 范围都不一样: ~在系统功能逻辑测试、验收测试、适用性测试、涉及物理 交互性测试时,多采用黑盒测试的手工测试方法。 第六章软件自动化测试基础
A Free sample background from www.powerpointbackgrounds.com Slide 7 第六章 软件自动化测试基础

自动化测试的定义和引入(续) ,单元测试、集成测试、系统负载测试、性能测试、稳定性 测试、可靠性测试等比较适合采用自动化测试。 ,那种不稳定软件的测试、开发周期很短的软件、一次性的 软件等不适合自动化测试。 ~工具本身并没有想象力和灵活性,根据报道,自动化测试 只能发现15%的缺陷,而手工测试可以发现85%的缺陷。 ,自动化测试工具在进行功能测试时,其准确的含义是回归 测试工具,这时工具不能发现更多的新问题,但可以保证 对已经测试过部分的准确性和客观性。 多数情况下,手工测试和自动化测试应该相结合,以 最有效的方法来完成测试任务。 第六章软件自动化测试基础
A Free sample background from www.powerpointbackgrounds.com Slide 8 第六章 软件自动化测试基础

自动化测试的定义和引入(续) ■通常,当软件开发过程具有下列情况时,就需要考虑引入 自动化测试: (1)非常重要的测试:(2)涉及范围很广的测试;(3)对 主要功能的测试;(4)容易自动化的测试;(5)很快有 回报的测试:(6)运行最频繁的测试:(7)测试个案的 生成,包括测试输入、测试输出、测试操作指令等;(8)》 测试的执行与控制,包括单机运行和网路多机分布式的运 行,在节假日的运行,测试个案调用控制,测试对象、测 试范围与测试版本的控制等:(9)测试结果与标准输出进 行对比;(10)不吻合预期的测试结果的分析、记录、分 类和报告,及总体测试状况的统计及报表的产生。 第大章软件自动化则试基础
A Free sample background from www.powerpointbackgrounds.com Slide 9 第六章 软件自动化测试基础

6.1.3自动化测试的原理和方法 ■软件测试自动化实现的基础是可以通过设计的特殊程序模拟 测试人员对计算机的操作过程、操作行为,或者类似于编译 系统那样对计算机程序进行检查。 ■软件测试自动化实现的原理和方法主要有:直接对代码进行 静态和动态分析、测试过程的捕获和回放、测试脚本技术、 虚拟用户技术和测试管理技术。 (1)代码分析 代码分析类似于高级编译系统,一般针对不同的高级语 言去构造分析工具,在工具中定义类、对象、函数、变量等 定义规则、语法规则:在分析时对代码进行语法扫描,找出 不符合编码规范的地方;根据某种质量模型评价代码质量, 生成系统的调用关系图等。 第六章软件白动化测试基础
A Free sample background from www.powerpointbackgrounds.com Slide 10 第六章 软件自动化测试基础