好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

测试自动化.ppt

49页
  • 卖家[上传人]:hs****ma
  • 文档编号:604269344
  • 上传时间:2025-05-19
  • 文档格式:PPT
  • 文档大小:594.50KB
  • / 49 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.,*,Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.,*,Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Copyright,Suzsoft Co.,Ltd.Confidential and Proprietary Information.All Rights Reserved.,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,自动化测试基础,自动化测试的意义,自动化测试的定义和引入,自动化测试的原理和方法,自动化测试工具的作用及优势,自动化测试存在的一些问题和限制,建立正确的自动化测试目标,自动化测试的意义,通常,软件测试的工作量很大(据统计,测试会占用到,40%的开发时间;一些可靠性要求非常高的软件,测试时间甚至占到开发时间的60%)。

      而测试中的许多操作是重复性的、非智力性的和非创造性的,并要求做准确细致的工作,计算机就最适合于代替人工去完成这样的任务软件自动化测试是相对手工测试而存在的,主要是通过所开发的软件测试工具、脚本等来实现,具有良好的可操作性、可重复性和高效率等特点要理解为什么要进行自动化测试,可以从两个方面考虑:,一是手工测试的局限性;,二是软件自动化测试所带来的好处手工测试的局限性,通过手工测试无法做到覆盖所有代码路径简单的功能性测试用例在每一轮测试中都不能少,而且具有一定的机械性、重复性,工作量往往较大许多与时序、死锁、资源冲突、多线程等有关的错误,通过手工测试很难捕捉到进行系统负载、性能测试时,需要模拟大量数据或大量并发用户等各种应用场合时,很难通过于工测试来进行进行系统可靠性测试时,需要模拟系统运行,10年、几十年,以验证系统能否稳定运行,这也是手工测试无法模拟的如果有大量(几千)的测试用例,需要在短时间内(1天)完成,手工测试几乎不可能做到自动化测试带来的好处,缩短软件开发测试周期,可以让产品更快投放市场测试效率高,充分利用硬件资源节省人力资源,降低测试成本增强测试的稳定性和可靠性提高软件测试的准确度和精确度,增加软件信任度。

      软件测试工具使测试工作相对比较容易,且能产生更高质量的测试结果手工不能做的事情,自动化测试能做,如负载、性能测试软件测试实行自动化进程,绝不是因为厌烦了重复的测试工作,而是因为测试工作的需要,更准确地说是回归测试和系统测试的需要自动化测试的定义和引入,自动化测试的定义:使用一种自动化测试工具来验证各种软件测试的需求,它包括测试活动的管理与实施、测试脚本的开发与执行在进行自动化测试前,首先要建立一个对软件测试自动化的认识观软件测试工具能提高测试效率、覆盖率和可靠性等,自动化测试虽然具有很多优点,但它只是测试工作的一部分,是对手工测试的一种补充自动化测试和手工测试的范围,自动化测试绝不能代替手工测试,它们各有各自的特点,其测试对象和测试范围都不一样:,在系统功能逻辑测试、验收测试、适用性测试、涉及物理交互性测试时,多采用黑盒测试的手工测试方法自动化测试的定义和引入,单元测试、集成测试、系统负载测试、性能测试、稳定性测试、可靠性测试等比较适合采用自动化测试那种不稳定软件的测试、开发周期很短的软件、一次性的软件等不适合自动化测试工具本身并没有想象力和灵活性,根据报道,自动化测试只能发现,15的缺陷,而手工测试可以发现85的缺陷。

      自动化测试工具在进行功能测试时,其准确的含义是回归测试工具,这时工具不能发现更多的新问题,但可以保证对已经测试过部分的准确性和客观性多数情况下,手工测试和自动化测试应该相结合,以最有效的方法来完成测试任务自动化测试的定义和引入,通常,当软件开发过程具有下列情况时,就需要考虑引入自动化测试:,1)测试用例的生成,包括测试输入、测试输出、测试操作指令等;,2)测试的执行与控制,包括单机运行和网络多机分布式的运行,在节假日的运行,测试个案调用控制,测试对象、测试范围与测试版本的控制等;,3)测试结果与标准输出进行对比;,4)不吻合预期的测试结果的分析、记录、分类和报告,5)总体测试状况的统计及报表的产生自动化测试的定义和引入,自动化测试应用,找准自动化测试的切入点,把测试开发纳入整个软件开发系统,自动化测试依赖测试流程和测试用例,软件测试自动化的投入较大,进行资源的合理调度,自动化测试的原理和方法,软件测试自动化实现的基础是可以通过设计的特殊程序模拟测试人员对计算机的操作过程、操作行为,或者类似于编译系统那样对计算机程序进行检查软件测试自动化实现的原理和方法主要有:直接对代码进行静态和动态分析、测试过程的捕获和回放、测试脚本技术、虚拟用户技术和测试管理技术。

      1)代码分析,代码分析类似于高级语言编译系统,一般针对不同的高级语言去构造分析工具,在工具中定义类、对象、函数、变量等定义规则、语法规则;在分析时对代码进行语法扫描,找出不符合编码规范的地方;根据某种质量模型评价代码质量,生成系统的调用关系图等自动化测试的原理和方法,2)捕获和回放,代码分析是一种白盒测试的自动化方法,捕获和回放则是一种黑盒测试的自动化方法捕获是将用户每一步操作都记录下来这种记录的方式有两种:程序用户界面的像素坐标或程序显示对象(窗口、按钮、滚动条等)的位置,以及相对应的操作、状态变化或是属性变化所有的记录转换为一种脚本语言所描述的过程,以模拟用户的操作回放时,将脚本语言所描述的过程转换为屏幕上的操作,然后将被测系统的输出记录下来同预先给定的标准结果比较捕获和回放,可以大大减轻黑盒测试的工作量,在迭代开发的过程中,能够很好地进行回归测试自动化测试的原理和方法,关于自动化测试中的“录制,回放”技术,目前的自动化负载测试解决方案几乎都是采用“录制-回放”的技术所谓的“录制,-,回放”技术,就是先由手工完成一遍需要测试的流程,同时由计算机记录下这个流程期间客户端和服务器端之间的通信信息,这些信息通常是一些协议和数据,并形成特定的脚本程序,(Script)。

      然后在系统的统一管理下同时生成多个虚拟用户,并运行该脚本,监控硬件和软件平台的性能,提供分析报告或相关资料这样,通过几台机器就可以模拟出成百上千的用户对应用系统进行负载能力的测试自动化测试的原理和方法,3),脚本技术,脚本是一组测试工具执行的指令集合,也是计算机程序的一种形式脚本可以通过录制测试的操作产生,然后再做修改,这样可以减少脚本编程的工作量当然,也可以直接用脚本语言编写脚本脚本中包含的是测试数据和指令,一般包括如下信息:,同步(何时进行下一个输入)比较信息(比较什么,比较标准)埔获何种屏幕数据及存储在何处从哪个数据源或从何处读取数据控制信息等自动化测试的原理和方法,脚本技术可以分为以下几类:,线性脚本,是录制手工执行的测试用例得到的脚本结构化脚本,类似于结构化程序设计,具有各种逻辑结构(顺序、分支、循环),而且具有函数调用功能共享脚本,是指某个脚本可被多个测试用例使用,即脚本语言允许一个脚本调用另一个脚本数据驱动脚本,将测试输入存储在独立的数据文件中关键字驱动脚本,是数据驱动脚本的逻辑扩展,自动化测试的原理和方法,4),自动比较,静态比较和动态比较,简单比较和复杂比较,敏感性测试比较和健壮性测试比较,比较过滤器,自动化测试工具的作用及优势,软件测试自动化通常借助测试工具进行。

      测试工具可以进行部分的测试设计、实现、执行和比较的工作部分的测试工具可以实现测试用例的自动生成,但通常的工作方式为人工设计测试用例,使用工具进行用例的执行和比较如果采用自动比较技术,还可以自动完成测试用例执行结果的判断,从而避免人工比对存在的疏漏问题自动化测试工具的作用:,(,1)确定系统最优的硬件配置2)检查系统的可靠性3)检查系统硬件和软件的升级情况4)评估新产品自动化测试工具的作用及优势,自动化测试工具的优势主要体现在以下几个方面:,(,1)记录业务流程并生成脚本程序的能力2)对各种网络设备(客户机或服务器、其它网络设备)的模仿能力3)用有限的资源生成高质量虚拟用户的能力4)对于整个软件和硬件系统中各个部分的监控能力5)对于测试结果的表现和分析能力自动化测试存在的一些问题,不正确的观念或不现实的期望,缺乏具有良好素质和有经验的测试人才,测试工具本身的问题影响测试的质量,没有进行有效、充分的培训,不考虑公司的实际情况、盲目引入测试工具,没有形成一个良好的测试工具使用环境,其他技术问题和组织问题,测试自动化限制,测试自动化可以带来非常明显的收益,但也有以下限制:,不能取代手工测试,手工测试比自动测试发现的缺陷更多,对测试质量的依赖性极大,测试自动化不能提高有效性,测试自动化可能会制约软件开发。

      工具本身并无想象力,另外,人工测试比测试工具更优越的另一个方面是可以处理意外事件虽然工具也能处理部分异常事件,但是对真正的突发事件和不能由软件解决的问题就无能为力建立正确的自动化测试目标,目前,软件自动化测试还不能解决所有的测试问题,因此,需要建立正确的自动化测试目标测试计划产生:主要靠测试工程师与软件生产质量保证 专家的合作,自动化工具只能起到一定的辅助作用一种测试工具不完全适用于所有测试,自动测试不一定减轻工作量,测试进度可能不一定缩短,测试工具不一定易于使用,自动化测试的普遍应用存在局限,测试覆盖率不会达到百分之百,软件自动化测试工具简述,自动化测试工具的特征,自动化测试工具的分类,选择自动化测试工具,常用测试工具概要,自动化测试工具的特征,支持脚本化语言,(Scripting Language),对程序界面中对象的识别能力,支持函数的可重用,支持外部函数库,抽象层将程序界面中的对象实体映射成逻辑对象,分布式测试(Distributed Test)的支持,支持数据驱动测试(Data-Driven Test),错误处理,调试器(Debugger),源代码管理,支持脚本的命令行(Command Line)方式,自动化测试工具的分类,测试工具可以从两个不同的方面去分类。

      根据测试方法不同,自动化测试工具可以分为:,白盒测试工具、黑盒测试工具,根据测试的对象和目的,自动化测试工具可以分为:,单元测试工具、功能测试工具、负载测试工具、性能测试工具、Web测试工具、数据库测试工具、回归测试工具、嵌入式测试工具、页面链接测试工具、测试设计与开发工具、测试执行和评估工具、测试管理工具等,白盒测试工具,白盒测试工具一般是针对被测源程序进行的测试,测试所发现的故障可以定位到代码级根据测试工具工作原理的不同,白盒测试的自动化工具可分为静态测试工具和动态测试工具静态测试工。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.