section4-自动化测试14700.pptx





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

限制150内