测试自动化(ppt)12985.pptx
《测试自动化(ppt)12985.pptx》由会员分享,可在线阅读,更多相关《测试自动化(ppt)12985.pptx(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.Suzsoft Co.,Ltd.测试自动化 Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.2自动化测试基础 自动化测试的意
2、义 自动化测试的定义和引入 自动化测试的原理和方法 自动化测试工具的作用及优势 自动化测试存在的一些问题和限制 建立正确的自动化测试目标 Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.3自动化测试的意义 通常,软件测试的工作量很大(据统计,测试会占用到40%的开发时间;一些可靠性要求非常高的软件,
3、测试时间甚至占到开发时间的60%)。而测试中的许多操作是重复性的、非智力性的和非创造性的,并要求做准确细致的工作,计算机就最适合于代替人工去完成这样的任务。软件自动化测试是相对手工测试而存在的,主要是通过所开发的软件测试工具、脚本等来实现,具有良好的可操作性、可重复性和高效率等特点。要理解为什么要进行自动化测试,可以从两个方面考虑:一是手工测试的局限性;二是软件自动化测试所带来的好处。Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.Copyright,Suzsoft C
4、o.,Ltd.Confidential and Proprietary Information.All Rights Reserved.4手工测试的局限性 通过手工测试无法做到覆盖所有代码路径。简单的功能性测试用例在每一轮测试中都不能少,而且具有一定的机械性、重复性,工作量往往较大。许多与时序、死锁、资源冲突、多线程等有关的错误,通过手工测试很难捕捉到。进行系统负载、性能测试时,需要模拟大量数据或大量并发用户等各种应用场合时,很难通过于工测试来进行。进行系统可靠性测试时,需要模拟系统运行10年、几十年,以验证系统能否稳定运行,这也是手工测试无法模拟的。如果有大量(几千)的测试用例,需要在短时间
5、内(1天)完成,手工测试几乎不可能做到。Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.5自动化测试带来的好处 缩短软件开发测试周期,可以让产品更快投放市场。测试效率高,充分利用硬件资源。节省人力资源,降低测试成本。增强测试的稳定性和可靠性。提高软件测试的准确度和精确度,增加软件信任度。软件测试工具
6、使测试工作相对比较容易,且能产生更高质量的测试结果。手工不能做的事情,自动化测试能做,如负载、性能测试。软件测试实行自动化进程,绝不是因为厌烦了重复的测试工作,而是因为测试工作的需要,更准确地说是回归测试和系统测试的需要。Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.6自动化测试的定义和引入 自动
7、化测试的定义:使用一种自动化测试工具来验证各种软件测试的需求,它包括测试活动的管理与实施、测试脚本的开发与执行。在进行自动化测试前,首先要建立一个对软件测试自动化的认识观。软件测试工具能提高测试效率、覆盖率和可靠性等,自动化测试虽然具有很多优点,但它只是测试工作的一部分,是对手工测试的一种补充。自动化测试和手工测试的范围自动化测试绝不能代替手工测试,它们各有各自的特点,其测试对象和测试范围都不一样:在系统功能逻辑测试、验收测试、适用性测试、涉及物理交互性测试时,多采用黑盒测试的手工测试方法。Copyright,Suzsoft Co.,Ltd.Confidential and Proprieta
8、ry Information.All Rights Reserved.Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.7自动化测试的定义和引入 单元测试、集成测试、系统负载测试、性能测试、稳定性测试、可靠性测试等比较适合采用自动化测试。那种不稳定软件的测试、开发周期很短的软件、一次性的软件等不适合自动化测试。工具本身并没有想象力和灵活性,根据报道,自动化测试只能发现15的缺陷,而手工测试可以发现85的缺陷。自动化测试工具在进行功能测试时,其准确的含义是回归测试工具,这时
9、工具不能发现更多的新问题,但可以保证对已经测试过部分的准确性和客观性。多数情况下,手工测试和自动化测试应该相结合,以最有效的方法来完成测试任务。Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.8自动化测试的定义和引入 通常,当软件开发过程具有下列情况时,就需要考虑引入自动化测试:1)测试用例的生成,
10、包括测试输入、测试输出、测试操作指令等;2)测试的执行与控制,包括单机运行和网络多机分布式的运行,在节假日的运行,测试个案调用控制,测试对象、测试范围与测试版本的控制等;3)测试结果与标准输出进行对比;4)不吻合预期的测试结果的分析、记录、分类和报告 5)总体测试状况的统计及报表的产生。Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.Al
11、l Rights Reserved.9自动化测试的定义和引入 自动化测试应用 找准自动化测试的切入点 把测试开发纳入整个软件开发系统 自动化测试依赖测试流程和测试用例 软件测试自动化的投入较大 进行资源的合理调度 Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.10自动化测试的原理和方法 软件测试自
12、动化实现的基础是可以通过设计的特殊程序模拟测试人员对计算机的操作过程、操作行为,或者类似于编译系统那样对计算机程序进行检查。软件测试自动化实现的原理和方法主要有:直接对代码进行静态和动态分析、测试过程的捕获和回放、测试脚本技术、虚拟用户技术和测试管理技术。1)代码分析 代码分析类似于高级语言编译系统,一般针对不同的高级语言去构造分析工具,在工具中定义类、对象、函数、变量等定义规则、语法规则;在分析时对代码进行语法扫描,找出不符合编码规范的地方;根据某种质量模型评价代码质量,生成系统的调用关系图等。Copyright,Suzsoft Co.,Ltd.Confidential and Propri
13、etary Information.All Rights Reserved.Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.11自动化测试的原理和方法2)捕获和回放 代码分析是一种白盒测试的自动化方法,捕获和回放则是一种黑盒测试的自动化方法。捕获是将用户每一步操作都记录下来。这种记录的方式有两种:程序用户界面的像素坐标或程序显示对象(窗口、按钮、滚动条等)的位置,以及相对应的操作、状态变化或是属性变化。所有的记录转换为一种脚本语言所描述的过程,以模拟用户的操作。回放时,
14、将脚本语言所描述的过程转换为屏幕上的操作,然后将被测系统的输出记录下来同预先给定的标准结果比较。捕获和回放可以大大减轻黑盒测试的工作量,在迭代开发的过程中,能够很好地进行回归测试。Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.12自动化测试的原理和方法 关于自动化测试中的“录制回放”技术 目前的自
15、动化负载测试解决方案几乎都是采用“录制-回放”的技术。所谓的“录制-回放”技术,就是先由手工完成一遍需要测试的流程,同时由计算机记录下这个流程期间客户端和服务器端之间的通信信息,这些信息通常是一些协议和数据,并形成特定的脚本程序(Script)。然后在系统的统一管理下同时生成多个虚拟用户,并运行该脚本,监控硬件和软件平台的性能,提供分析报告或相关资料。这样,通过几台机器就可以模拟出成百上千的用户对应用系统进行负载能力的测试。Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved
16、.Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.13自动化测试的原理和方法3)脚本技术 脚本是一组测试工具执行的指令集合,也是计算机程序的一种形式。脚本可以通过录制测试的操作产生,然后再做修改,这样可以减少脚本编程的工作量。当然,也可以直接用脚本语言编写脚本。脚本中包含的是测试数据和指令,一般包括如下信息:同步(何时进行下一个输入)。比较信息(比较什么,比较标准)。埔获何种屏幕数据及存储在何处。从哪个数据源或从何处读取数据。控制信息等。Copyright,Suzsof
17、t Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.14自动化测试的原理和方法脚本技术可以分为以下几类:线性脚本是录制手工执行的测试用例得到的脚本。结构化脚本类似于结构化程序设计,具有各种逻辑结构(顺序、分支、循环),而且具有函数调用功能。共享脚本是指某个脚本可被多个测试用例使用,即脚本语言允许一个脚本调用另一个脚本。数据驱动脚本将测
18、试输入存储在独立的数据文件中。关键字驱动脚本是数据驱动脚本的逻辑扩展 Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.15自动化测试的原理和方法4)自动比较 静态比较和动态比较 简单比较和复杂比较 敏感性测试比较和健壮性测试比较 比较过滤器 Copyright,Suzsoft Co.,Ltd.Con
19、fidential and Proprietary Information.All Rights Reserved.Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.16自动化测试工具的作用及优势 软件测试自动化通常借助测试工具进行。测试工具可以进行部分的测试设计、实现、执行和比较的工作。部分的测试工具可以实现测试用例的自动生成,但通常的工作方式为人工设计测试用例,使用工具进行用例的执行和比较。如果采用自动比较技术,还可以自动完成测试用例执行结果的判断,从而避免人工比对存
20、在的疏漏问题。自动化测试工具的作用:(1)确定系统最优的硬件配置。(2)检查系统的可靠性。(3)检查系统硬件和软件的升级情况。(4)评估新产品。Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.17自动化测试工具的作用及优势 自动化测试工具的优势主要体现在以下几个方面:(1)记录业务流程并生成脚本程序
21、的能力。(2)对各种网络设备(客户机或服务器、其它网络设备)的模仿能力。(3)用有限的资源生成高质量虚拟用户的能力。(4)对于整个软件和硬件系统中各个部分的监控能力。(5)对于测试结果的表现和分析能力。Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.18自动化测试存在的一些问题 不正确的观念或不现实
22、的期望 缺乏具有良好素质和有经验的测试人才 测试工具本身的问题影响测试的质量 没有进行有效、充分的培训 不考虑公司的实际情况、盲目引入测试工具 没有形成一个良好的测试工具使用环境 其他技术问题和组织问题 Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.19测试自动化限制测试自动化可以带来非常明显的收
23、益,但也有以下限制:不能取代手工测试 手工测试比自动测试发现的缺陷更多 对测试质量的依赖性极大 测试自动化不能提高有效性 测试自动化可能会制约软件开发。工具本身并无想象力 另外,人工测试比测试工具更优越的另一个方面是可以处理意外事件。虽然工具也能处理部分异常事件,但是对真正的突发事件和不能由软件解决的问题就无能为力。Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary
24、 Information.All Rights Reserved.20建立正确的自动化测试目标 目前,软件自动化测试还不能解决所有的测试问题,因此,需要建立正确的自动化测试目标。测试计划产生:主要靠测试工程师与软件生产质量保证 专家的合作,自动化工具只能起到一定的辅助作用。一种测试工具不完全适用于所有测试 自动测试不一定减轻工作量 测试进度可能不一定缩短 测试工具不一定易于使用 自动化测试的普遍应用存在局限 测试覆盖率不会达到百分之百 Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Re
25、served.Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.21软件自动化测试工具简述 自动化测试工具的特征 自动化测试工具的分类 选择自动化测试工具 常用测试工具概要 Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Informati
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 测试 自动化 ppt 12985
限制150内