




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,软件自动化测试,背景对比引入概念定义意义适用场合原则和注意点测试过程原理和方法自动化回归测试脚本开发思路和过程,自动化测试,测试工具测试的不足和对策,软件自动化测试产生,没有测试,手工测试,自动测试,软件自动化测试产生背景以往的测试无法做到覆盖所有代码路径。简单的功能性测试用例在每一轮测试中都不能少,而且具有一定的机械性、重复性,工作量往往较大。许多与时序、死锁、资源冲突、多线程等有关的错误,通过手工测试很难捕捉到。进行系统负载、性能测试时,需要模拟大量数据或大量并发用户等各种应用场合时,很难通过于工测试来进行。难以进行长时间的可靠性测试。难以在短时间内实现大量测试。实现回归测试比较麻烦。,软件自动化测试优点回归测试方便,缩短了软件测试周期。能够执行繁琐的程序测试,效率高。测试覆盖率高。测试的一致性好,具有可重复性。测试的稳定性和可靠性高。能够执行手工无法做的测试工作。节省了人力资源,降低了测试成本。,手工测试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.设计适合测试脚本的测试用例与手工测试用例不同,自动化测试用例要求描述精确,即每条自动化测试用例的逻辑不要太复杂,验证点不要过多,应该清晰地描述操作步骤和验证点信息。,自动化测试脚本开发思路,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)TestDirector能够简化从人工测试到自动测试切换过程,并可立即启动测试过程。(4)自动分辨出是系统错误还是应用错误。,自动化测试工具,(5)TestDirector会自动安排任务,使用拖动功能简化了在多台机器上部署测试任务。最后,根据设定好的时间、路径,为序列测试制定一个测试执行日程。(6)TestDirector的出错管理贯穿于整个测试过程,从最初发现错误一直到修改错误、验证修改错误。(7)常规的图表和报告可以帮助对数据的分析,以标准的HTML或Word格式生成和发送测试报告。(8)TestDirector可与LoadRunner、WinRunner有效集成,统一管理测试用例、测试脚本、使用情景和测试结果。,自动化测试工具,自动化测试的不足,虽然测试自动化能:显著降低重复手工测试的时间建立可靠、重复的测试,减少认为错误增强测试质量和覆盖率但仍然无法实现:完全替代
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年地籍测量员技能鉴定高级面试重点题
- 2025年环保安全生态保护题集答案
- 2025年企业人力资源管理师三级考试预测题
- 2025年美容美发技能大师挑战赛试题及答案解析
- 2025年教育心理学家专业能力评估试题及答案解析
- 课件中文字的处理
- 2025年建筑师注册考试试题及答案解析
- 2025年建筑钢结构工程安全监理员职业资格考试试题及答案解析
- 2025年环境治理工程师职业技能考试试题及答案解析
- 2025年国际财务分析师资格考试试题及答案解析
- 2025年河北高考生物试卷真题答案详解及备考指导
- 宁德新能源verify测试题库
- 幼儿急症救助
- 期末复习放射物理与防护大专习题集
- 主通风机司机培训教材课件
- 酒店运营管理课件
- 2022年红河产业投资集团有限公司招聘笔试题库及答案解析
- 肺心病(课)课件
- 中国烟草PPT模板
- 急性淋巴管炎的护理查房
- 江苏省综合评标专家库题库
评论
0/150
提交评论