当前位置:文档之家› 自动化测试理论知识

自动化测试理论知识


3.3 选择自动化测试工具
测试人员在选择和使用自动化测试工具时,可以从以下 角度来考虑: 按照用途选择匹配的测试工具 在适当的生命周期选择测试工具 按照测试人员的实际技能选择匹配的测试工具 选择一个可提供的测试工具
6.4.4 常用测试工具概要
Parasoft C++ Test TureCoverage QACenter DataFactory Mercury WinRunner Mercury QuickTest MS ACT(Application Center Test) Rational Robot PureLoad Rational Functional Tester
1 自动化测试基础
1.1 自动化测试的意义 1.2 自动化测试的定义和引入 1.3 自动化测试的原理和方法 1.4 自动化测试工具的作用及优势 1.5 自动化测试的运用
Return
1.1 自动化测试的意义
通常,软件测试的工作量很大(据统计,在一个软件的生命 周期中,测试会占用到40%;一些可靠性要求非常高的软件, 测试时间甚至占到60%)。而测试中的许多操作是重复性的、 非智力性的和非创造性的,并要求做准确细致的工作,计算 机就最适合于代替人工去完成这样的任务。 软件自动化测试是相对手工测试而存在的,主要是通过所开 发的软件测试工具、脚本等来实现,具有良好的可操作性、 可重复性和高效率等特点。 要理解为什么要进行自动化测试,可以从两个方面考虑: 一是手工测试的局限性; 二是软件自动化测试所带来的好处。
黑盒测试工具
黑盒测试工具是在明确软件产品应具有的功能的条件下, 完全不考虑被测程序的内部结构和内部特性,通过测试来 检验软件功能是否按照软件需求规格的说明正常工作。 按照完成的职能不同,黑盒测试工具可以分为: 功能测试工具——用于检测程序能否达到预期的功能要求 并正常运行。 性能测试工具——用于确定软件和系统的性能。 常用的黑盒测试工具有: Compuware公司的QACenter IBM Rational Robot ,RFT,RPT Mercury LoadRunner , WinRunner, QuickTestPro
1.4 自动化测试工具的作用及优势
软件测试自动化通常借助测试工具进行。测试工具可以进 行部分的测试设计、实现、执行和比较的工作。部分的测 试工具可以实现测试用例的自动生成,但通常的工作方式 为人工设计测试用例,使用工具进行用例的执行和比较。 如果采用自动比较技术,还可以自动完成测试用例执行结 果的判断,从而避免人工比对存在的疏漏问题。 自动化测试工具的作用: (1)确定系统最优的硬件配置。 (2)检查系统的可靠性。 (3)检查系统硬件和软件的升级情况。 (4)评估新产品。
自动化测试的定义和引入(续)
单元测试、集成测试、系统负载测试、性能测试、稳定性 测试、可靠性测试等比较适合采用自动化测试。 那种不稳定软件的测试、开发周期很短的软件、一次性的 软件等不适合自动化测试。 工具本身并没有想象力和灵活性,根据报道,自动化测试 只能发现15%的缺陷,而手工测试可以发现85%的缺陷。 自动化测试工具在进行功能测试时,其准确的含义是回归 测试工具,这时工具不能发现更多的新问题,但可以保证 对已经测试过部分的准确性和客观性。 多数情况下,手工测试和自动化测试应该相结合,以最 有效的方法来完成测试任务。
目前,软件自动化测试还不能解决所有的测试问题, 因此,需要建立正确的自动化测试目标。 测试计划产生:主要靠测试工程师与软件生产质量保证 专家的合作,自动化工具只能起到一定的辅助作用。 一种测试工具不完全适用于所有测试 测试工具不一定易于使用 测试覆盖率不会达到百分之百 不要期望自动化测试发现新故障
3 软件自动化测试工具简述
1.3 自动化测试的原理和方法
软件测试自动化实现的基础是可以通过设计的特殊程序模拟 测试人员对计算机的操作过程、操作行为,或者类似于编译 系统那样对计算机程序进行检查。 软件测试自动化实现的原理和方法主要有:直接对代码进行 静态和动态分析、测试过程的捕获和回放、测试脚本技术、 虚拟用户技术和测试管理技术。 (1)代码分析 代码分析类似于高级编译系统,一般针对不同的高级语 言去构造分析工具,在工具中定义类、对象、函数、变量等 定义规则、语法规则;在分析时对代码进行语法扫描,找出 不符合编码规范的地方;根据某种质量模型评价代码质量, 生成系统的调用关系图等。
自动化测试的原理和方法(续)
关于自动化测试中的“录制—回放”技术 目前的自动化负载测试解决方案几乎都是采用 “录制回放”的技术。 所谓的“录制-回放”技术,就是先由手工完成一遍需 要测试的流程,同时由计算机记录下这个流程期间客户端 和服务器端之间的通信信息,这些信息通常是一些协议和 数据,并形成特定的脚本程序 (Script) 。然后在系统的统一 管理下同时生成多个虚拟用户,并运行该脚本,监控硬件 和软件平台的性能,提供分析报告或相关资料。这样,通 过几台机器就可以模拟出成百上千的用户对应用系统进行 负载能力的测试。
自动化测试的原理和方法(续)
(2)捕获和回放 代码分析是一种白盒测试的自动化方法,捕获和回放则 是一种黑盒测试的自动化方法。捕获是将用户每一步操作都 记录下来。这种记录的方式有两种:程序用户界面的像素坐 标或程序显示对象(窗口、按钮、滚动条等)的位置,以及 相对应的操作、状态变化或是属性变化。所有的记录转换为 一种脚本语言所描述的过程,以模拟用户的操作。 回放时,将脚本语言所描述的过程转换为屏幕上的操作, 然后将被测系统的输出记录下来同预先给定的标准结果比较。 这可以大大减轻黑盒测试的工作量,在迭代开发的过程中, 能够很好地进行回归测试。
自动化测试生存周期方法学
软件自动化测试生存周期方法学(续)
采用自动化测试方法的确认 自动化测试工具的获取 自动化测试的引入阶段 ——包括测试过程分析和测试工具的考查。 测试计划与测试设计 ——包括制订测试计划、建立测试环境、测试设计和设 计开发。 测试执行与管理 测试活动评审与评估
建立正确的自动化测试目标
1.5 自动化测试的运用
测试用例(Test Case,测试个案)的生成 测试的执行与控制 测试结果与标准输出的对比 不吻合测试结果的分析处理 测试状态的统计和报表的生成 自动化测试与开发中产品每日构建的配合 采用自动化比较技术
6.2 软件自动化测试生存周期方法学
4. 测试 5. 测 试 执 行 与 管 理 自动化测试生 存周期方法学 6. 测试 3. 自动化测试 2. 测 试 工 具 获 取 1. 自动化测试
1.2 自动化测试的定义和引入
自动化测试的定义:使用一种自动化测试工具来验证各种 软件测试的需求,它包括测试活动的管理与实施。 在进行自动化测试前,首先要建立一个对软件测试自动化 的认识观。软件测试工具能提高测试效率、覆盖率和可靠 性等,自动化测试虽然具有很多优点,但它只是测试工作 的一部分,是对手工测试的一种补充。自动化测试绝不能 代替手工测试,它们各有各自的特点,其测试对象和测试 范围都不一样。 在系统功能逻辑测试、验收测试、适用性测试、涉及物理 交互性测试时,多采用黑盒测试的手工测试方法。
手工测试的局限性
通过手工测试无法做到覆盖所有代码路径。 简单的功能性测试用例在每一轮测试中都不能少,而且具有 一定的机械性、重复性,工作量往往较大。 许多与时序、死锁、资源冲突、多线程等有关的错误,通过 手工测试很难捕捉到。 进行系统负载、性能测试时,需要模拟大量数据或大量并发 用户等各种应用场合时,很难通过手工测试来进行。 进行系统可靠性测试时,需要模拟系统运行10年、几十年, 以验证系统能否稳定运行,这也是手工测试无法模拟的。 如果有大量(几千)的测试用例,需要在很短时间内(1天) 完成,手工测试完成的可能性基本为零。
3.2 自动化测试工具的分类
测试工具可以从两个不同的方面去分类。 根据测试方法不同,自动化测试工具可以分为: 白盒测试工具、黑盒测试工具 根据测试的对象和目的,自动化测试工具可以分为: 单元测试工具、功能测试工具、负载测试工具、性能测试 工具、Web测试工具、数据库测试工具、回归测试工具、 嵌入式测试工具、页面链接测试工具、测试设计与开发工 具、测试执行和评估工具、测试管理工具等
软件自动化测试基础
1 自动化测试基础 2 软件自动化测试生存周期方法学 3 软件自动化测试工具简述
本章教学目标
理论环节 认识与理解应用软件自动化测试的基本概念 认识与理解软件自动化测试生存周期方法学及其应用 认识软件自动化测试工具与测试平台的获取及引入 常用软件自动化测试工具简介 实践环节 选定一个自动化测试工具,进行初步学习和认识 目前我们测试中心具备的自动化测试工具:Rational Robot, Rational functional Tester, Mercury WinRunner,LoadRunner
自动化测试工具的作用及优势(续)
自动化测试工具的优势主要体现在以下几个方面: (1)记录业务流程并生成脚本程序的能力。 (2)对各种网络设备(客户机或服务器、其它网络设备)的 模仿能力。 (3)用有限的资源生成高质量虚拟用户的能力。 (4)对于整个软件和硬件系统中各个部分的监控能力。 (5)对于测试结果的表现和分析能力。
3.1 自动化测试工具的特征 3.2 自动化测试工具的分类 3.3 选择自动化测试工具 3.4 常用测试工具概要
Return
3.1 自动化测试工具的特征
支持脚本化语言(Scripting Language) 对程序界面中对象的识别能力 支持函射成逻辑对象 分布式测试(Distributed Test)的支持 支持数据驱动测试(Data-Driven Test) 错误处理 调试器(Debugger)
白盒测试工具(续)
动态测试工具——是直接执行被测程序以提供测试活动。它 需要实际运行被测系统,并设置断点,向代码生成的可执 行文件中插入一些监测代码,掌握断点这一时刻程序运行 数据(对象属性、变量的值等),具有功能确认、接口测 试、覆盖率分析、性能分析等性能。动态测试工具可以分 为以下几种类型: (1)功能确认与接口测试 (2)覆盖测试 (3)性能测试 (4)内存分析 常用的动态工具有: Compuware公司的DevPartner IBM公司的 Rational Purify
相关主题