您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > section4-自动化测试
1软件自动化测试基础2软件自动化测试基础自动化测试介绍自动化测试工具简述自动化测试工具功能演示3自动化测试基础自动化测试的意义自动化测试的定义和引入自动化测试的原理和方法自动化测试工具的作用及优势软件自动化测试生存周期方法学软件自动化测试生存周期方法学的应用自动化测试存在的一些问题和限制建立正确的自动化测试目标4自动化测试的意义软件测试的特点:工作量大、重复性、非创造性等。软件自动化测试是相对手工测试而存在的,主要是通过所开发的软件测试工具、脚本等来实现,具有良好的可操作性、可重复性和高效率等特点。为什么要进行自动化测试?一是手工测试的局限性;二是软件自动化测试所带来的好处。5手工测试的局限性手工测试人力资源是有限的手工测试无法做到覆盖所有的逻辑路径。多轮的简单功能性测试用手工测试执行成本太高手工测试无法进行系统负载、性能测试手工测试无法进行进行系统可靠性及稳定测试手工测试执行效率比较低,如果有大量(几千)的测试用例,需要在短时间内(1天)完成,手工测试几乎不可能做到。6自动化测试带来的好处缩短软件开发测试周期,可以让产品更快投放市场。测试效率高,充分利用硬件资源,手工测试无法进行。保证了软件回归测试的覆盖度。提高软件测试的准确度和精确度,增加软件信任度。手工不能做的事情,自动化测试能做,如负载、性能测试。软件测试实行自动化进程,绝不是因为厌烦了重复的测试工作,而是因为测试工作的需要,更准确地说是回归测试和系统测试的需要。7自动化测试的定义和引入自动化测试的定义:使用一种自动化测试工具来验证各种软件测试的需求,它包括测试活动的管理与实施、测试脚本的开发与执行。8自动化测试的定义和引入如何看待软件测试自动化?软件测试工具能提高测试效率、覆盖率和可靠性等,自动化测试虽然具有很多优点,但它只是测试工作的一部分,是对手工测试的一种补充。自动化测试和手工测试的范围•自动化测试绝不能代替手工测试,它们各有各自的特点,其测试对象和测试范围都不一样:•在系统功能逻辑测试、验收测试、适用性测试、涉及界面交互测试时,多采用黑盒测试的手工测试方法。9自动化测试的定义和引入单元测试、集成测试、系统负载测试、性能测试、稳定性测试、可靠性测试等比较适合采用自动化测试。那种不稳定软件的测试、开发周期很短的软件、一次性的软件等不适合自动化测试。10自动化测试的定义和引入工具本身并没有想象力和灵活性,根据报道,自动化测试只能发现15%的缺陷,而手工测试可以发现85%的缺陷。自动化测试工具在进行功能测试时,其准确的含义是回归测试工具,这时工具不能发现更多的新问题,但可以保证对已经测试过部分的准确性和客观性。多数情况下,手工测试和自动化测试应该相结合,以最有效的方法来完成测试任务。12自动化测试的定义和引入自动化测试应用找准自动化测试的切入点把测试开发纳入整个软件开发系统自动化测试依赖测试流程和测试用例软件测试自动化前期的投入及维护成本较大进行资源的合理调度13自动化测试的原理和方法软件测试自动化实现的基础是可以通过设计的特殊程序模拟测试人员对计算机的操作过程、操作行为,或者类似于编译系统那样对计算机程序进行检查。软件测试自动化实现的原理和方法主要有:直接对代码进行静态和动态分析、测试过程的捕获和回放、测试脚本技术、虚拟用户技术和测试管理技术。14自动化测试的原理和方法1)代码分析代码分析类似于高级语言编译系统,一般针对不同的高级语言去构造分析工具,在工具中定义类、对象、函数、变量等定义规则、语法规则;在分析时对代码进行语法扫描,找出不符合编码规范的地方;根据某种质量模型评价代码质量,生成系统的调用关系图等。15自动化测试的原理和方法2)捕获和回放代码分析是一种白盒测试的自动化方法,捕获和回放则是一种黑盒测试的自动化方法。捕获是将用户每一步操作都记录下来。这种记录的方式有两种:程序用户界面的像素坐标或程序显示对象(窗口、按钮、滚动条等)的位置,以及相对应的操作、状态变化或是属性变化。所有的记录转换为一种脚本语言所描述的过程,以模拟用户的操作。回放时,将脚本语言所描述的过程转换为屏幕上的操作,然后将被测系统的输出记录下来同预先给定的标准结果比较。捕获和回放可以大大减轻黑盒测试的工作量,在迭代开发的过程中,能够很好地进行回归测试。16自动化测试的原理和方法关于自动化测试中的“录制—回放”技术目前的自动化负载测试解决方案几乎都是采用“录制-回放”的技术。所谓的“录制-回放”技术,就是先由手工完成一遍需要测试的流程,同时由计算机记录下这个流程期间客户端和服务器端之间的通信信息,这些信息通常是一些协议和数据,并形成特定的脚本程序(Script)。然后在系统的统一管理下同时生成多个虚拟用户,并运行该脚本,监控硬件和软件平台的性能,提供分析报告或相关资料。这样,通过几台机器就可以模拟出成百上千的用户对应用系统进行负载能力的测试。17自动化测试的原理和方法3)脚本技术脚本是一组测试工具执行的指令集合,也是计算机程序的一种形式。脚本可以通过录制测试的操作产生,然后再做修改,这样可以减少脚本编程的工作量。当然,也可以直接用脚本语言编写脚本。脚本中包含的是测试数据和指令,一般包括如下信息:同步(何时进行下一个输入)。比较信息(比较什么,比较标准)。埔获何种屏幕数据及存储在何处。从哪个数据源或从何处读取数据。控制信息等。18自动化测试的原理和方法脚本技术可以分为以下几类:线性脚本——是录制手工执行的测试用例得到的脚本。结构化脚本——类似于结构化程序设计,具有各种逻辑结构(顺序、分支、循环),而且具有函数调用功能。共享脚本——是指某个脚本可被多个测试用例使用,即脚本语言允许一个脚本调用另一个脚本。数据驱动脚本——将测试输入存储在独立的数据文件中。关键字驱动脚本——是数据驱动脚本的逻辑扩展19自动化测试的原理和方法4)自动比较静态比较和动态比较简单比较和复杂比较敏感性测试比较和健壮性测试比较比较过滤器20自动化测试工具的作用及优势软件测试自动化通常借助测试工具进行。测试工具可以进行部分的测试设计、实现、执行和比较的工作。部分的测试工具可以实现测试用例的自动生成,但通常的工作方式为人工设计测试用例,使用工具进行用例的执行和比较。如果采用自动比较技术,还可以自动完成测试用例执行结果的判断,从而避免人工比对存在的疏漏问题。21自动化测试工具的作用及优势自动化测试工具的优势主要体现在以下几个方面:(1)记录业务流程并生成脚本程序的能力。(2)对各种网络设备(客户机或服务器、其它网络设备)的模仿能力。(3)用有限的资源生成高质量虚拟用户的能力。(4)对于整个软件和硬件系统中各个部分的监控能力。(5)对于测试结果的表现和分析能力。22软件自动化测试生存周期方法学自动化测试生存周期方法学1.自动化测试决定2.测试工具获取3.自动化测试引入过程4.测试计划、设计与开发5.测试执行与管理6.测试评审与评估图自动化测试生存周期方法学结构24自动化测试生存周期方法的应用自动化测试生存周期方法学1.自动化测试决定2.测试工具获取3.自动化测试引入过程4.测试计划、设计与开发5.测试执行与管理6.测试评审与评估A.系统生存周期过程评估与改进F.生成维护阶段C.小型工具先导/原型D.系统设计与开发阶段B.业务分析与需求阶段E.组装与测试阶段25自动化测试存在的一些问题不正确的观念或不现实的期望缺乏具有良好素质和有经验的测试人才测试工具本身的问题影响测试的质量没有进行有效、充分的培训不考虑公司的实际情况、盲目引入测试工具没有形成一个良好的测试工具使用环境其他技术问题和组织问题26测试自动化的限制测试自动化可以带来非常明显的收益,但也有以下限制:不能取代手工测试手工测试比自动测试发现的缺陷更多对测试质量的依赖性极大测试自动化不能提高测试有效性测试自动化可能会制约软件开发。工具本身并无想象力27建立正确的自动化测试目标目前,软件自动化测试还不能解决所有的测试问题,因此,需要建立正确的自动化测试目标。测试用例设计一种测试工具不完全适用于所有测试自动测试不一定减轻工作量测试进度可能不一定缩短测试工具不一定易于使用测试覆盖率不会达到百分之百28软件自动化测试工具简述自动化测试工具的特征自动化测试工具的分类选择自动化测试工具常用测试工具概要29自动化测试工具的特征支持脚本化语言(ScriptingLanguage)对程序界面中对象的识别能力支持函数的可重用支持外部函数库抽象层—将程序界面中的对象实体映射成逻辑对象分布式测试(DistributedTest)的支持支持数据驱动测试(Data-DrivenTest)错误处理调试器(Debugger)源代码管理支持脚本的命令行(CommandLine)方式30自动化测试工具的分类测试工具可以从两个不同的方面去分类。根据测试方法不同,自动化测试工具可以分为:白盒测试工具、黑盒测试工具根据测试的对象和目的,自动化测试工具可以分为:单元测试工具、功能测试工具、性能测试工具31白盒测试工具白盒测试工具。一般是指对源程序进行测试用到的工具,测试所发现的故障可以定位到代码级。根据测试工具工作原理的不同,白盒测试的自动化工具可分为静态测试工具和动态测试工具。静态测试工具——是在不执行程序的情况下,通过分析代码的逻辑结构与编码规范找出缺陷。32白盒测试工具动态白盒测试工具——通过直接执行被测程序来完成测试活动。它需要实际运行被测系统,并设置断点,向代码生成的可执行文件中插入一些监测代码及断点,通过对断点这一时刻程序运行数据(对象属性、变量的值等)的监控来判断程序是否存在缺陷。常用的动态白盒测试工具有:Compuware公司的DevPartnerIBM公司的RationalPurify33黑盒测试工具黑盒测试工具是在明确软件产品应具有的功能的条件下,完全不考虑被测程序的内部结构和内部特性,通过测试来检验软件功能是否按照软件需求规格的说明正常工作。按照完成的职能不同,黑盒测试工具可以分为:功能测试工具——用于检测程序能否达到预期的功能要求并正常运行。性能测试工具——用于确定软件和系统的性能。常用的黑盒测试工具有:Compuware公司的QACenterMI公司的Winrunner、QTP等34测试执行和评估工具测试执行和评估是执行测试用例并对测试结果进行评估的过程,包括选择用于执行的测试用例、设置测试环境、运行所选择的测试用例、记录测试执行过程、分析潜在的故障,并检查测试工作的有效性。评估类工具对执行测试用例和评估测试结果过程起到辅助作用。测试执行和评估类工具有:捕获/回放覆盖分析存储器测试35测试管理工具测试管理工具用于对测试过程进行管理,帮助完成制定测试计划,跟踪测试运行结果。通常,测试管理工具对测试计划、测试用例、测试实施进行管理,还包括缺陷跟踪管理等。常用的测试管理工具有:IBM公司的RationalTestManagerCompuware公司的QACenter测试管理工具包括以下内容:测试用例管理缺陷跟踪管理(问题跟踪管理)配置管理36选择自动化测试工具测试人员在选择和使用自动化测试工具时,可以从以下角度来考虑:按照用途选择匹配的测试工具在适当的生命周期选择测试工具按照测试人员的实际技能选择匹配的测试工具选择一个可提供的测试工具37常用测试工具目前,软件测试方面的工具很多,主要有MercuryInteractive(MI)、Rational、Compuware、Segue和Empirix等公司的产品,而MI公司和Rational公司的产品占了主流。38Mercury公司测试工具Mercury(美科利,http://www.mercury.com)质量中心:提供一个全面的、基于Web的集成系统,可在广泛的应用环境下自动执行软件质量管理和测试。
本文标题:section4-自动化测试
链接地址:https://www.777doc.com/doc-12291 .html