软件测试自动化与测试工具介绍(3).pdf

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

QuickTest的对象识别
录制时记住对象:
QuickTest将“观看”要录制的对象,并将其作为测试对象进行存 储,确定该对象符合的测试对象类。例如,标准 Windows对话框 (Dialog)、Web按钮(WebButton)。 然后,对于每个测试对象类, QuickTest都有一个始终要记住的 强制属性的列表,当录制对象时, QuickTest始终记住这些默认 的属性值,然后查看页面上对象、对话框或其他父对象,以检查 该描述是否足以唯一标识该对象。 如果不足以进行唯一标识, QuickTest将向该描述中逐项添加辅 助属性,直到经过编译成为唯一的描述为止。如果没有可用的辅 助属性,或者那些可用的辅助属性仍不足够创建一个唯一的描述, QuickTest将添加一个特殊的顺序标识符(例如页面上或源代码中 对象的位置)以创建唯一的描述。
QuickTest简介
QuickTest Professional(简称QuickTest)是 新一代自动化测试解决方案,采用了关键词驱动 (Keyword-Driven)测试的理念,能完全简化 测试的创建和维护工作。 通过QuickTest可以测试标准的Windows Applications、Web对象、ActiveX控件和 Visual Basic应用程序。您还可以获得其他的 QuickTest加载项以便用于许多特殊的环境(例 如:Java、Oracle、SAP解决方案、.NET Windows以及Web Forms、Siebel、 PeopleSoft、Web服务和终端仿真器应用程序)
2
2011/12/13
自动化测试
例如:一个测试团队在构建一套自动化测试准则 时对自动化测试的定义是:"自动化"指的是对策 略、工具和工件的使用,它增加或减少了手工或 人为参与或干预非技巧性、重复或冗长工作的需 要。
什么是自动化功能测试
问题:如何做就是在进行功能的自动化测试? 讨论:???
9
2011/12/13
QuickTest的对象识别
运行中标识对象:
在运行期间,QuickTest会搜索与录制时记住的测试对 象的描述完全匹配的运行时对象。 它需要找到与录制时用于创建唯一描述的强制属性和 任何辅助属性完全匹配的对象。只要应用程序中的对 象没有较大的改变,录制过程中记住的描述几乎总是 足以使QuickTest唯一标识出该对象。
10
2011/12/13
测试对象模型
Web应用对象:
<INPUT TYPE=“text" NAME=“u_name" VALUE="">
测试对象模型
Windows应用对象:
对象库Object Repository
“对象库”中保存当前操作或整个测试中所有对象。可以使用“对象库” 对话框查看或修改库中任何测试对象的描述,或者将新建对象添加到库。
GUI自动化测试的原理:通过软件模拟用户实际的鼠标 和键盘操作,实现自动化执行和测试的过程 性能自动化测试原理:通过在客户端模拟多虚拟用户 并发请求,检验和验证服务器的性能行为是否满足系 统要求
5
2011/12/13
自动化测试的优点
自动化测试的限制
不能取代手工测试 手工测试比自动测试发现的缺陷更多 对测试质量的依赖性极大 自动化测试不能提高有效性 工具本身不具有想象力
7
2011/12/13
QuickTest简介
关键词驱动(Keyword-Driven):又称为表格 驱动测试,它是一种独立于应用程序的自动化测 试框架。这种框架要求开发用来运行的自动化工 具,驱动测试下应用程序和数据的测试脚本代码 相独立的数据表和关键字。 关键字驱动测试看上去非常象手工测试。在关键 字测试里,应用程序的功能特性被写在表格和每 个测试的详细描述中。
可以将程序界面中存在的所有对象实体一一映射成逻辑对象,通 过简单修改抽象层,帮助减少测试维护工作量
分布式测试支持
分布式测试可以实现定制任务执行的时间表,安排多人同时进行 测试
4
2011/12/13
GUI自动化测试工具特点
支持数据驱动测试(Data-Driven Test)
测试脚本通过从实现准备好的数据文件中读取或者写入数据保证 测试流程的正常执行,少的脚本,大量的测试数据即可
3
2011/12/13
GUI自动化测试工具特点
一个好的自动化测试工具其实与一个好的开发工 具有很多相似的特性,也可以说:一个自动化测 试过程实际也是一个软件开发的过程
GUI自动化测试工具特点
支持脚本化语言(Scripting Language)
支持多种常用的变量和数据类型 支持数组、列表、结构、以及其他混合数据类型 支持各种条件逻辑(If,Select Case等语句) 支持循环(For,While) 支持函数的创建和调用 Perl、VBScript、Javascript,脚本语言的功能越强大,就越能够 为测试开发人员提供更灵活的使用空间,而且有可能用一个复杂 的语言写出比被测试软件还要复杂的测试系统
2011/12/13
软件测试自动化 与测试工具介绍 李刚
国家信息中心软件评测中心 技术总监:李刚 ligang@mx.cei.gov.cn http://stc.sic.gov.cn QQ:29949260
自动化测试基础
目录
什么是自动化测试 自动化功能测试 GUI自动化测试工具特点 GUI自动化测试实现方式 自动化测试原理 自动化测试的优点 自动化测试的限制 自动化测试的误区
QuickTest简介
QuickTest Professional(简称QuickTest)是 新一代自动化测试解决方案,采用了关键词驱动 (Keyword-Driven)测试的理念,能完全简化 测试的创建和维护工作。 通过QuickTest可以测试标准的Windows Applications、Web对象、ActiveX控件和 Visual Basic应用程序。您还可以获得其他的 QuickTest加载项以便用于许多特殊的环境(例 如:Java、Oracle、SAP解决方案、.NET Windows以及Web Forms、Siebel、 PeopleSoft、Web服务和终端仿真器应用程序)
8
2011/12/13
QuickTest自动化实现原理
QuickTest的对象识别 测试对象模型 对象库(Object Repository) 对象探测器(Object Spy)
QuickTest的对象识别
人的识别
识别一个人,是通过人的体貌特征来辨别的。
对象识别
一个对象的识别主要是通过对象本身的属性来标识的。 一般通过唯一描述该对象的一组属性和属性值来标识 出该对象类型。
支持错误处理
在出现问题时能够跳过错误或者对系统进行复位,执行后面的任 务,从而不至于出现一个问题而耽误了所有用例的执行。 利用它可以避免测试程序因一些异常错误而异常终止
支持源代码管理
可以帮助我们进行测试脚本库的导入,导出,回退到以前版本, 比较不同版本间的差别,以及同时对几个项目进行跟踪等,尤其 在团队开发 中很有必要,可以对测试数据文件,测试脚本,对象 抽象层进行统一管理
11
2011/12/13
对象探测器Object Spy
使用Object Spy,可以查看打 开的应用程序中任何对象的运行 时或测试对象属性和方法。
QuickTest关键技术点
检查点
标准检查点、文本检查点、位图检查点、表格检查点、 数据库检查点;
参数化
值参数化 操作参数化 检查点参数化
数据驱动测试
特点:
从数据文件(数据池、txt文件、csv文件、Excel文件、 数据库等)中读取输入和输出数值。 输入数值和输出验证数值在脚本中都使用变量。 在测试脚本中包括贯穿程序导航、数据文件的读取、 记录测试状态和信息的日志的代码。 测试用例包含在数据文件里而不是在脚本里。 脚本只是一种“驱动器”(driver)或传送数据的机制。 在数据驱动测试里,只有测试数据包含在数据文件中。
使用脚本语言去模拟GUI操作 可以作为多平台应用,但需要额外的脚本程序编程 工具提供自动记录和回放用户手动操作的能力而不要用脚本 这种工具很容易使用,但做为多平台应用需要更多的人工操作
自动化测试原理
自动化测试是一个广义的说法,具体的说应该包 括白盒(代码)自动化测试、GUI自动化测试和 性能自动化测试等方面。
支持脚本的命令行方式执行
GUI自动化测试实现方式
GUI录制回放方式
在测试者运行应用程序的时,测试工具将其所有动作(键盘操作、 鼠标点击等)捕捉下来,生成一个脚本文件,这个脚本可以被 “回放”(Replay),也就是按照录制时操作的所有动作重复执 行一次,实现自动运行和测试。
录制/回放工具解决的问题:记录用户操作步骤,当代码 被修改后,可以重复进行回归测试。
自动化功能测试
自动化功能测试主要围绕Windows、Unix和 Linux图形界面、字符终端和Browser界面进行 测试。客户端可以是C/C++、VC、VB、Java、 C#等编制的软件、各种字符终端软件或者运行浏 览器Internet Explorer和Netscape,通过自动录 制形成测试脚本实现自动化功能/回归测试。
对程序界面中对象的识别能力
鼠标位置识别,对象识别,位图对象识别(图像比较)
GUI自动化测试工具特点
支持函数的可重用
脚本比较容易实现对函数的调用,脚本与被调用函数之间的参数 传递
支持外部函数库
如Windows中DLL访问,如采用外部函数进行数据库操作正确性 检查等
支持抽象层
1
2011/12/13
什么是自动化测试
问题:什么是自动化测试?你理解的自动化测试 的表现形式是什么? 讨论:???
什么是自动化测试
自动化测试的一般定义:各种测试活动的管理与 实施,包括测试脚本的开发与执行,以便使用一 种自动测试工具来验证测试需求。
自动化测试
注:不要将自动化测试的概念理解得过于狭窄, 只关心由工具或编程产生的测试脚本。实际上自 动化一词包含了更来自百度文库广阔的含义。
QuickTest的对象识别
Tools->Object Identification
测试对象模型
测试对象模型是一大组对象类型或类, QuickTest用这些对象类型或类来表示应用程序 中的对象。每个测试对象类都有一个可以唯一标 识属于该类的对象的属性列表,以及一组 QuickTest可以对其进行录制的方法。 测试对象是QuickTest在测试中创建的用于表示 应用程序中的实际对象的对象。QuickTest存储 有关该对象的信息,这些信息有助于它在运行会 话期间标识和检查该对象。
QuickTest简介
关键词驱动(Keyword-Driven):又称为表格 驱动测试,它是一种独立于应用程序的自动化测 试框架。这种框架要求开发用来运行的自动化工 具,驱动测试下应用程序和数据的测试脚本代码 相独立的数据表和关键字。 关键字驱动测试看上去非常象手工测试。在关键 字测试里,应用程序的功能特性被写在表格和每 个测试的详细描述中。
QuickTest脚本开发
QuickTest数据驱动脚本开发 QuickTest一般脚本开发
增加条件和循环控制语句 增加错误处理程序 增加VBScript自带函数和方法 增加自定义内部函数或子过程 在测试脚本中执行外部定义的函数
12
2011/12/13
数据驱动测试
数据驱动测试定义:从外部数据源(文件/表)自 动读取测试数据,在相同的自动化测试脚本(操 作过程)中,通过改变测试数据,对多种场景进 行有效测试的一种方法。
自动化测试的误区
所有的测试都能够实现自动化 既然自动化测试能如此显著地提高生产率,就能 以更少的人员完成所有的测试(精减人员) 自动化测试如此简单,无需任何培训 自动化方法将缩减整体测试工作量 我们无需制订任何测试方案和测试设计工作
6
2011/12/13
自动化测试工具
功能自动化测试工具 QuickTest
相关文档
最新文档