![[建筑]第4章软件测试自动化与软件测试工具.doc_第1页](http://file.renrendoc.com/FileRoot1/2019-1/5/4a3ffb7d-8571-4e7d-b04b-c087a9a917aa/4a3ffb7d-8571-4e7d-b04b-c087a9a917aa1.gif)
![[建筑]第4章软件测试自动化与软件测试工具.doc_第2页](http://file.renrendoc.com/FileRoot1/2019-1/5/4a3ffb7d-8571-4e7d-b04b-c087a9a917aa/4a3ffb7d-8571-4e7d-b04b-c087a9a917aa2.gif)
![[建筑]第4章软件测试自动化与软件测试工具.doc_第3页](http://file.renrendoc.com/FileRoot1/2019-1/5/4a3ffb7d-8571-4e7d-b04b-c087a9a917aa/4a3ffb7d-8571-4e7d-b04b-c087a9a917aa3.gif)
![[建筑]第4章软件测试自动化与软件测试工具.doc_第4页](http://file.renrendoc.com/FileRoot1/2019-1/5/4a3ffb7d-8571-4e7d-b04b-c087a9a917aa/4a3ffb7d-8571-4e7d-b04b-c087a9a917aa4.gif)
![[建筑]第4章软件测试自动化与软件测试工具.doc_第5页](http://file.renrendoc.com/FileRoot1/2019-1/5/4a3ffb7d-8571-4e7d-b04b-c087a9a917aa/4a3ffb7d-8571-4e7d-b04b-c087a9a917aa5.gif)
已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文由穿暖花开134贡献 ppt文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 第4章 软件测试自动化与软件测试工具 内容要点 4.1 自动化测试基础 4.2 软件自动化测试生存周期方法学 4.3 软件测试工具分类 4.4 选择适当的测试工具 4.5 常见自动测试工具介绍 本章教学目标 理论环节 ? 认识与理解应用软件自动化测试的基本概念 ? 认识与理解软件自动化测试生存周期方法学及其应用 ? 认识软件自动化测试工具与测试平台的获取及引入 ? 常用软件自动化测试工具简介 实践环节 ? 选定一个白盒自动化测试工具,进行初步学习和认识 ? 选定一个自动化测试工具,进行初步学习和认识 ? 选定一个负载自动化测试工具,进行初步学习和认识 4.1 自动化测试基础 4.1.1 自动化测试的意义 4.1.2 自动化测试的定义和引入 4.1.3 自动化测试的原理和方法 4.1.4 自动化测试工具的作用及优势 4.1.5 自动化测试的运用 4.1.1 自动化测试的意义 通常,软件测试的工作量很大(据统计,测试会占用到40% 的开发时间;一些可靠性要求非常高的软件,测试时间甚至 占到开发时间的60%)。而测试中的许多操作是重复性的、 非智力性的和非创造性的,并要求做准确细致的工作,计算 机就最适合于代替人工去完成这样的任务。 ? 软件自动化测试是相对手工测试而存在的,主要是通过所开 发的软件测试工具、脚本等来实现,具有良好的可操作性、 可重复性和高效率等特点。 ? 要理解为什么要进行自动化测试,可以从两个方面考虑: 一是手工测试的局限性; 二是软件自动化测试所带来的好处。 手工测试的局限性 通过手工测试无法做到覆盖所有代码路径。 ? 简单的功能性测试用例在每一轮测试中都不能少,而且具有 一定的机械性、重复性,工作量往往较大。 ? 许多与时序、死锁、资源冲突、多线程等有关的错误,通过 手工测试很难捕捉到。 ? 进行系统负载、性能测试时,需要模拟大量数据或大量并发 用户等各种应用场合时,很难通过于工测试来进行。 ? 进行系统可靠性测试时,需要模拟系统运行10年、几十年, 以验证系统能否稳定运行,这也是手工测试无法模拟的。 ? 如果有大量(几千)的测试用例,需要在短时间内(1天) 完成,手工测试几乎不可能做到。 自动化测试带来的好处 缩短软件开发测试周期,可以让产品更快投放市场。 测试效率高,充分利用硬件资源。 节省人力资源,降低测试成本。 增强测试的稳定性和可靠性。 提高软件测试的准确度和精确度,增加软件信任度。 软件测试工具使测试工作相对比较容易,但能产生更高质量 的测试结果。 ? 手工不能做的事情,自动化测试能做,如负载、性能测试。 软件测试实行自动化进程,绝不是因为厌烦了重复的测 试工作,而是因为测试工作的需要,更准确地说是回归测试 和系统测试的需要。 ? ? ? ? ? ? 建立正确的自动化测试目标 目前,软件自动化测试还不能解决所有的测试问题, 因此,需要建立正确的自动化测试目标。 ? 测试计划产生:主要靠测试工程师与软件生产质量保证 专家的合作,自动化工具只能起到一定的辅助作用。 ? 一种测试工具不完全适用于所有测试 ? ? ? ? ? 自动测试不一定减轻工作量 测试进度可能不一定缩短 测试工具不一定易于使用 自动化测试的普遍应用存在局限 测试覆盖率不会达到百分之百 4.1.2 自动化测试的定义和引入 自动化测试定义 自动化测试: 编写软件去测试其它软件。 编写软件去测试其它软件。 自动化测试可以被理解为 使用一个商业通用 测试自动化工具编写一个软件来测试其它软件。 测试自动化工具编写一个软件来测试其它软件。 编写驱动被测试应用程序的测试脚本以执行 键盘、 键盘、鼠标动作和后台进程并验证应用程序响应 和行为。 和行为。 自动化测试的定义和引入(续) 在进行自动化测试前,首先要建立一个对软件测试自动化 的认识观。软件测试工具能提高测试效率、覆盖率和可靠 性等,自动化测试虽然具有很多优点,但它只是测试工作 的一部分,是对手工测试的一种补充。自动化测试绝不能 代替手工测试,它们各有各自的特点,其测试对象和测试 范围都不一样: 在系统功能逻辑测试、验收测试、适用性测试、涉及物理 交互性测试时,多采用黑盒测试的手工测试方法。 自动化测试的定义和引入(续) 单元测试、集成测试、系统负载测试、性能测试、稳定性 测试、可靠性测试等比较适合采用自动化测试。 那种不稳定软件的测试、开发周期很短的软件、一次性的 软件等不适合自动化测试。 工具本身并没有想象力和灵活性,根据报道,自动化测试 只能发现15的缺陷,而手工测试可以发现85的缺陷。 自动化测试工具在进行功能测试时,其准确的含义是回归 测试工具,这时工具不能发现更多的新问题,但可以保证 对已经测试过部分的准确性和客观性。 多数情况下,手工测试和自动化测试应该相结合,以最 有效的方法来完成测试任务。 自动化测试的定义和引入(续) 通常,当软件开发过程具有下列情况时,就需要考虑引入 自动化测试: (1)非常重要的测试;(2)涉及范围很广的测试;(3)对 主要功能的测试;(4)容易自动化的测试;(5)很快有 回报的测试;(6)运行最频繁的测试;(7)测试个案的 生成,包括测试输入、测试输出、测试操作指令等;(8) 测试的执行与控制,包括单机运行和网络多机分布式的运 行,在节假日的运行,测试个案调用控制,测试对象、测 试范围与测试版本的控制等;(9)测试结果与标准输出进 行对比;(10)不吻合预期的测试结果的分析、记录、分 类和报告,及总体测试状况的统计及报表的产生。 选择高效的自动化测试体系 并非任何测试自动化都可以起到预 期效果, 期效果,只有好的自动化测试体系才能 扬长避短, 扬长避短,达到建立自动化测试体系的 初衷,在质量保障方面有所作为。 初衷,在质量保障方面有所作为。否则 测试自动化可能会由于其建立和维护等 方面的负担造成延误工期、成本浪费, 方面的负担造成延误工期、成本浪费, 甚至最终被完全放弃。 甚至最终被完全放弃。 自动化测试体系的属性 那么如何评价一个测试或测试自动 化体系是否优越呢?为此, 化体系是否优越呢?为此,我们应该关 注自动化测试体系的以下七个方面的属 性: (1) 可维护性 指是否可以很容易使测试更新跟上 软件升级的步伐。 软件升级的步伐。 软件会变更或升级是注定的事实, 软件会变更或升级是注定的事实, 防止变更或升级造成自动化测试的维护 工作量过大是很重要的, 工作量过大是很重要的,否则整个测试 自动化工作将可能被全面否决, 自动化工作将可能被全面否决,甚至束 之高阁。 之高阁。 (2) 高效性 效率是与成本紧密联系的, 效率是与成本紧密联系的,自动化 测试的一个重要目标就是更经济地运行 测试。 测试。 所以应该在测试和测试自动化的设 计阶段全面审视各方面因素, 计阶段全面审视各方面因素,在科学合 理的测试流程基础上利用优秀的自动化 策略将自动化测试与手工测试有机结合, 策略将自动化测试与手工测试有机结合, 才能实现效率最大化。 才能实现效率最大化。 (3) 可靠性 指测试体制是否能给出精确而且可 重现的结果。 重现的结果。 (4) 兼容性 指是否允许测试用例为不同的测试 目标而以不同的方式组合。 目标而以不同的方式组合。 (5) 可用性 指定制或更改测试用例是否容易, 指定制或更改测试用例是否容易, 测试人员或用户掌握和理解其使用方法 是否容易。 是否容易。 (6) 健壮性 指是否可以处理意外情况而不退出 或终止,并尽力给出正确有用的信息。 或终止,并尽力给出正确有用的信息。 (7) 可移植性 指在不同环境中运行测试的能力。 指在不同环境中运行测试的能力。 我们应该根据使用自动化测试体系 的实际目标, 的实际目标,综合考虑这七个方面的具 体属性, 体属性,有针对性地提高自己关注的属 性,以实施符合实际需要的自动化测试 体系。 体系。 为了实现高效的自动化测试体系, 为了实现高效的自动化测试体系, 必须源于好的测试软件。 必须源于好的测试软件。 这些测试软件是由经验丰富的测试 人员精心设计的。 人员精心设计的。在此基础上再应用自 动化技术实现自动化测试可以获得建立 及维护的合理开销。 及维护的合理开销。 应该根据需要和能力决定是自主开 发还是选购适合的测试自动化工具。 发还是选购适合的测试自动化工具。 软件测试自动化实现的基础是可以通过设计的特殊程序模拟 测试人员对计算机的操作过程、操作行为,或者类似于编译 系统那样对计算机程序进行检查。 ? 软件测试自动化实现的原理和方法主要有:直接对代码进行 静态和动态分析、测试过程的捕获和回放、测试脚本技术、 虚拟用户技术和测试管理技术。 (1)代码分析 代码分析类似于高级编译系统,一般针对不同的高级语 言去构造分析工具,在工具中定义类、对象、函数、变量等 定义规则、语法规则;在分析时对代码进行语法扫描,找出 不符合编码规范的地方;根据某种质量模型评价代码质量, 生成系统的调用关系图等。 4.1.3 自动化测试的原理和方法 (2)捕获和回放 代码分析是一种白盒测试的自动化方法,捕获和回放则 是一种黑盒测试的自动化方法。捕获是将用户每一步操作都 记录下来。这种记录的方式有两种:程序用户界面的像素坐 标或程序显示对象(窗口、按钮、滚动条等)的位置,以及 相对应的操作、状态变化或是属性变化。所有的记录转换为 一种脚本语言所描述的过程,以模拟用户的操作。 回放时,将脚本语言所描述的过程转换为屏幕上的操作, 然后将被测系统的输出记录下来同预先给定的标准结果比较。 这可以大大减轻黑盒测试的工作量,在迭代开发的过程中, 能够很好地进行回归测试。 自动化测试的原理和方法(续) 自动化测试的原理和方法(续) 关于自动化测试中的“录制回放”技术 目前的自动化负载测试解决方案几乎都是采用 “录制回放”的技术。 所谓的“录制-回放”技术,就是先由手工完成一遍需 要测试的流程,同时由计算机记录下这个流程期间客户端 和服务器端之间的通信信息,这些信息通常是一些协议和 数据,并形成特定的脚本程序 (Script) 。然后在系统的统一 管理下同时生成多个虚拟用户,并运行该脚本,监控硬件 和软件平台的性能,提供分析报告或相关资料。这样,通 过几台机器就可以模拟出成百上千的用户对应用系统进行 负载能力的测试。 自动化测试的原理和方法(续) (3)脚本技术 脚本是一组测试工具执行的指令集合,也是计算机程序 的一种形式。脚本可以通过录制测试的操作产生,然后再做 修改,这样可以减少脚本编程的工作量。当然,也可以直接 用脚本语言编写脚本。脚本技术可以分为以下几类: 线性脚本是录制手工执行的测试用例得到的脚本。 结构化脚本类似于结构化程序设计,具有各种逻辑结构 (顺序、分支、循环),而且具有函数调用功能。 共享脚本是指某个脚本可被多个测试用例使用,即脚本 语言允许一个脚本调用另一个脚本。 数据驱动脚本将测试输入存储在独立的数据文件中。 关键字驱动脚本是数据驱动脚本的逻辑扩展。 自动化测试工具的特征 软件测试自动化通常借助测试工具进行。 支持脚本化语言(Scripting Language) 对程序界面中对象的识别能力 支持函数的可重用 支持外部函数库 抽象层将程序界面中的对象实体映射成逻辑对象 分布式测试(Distributed Test)的支持 支持数据驱动测试(Data-Driven Test) 错误处理 调试器(Debugger) 源代码管理 支持脚本的命令行(Command Line)方式 4.1.4 自动化测试工具的优势和局限 测试工具可以进行部分的测试设计、实现、执行和比较的 工作。部分的测试工具可以实现测试用例的自动生成,但 通常的工作方式为人工设计测试用例,使用工具进行用例 的执行和比较。如果采用自动比较技术,还可以自动完成 测试用例执行结果的判断,从而避免人工比对存在的疏漏 问题。 ? 自动化测试工具的作用: (1)确定系统最优的硬件配置。 (2)检查系统的可靠性。 (3)检查系统硬件和软件的升级情况。 (4)评估新产品。 自动化测试工具的作用及优势(续) 自动化测试工具的优势主要体现在以下几个方面: (1)记录业务流程并生成脚本程序的能力。 (2)对各种网络设备(客户机或服务器、其它网络设备)的 模仿能力。 (3)用有限的资源生成高质量虚拟用户的能力。 (4)对于整个软件和硬件系统中各个部分的监控能力。 (5)对于测试结果的表现和分析能力。 测试自动化限制 测试自动化可以带来非常明显的收益,但也有以下限制: ? 不能取代手工测试 ? ? ? ? ? 手工测试比自动测试发现的缺陷更多 对测试质量的依赖性极大 测试自动化不能提高有效性 测试自动化可能会制约软件开发。 工具本身并无想象力 另外,人工测试比测试工具更优越的另一个方面是可 以处理意外事件。虽然工具也能处理部分异常事件,但是 对真正的突发事件和不能由软件解决的问题就无能为力。 测试工具存在的不足 不现实的期望过高 ? 缺乏测试实践经验 ? 期望自动化测试工具完全能取代手工测 试 ? 期望自动化测试发现新故障 ? 安全性的误解 ? 测试自动化不能提高有效性 ? 测试工具本身不具想象力 4.1.5 自动化测试的运用 测试用例(Test Case,测试个案)的生成 ? 测试的执行与控制 ? 测试结果与标准输出的对比 ? 不吻合测试结果的分析处理 ? 测试状态的统计和报表的生成 ? 自动化测试与开发中产品每日构建的配合 ? 采用自动化比较技术 4.2 软件自动化测试生存周期方法 学 4. 测试 5. 测 试 执 行 与 管 理 自动化测试生 存周期方法学 6. 测试 3. 自动化测试 2. 测 试 工 具 获 取 1. 自动化测试 自动化测试生存周期方法学 软件自动化测试生存周期方法学 采用自动化测试方法的确认 ? 自动化测试工具的获取 ? 自动化测试的引入阶段 包括测试过程分析和测试工具的考查。 ? 测试计划与测试设计 包括制订测试计划、建立测试环境、测试设计和 设计开发。 ? 测试执行与管理 ? 测试活动评审与评估 (续) 自动化测试生存周期方法的应用 D. 4. 测试 E. 组 装 与 测 试 阶 段 6. 测试 F. 生 A. 5. 测 试 执 行 与 管 理 自动化测试生 存周期方法 C. 3. 自动化测试 B. 业 务 分 析 与 需 求 阶 段 1. 自动化测试 生存周期 2. 测 试 工 具 获 取 / 4.3自动化测试工具的分类 测试工具可以从三个不同的方面去分类。 ? 根据测试方法不同,自动化测试工具可以分 为: 白盒测试工具、黑盒测试工具 ? 按照测试工具的主要用途和应用领域将测试 软件做了一个整理归纳,将自动化测试工具 分为以下几类: 自动化测试工具的分类(续) ? ? ? ? ? ? ? ? ? 捕获错误用途:用于捕获软件错误或程序调试。 代码覆盖率分析器和代码测量器 内存泄漏监测工具 可使用性测试工具 测试数据生成器 测试管理工具 网络测试工具 GUI测试工具 负载和性能测试工具 专用工具 4.4 选择自动化测试工具 测试人员在选择和使用自动化测试工具时,可以 从以下角度来考虑: 关注组织的需要 自主开发 ? 购买 按照用途选择匹配的测试工具 在适当的生命周期选择测试工具 按照测试人员的实际技能选择匹配的测试工具 选择一个可提供的测试工具 自动测试工具记录回放工具 不要过分依赖记录/回放工具 功能性测试工具 ? 能够记录下用户和应用程序交互时的击键和鼠 标的移动,形成一个脚本,然后可以在测试执 行期间“回放”。 ? 局限和缺点: 硬编码的数值 非模块化的、不易维护的脚本 缺乏可重用性的标准 修改脚本,建立可复用的脚本 使用经过考验的测试脚本开发 技术 高效、可维护和可重用 ? 考虑以下技术: 数据驱动框架 模块化的脚本开发 模块化的用户界面导航 可重用的函数库 现成的库 版本控制 4.5 几种常用软件测试工具 1QACenter QACenter 自 动 化 测 试 系 列 工 具 是 Compuware公司的产品,它能够帮助测 试人员创建快速、可重用的测试过程。 这些测试工具可以帮助管理测试过程, 快速分析和调试程序,包括针对回归、 强度、单元、并发、集成、移植、容量、 负载测试、自动执行测试和产生测试结 果文档。 ? ? ? ? ? QACenter主要包括 QARun、 QALoad、 QADirector、 EcoTools 和TESTBytes等模块。 2WinRunner WinRunner是Mercury Interactive公司 提供的一个企业级的功能检测工具。 WinRunner使功能测试得以自动化,从而 保证了应用程序按照预定方式运行。它 以测试脚本形式将业务的过
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 劳动仲裁签协议书劳动关系仲裁书(13篇)
- 2025年事业单位工勤技能-湖南-湖南公路养护工一级(高级技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-湖北-湖北家禽饲养员二级(技师)历年参考题库典型考点含答案解析
- 2025-2030中国线上超市行业经营效益与未来运营模式分析报告
- 医疗与医药行业:医疗信息化在智慧医疗建设中的应用报告
- 2025年事业单位工勤技能-浙江-浙江工程测量员二级(技师)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-河南-河南热处理工五级(初级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-河南-河南图书资料员四级(中级工)历年参考题库典型考点含答案解析
- 2024版出租果树合同范本
- 2024-2025年度上海市设备监理师之设备监理合同题库与答案
- 多媒体教室使用的课件
- 2025年军队专业技能岗位文职人员招聘考试(工程机械驾驶员)历年参考题库含答案详解(5卷)
- 2025年下半年广西现代物流集团社会招聘校园招聘笔试参考题库附带答案详解(10套)
- 2025年粉笔辅警考试题库
- 水声传感器技术研究与应用
- 2025年小学教研室教学计划
- 2025年上海市建筑工程施工合同模板
- 手术室护理业务学习
- 贩卖人口罪与强迫劳动罪
- 新员工入职职业道德培训
- 宽带宣传活动方案
评论
0/150
提交评论