您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > 自动化测试(PPT40页)
背景对比引入概念定义意义适用场合原则和注意点测试过程原理和方法自动化回归测试脚本开发思路和过程自动化测试测试工具测试的不足和对策软件自动化测试产生没有测试手工测试自动测试软件自动化测试产生背景•以往的测试无法做到覆盖所有代码路径。•简单的功能性测试用例在每一轮测试中都不能少,而且具有一定的机械性、重复性,工作量往往较大。•许多与时序、死锁、资源冲突、多线程等有关的错误,通过手工测试很难捕捉到。•进行系统负载、性能测试时,需要模拟大量数据或大量并发用户等各种应用场合时,很难通过于工测试来进行。•难以进行长时间的可靠性测试。•难以在短时间内实现大量测试。•实现回归测试比较麻烦。软件自动化测试优点•回归测试方便,缩短了软件测试周期。•能够执行繁琐的程序测试,效率高。•测试覆盖率高。•测试的一致性好,具有可重复性。•测试的稳定性和可靠性高。•能够执行手工无法做的测试工作。•节省了人力资源,降低了测试成本。手工测试vs.自动测试手工测试自动测试发现缺陷率高容易实施创造性、灵活性覆盖率量化困难重复测试效率低不一致性、可靠性低依赖人力资源自动化测试概念软件自动化测试的定义:自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。利用软件测试工具自动实现全部或部分测试。自动测试是软件测试的一个重要组成部分,它能完成许多手工测试无法实现或难以实现的测试。自动化测试的意义改进所有的测试领域测试用例设计改进性能测试改进压力测试改进质量度量与测试优化……改进测试工作质量BVT测试改进回归测试改进多平台兼容性测试改进软件配置测试改进普通测试执行改进集中于高级测试问题改进执行手工测试无法完成的测试定时启动测试减轻工作量加快测试进度阶段工作量测试计划增加测试设计减少测试执行减少测试结果分析减少缺陷监控减少测试报告生成减少总体减少执行回归测试枯燥乏味的重复性工作一致的,可重复的测试执行手工很难达到或手工无法完成的测试自动化测试适用场合领域自动化测试的特点适合做自动化测试的系统或场合单元测试、集成测试协议或接口相关的功能测试负载压力测试、性能测试系统稳定性和可靠性测试测试过程烦琐、执行动作很多的软件。不适合做自动化测试的系统或场合逻辑测试、验收测试、适应性测试、涉及到物理交互的测试系统业务逻辑和交互过于复杂需求频繁变动,稳定性不好的软件开发周期很短的软件一次性开发的软件。尽可能少的自动化产品覆盖尽可能多的平台测试流程管理自动化通常应该优先考虑性能测试自动化优与功能测试自动化自动化产品选用需要关注其支持服务和售后服务尽量选用趋于主流的产品对测试自动化方案具有可扩展性自动化测试原则和注意点实施一项测试设计时,不遵循任何设计标准,结果产生了不可重复的测试脚本,因而不可重用试图将测试需求100%自动化使用错误的工具在应用程序开发周期中启用测试工具太晚,测试工程师参与应用开发生存周期太晚,导致不能很好的了解应用和系统设计,因而无法完成测试自动化测试过程自动测试决定测试工具采购自动测试引入测试计划、设计与开发自动测试执行与管理过程评估与改进自动化测试原理和方法1.代码分析分析被测对象就是对其代码进行语法扫描,找出不符合编码规则的地方。根据质量模型评价代码质量,生成系统的调用关系图。2.录制和回放录制和回放属于黑盒测试。录制是将用户的每一步操作都记录下来,并转换成脚本语言,描述运行过程和用户的操作;回放是将脚本语言的描述转换为屏幕上的操作,然后将被测系统的输出与预期结果进行比较。录制和回放的关键点是对象识别,获得类别、名称和属性值。Nativeclass:EditAttachedText:登录名Enabled:TrueFocused:TrueHeight:20Width:120Text:admin自动化测试原理和方法使用QARUN录制一个登录的例子启动录制打开目标程序输入正确的用户名/密码确定登录成功停止录制回放脚本3.脚本技术脚本是一种特殊的计算机程序,包含了数据和指令。脚本技术是围绕脚本程序的结构而进行的设计,可以实现测试用例所要求的数据输入、操作流程和验证点。脚本产生方法:(1)通过录制产生,然后再做修改;(2)用脚本语言编写程序。自动化测试原理和方法4.虚拟用户技术通过模拟真实用户的数量和操作行为,对被测程序施加负载,以测量系统的性能指标,包括响应时间和吞吐量等。5.自动比较(1)静态比较和动态比较;(2)简单比较和复杂比较;(3)敏感性测试比较和健壮性测试比较;(4)比较过滤器。自动化测试原理和方法自动化回归测试1.回归测试的概念回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。2.回归测试方法(1)重新测试全部用例;(2)基于风险选择测试;(3)重新测试修改的部分。自动化回归测试3.自动化回归测试(1)基于自动测试工具的测试框架,具有测试计划驱动技术的所有优点;(2)充分利用测试工具的功能,与测试管理集成;(3)基于业务流的测试,数据也是基于业务流配置的;(4)应用与自动测试框架分开;(5)脚本与数据分开。自动化测试脚本开发思路1.软件自动化测试脚本的逻辑结构(1)数据驱动框架;(2)合理划分脚本模块;(3)建立函数库。2.设计适合测试脚本的测试用例与手工测试用例不同,自动化测试用例要求描述精确,即每条自动化测试用例的逻辑不要太复杂,验证点不要过多,应该清晰地描述操作步骤和验证点信息。自动化测试脚本开发思路手工测试用例自动化测试用例用例名称:登录按钮状态步骤:启动应用系统,进入登录页面,保持用户名和密码框为空,登录按钮状态为不可用;当用户名和密码框不为空时,登录按钮状态为可使用。用例1:标题:用户名和密码框为空时的按钮状态启动应用系统,进入登录页面,保持用户名和密码框为空。验证点:登录按钮状态为不可使用(灰)。用例2:标题:用户名和密码框不为空时的按钮状态在用户名和密码框中输入字符。验证点:登录按钮状态为可以使用(亮)。用例3:标题:用户名和密码框清空时的按钮状态在用户名和密码框中输入字符。清空用户名和密码框中输入的字符。验证点:登录按钮状态为不可使用(灰)。3.测试脚本的重构和优化(1)线性脚本线性脚本是录制手工测试获得的脚本。录制动作有击键、移动、输入数据等,所有录制的测试用例都可以完整地回放(2)结构化脚本结构化脚本具有各种逻辑结构,包括选择、分支、循环迭代,而且还有函数调用功能。自动化测试脚本开发思路(3)共享脚本共享脚本是指可以被多个测试用例使用的脚本,也允许其他脚本调用。共享脚本可以在不同主机、不同系统之间共享,也可以在同一主机、同一系统之间共享。(4)数据驱动脚本数据驱动脚本将测试的输入存储在独立的数据文件中,而不是存储在脚本中。可以针对不同数据输入实现多个测试用例自动化测试脚本开发思路自动化测试脚本开发思路(5)关键字驱动脚本关键字驱动脚本是数据驱动脚本的逻辑扩展。它将数据文件变成测试用例的描述,采用一些关键字指定要执行的任务。测试脚本不仅可以在功能测试上模拟用户的操作,比较分析,而且可以用在性能测试、负载测试上,虚拟用户可以同时进行相同的、不同的操作,给被测软件施加足够的数据和操作,检查系统的响应速度和数据吞吐能力。自动化测试脚本开发过程1.增量式调试脚本(1)按照流程和需求录制测试脚本;(2)建立测试驱动数据集;(3)验证点和分支的逻辑,明确数据与流程间的相关性(4)回放测试脚本。2.测试脚本同步测试工具会用比手工按键快的多的速度回放已录制的测试脚本,导致击垮被测程序。在已录制的测试脚本中引入了人为的等待时间,放慢测试脚本的执行。但是,这种方式并不太科学。WHILE语句或嵌套的LOOPS语句是经常采用的保证成功回放的技术。这是比较好的同步方式。3.录制、回放隐藏的对象脚本可能被录制为增加或双击表格中一个字段或字段位置不固定的数组的值。由于位置不固定,所以可能造成回放失效。措施:添加一些功能性脚本,例如“向下滚屏”、“下一页”、“查询”,可以在WHILE中添加一项功能,确保回放的隐藏对象可以识别。自动化测试脚本开发过程自动化测试脚本开发过程4.为关键脚本创建自动的消息通知关键性的业务是否被执行是正确测试的前提条件,仅仅依赖于人工监视是不方便的。所以,在测试脚本中应当设计关键业务执行的消息通知。5.编制文档(1)测试软件的日期;(2)更新任何需要唯一数据的字段;(3)根据环境判断模式/模拟模式/位图录制,调整显示器设置;(4)列出所有具有依赖关系的测试脚本;(5)指出为了执行脚本需要的权限级别或用户的角色;(6)在什么条件下脚本会失败,以及重新运行脚本的绕行方法;(7)在运行测试脚本过程中需要打开或关闭的应用程序(8)指明数据的格式,例如,日期格式等等。自动化测试脚本开发过程6.脚本的版本控制和命名(1)项目名称;(2)版本号;(3)测试种类;(4)测试用例编号;(5)被测功能。自动化测试脚本开发过程自动化测试工具工具特征:(1)支持脚本语言;(2)支持函数可重用;(3)支持外部函数库;(4)对程序界面中的对象具有较好的识别能力;(5)支持抽象层操作;(6)支持分布式测试;(7)支持数据驱动测试;(8)支持容错处理;(9)具有软件调试功能;(10)支持测试文件的管理;自动化测试工具工具分类:1.根据测试方法分类(1)白盒测试工具;(2)黑盒测试工具。2.根据测试用途分类(1)代码覆盖率分析器和代码测量器;(2)内存泄露检测工具;(3)可用性测试工具;(4)测试数据生成器;(5)网络测试工具;(6)GUI测试工具;自动化测试工具(7)负载性能测试工具;(8)测试设计与开发工具;(9)测试执行与评估工具;(10)测试管理工具;(11)专用工具。3.根据测试对象分类(1)单元测试工具;(2)负载性能测试工具;(3)GUI测试工具;(4)WEB应用测试工具;(5)数据库测试工具;(6)页面链接测试工具。自动化测试工具自动化测试工具实现了负载测试、功能测试和测试管理的几个工具。1.负载测试工具LoadRunnerLoadRunner是一种适用于各种体系构架的企业级系统的自动负载测试工具。通过模拟实际用户的操作行为和性能监测,帮助查找BUG。(1)可以记录下客户端的操作,形成脚本文件。(2)产生众多的虚拟用户,以虚拟用户的方式模拟真实用户的操作行为,创建系统负载。(3)建立持续且循环的负载,定义用户的访问时间,根据用户人数事先设定测试目标,优化测试流程。(4)实时监测器可以在负载测试的任何时候观察到应用系统的运行性能,显示交易性能数据和其他系统组件(应用服务器、WEB服务器、网络设备、数据库)的实时性能。(5)收集、汇总所有测试数据,提供高级的分析报告。自动化测试工具2.功能测试工具WinRunnerWinRunner是基于windows的自动化功能测试软件。主要用于检测应用程序是否能够达到预期的功能,测试复杂的企业级应用。(1)按照预先设计,将业务处理过程录制下来,并转换为测试脚本,支持测试脚本的编辑、扩展、执行,提供测试结果报告。(2)在脚本中可以插入检查点,包括文本、位图和数值等,设定需要检测的数据库表和记录。自动化测试工具(3)数据驱动向导(DataDriverWizard)可以把一个业务流程测试转换成数据驱动测试,反映多个用户各自独立而真实的行为。(4)通过交互式的报告工具提供详细、易读的报告,列出测试中发现的错误内容、位置、检查点等重要事件。自动化测试工具3.测试管理工具TestDirectorTestDirector是一套测试管理软件。可以用它规范测试流程,建立针对项目的测试方案和计划。(1)通过一个比较直观的机制将需求与测试用例、测试结果、测试报告联系起来。(2)引导测试人员将应用需求转换为具体的测试计划,制定明确的任务和责任,显示测试的关键要点。(3)TestDirec
本文标题:自动化测试(PPT40页)
链接地址:https://www.777doc.com/doc-20421 .html