基于qtp在项目中的测试毕业论文内容摘要:

个截屏相结合,它还可以自动引入检查点来验证应用的属性和功能点,比如确认输出量 或检查链接的有效性。 QTP 支持多种企业环境的功能测试,包括 Windows、 Web、 .NET、 Java/J2EE、 SAP、 Siebel、Oracle、 PeopleSoft、 Visual Basic、 ActiveX、 Mainframe terminal emulators 和 Web services。 工作原理 QTP是基于录制回放的自动化测试工具,在测试初期,通过录制的方式记录下手工测试的步骤,并生成对应的 VBS脚本。 在后期的回归测试中,只需要回放脚本,就可以实现相同的测试。 QTP标识测试对象的 原理是其核心技术。 QTP 在录制时标识测试对象 在录制过程中 , QTP首先 “观看 ”要录制的对象,然后将其作为测试对象进行存储,确定该对象符合的测试对象类。 QTP会对测试对象进行分类,例如,标准 Windows对话框( Dialog)、 Web按钮 ( WebButton) 或 Visual Basic滚动条对象 ( VbScrollBar)。 然后,对于每个测试对象类, QTP都有一个始终要记住的强制属性的列表,当录制对象时, QTP始终记住这些默认的属性值,然后 “ 观看 ” 页面上其余的对象,对话框或其他父对象,以 检查该描述是否足以唯一标识该对象。 如果不足以进行唯一标识, QTP将向该描述中逐项添加辅助属性,直到经过编译成为唯一的描述为止,如果没有可用的辅助属性,或者那些可用的辅助属性仍不足够创建一个唯一的描述, QTP将添加一个特殊的顺序标识符(例如页面上或源代码中对象的位置)以创建唯一的描述。 QTP 在运行时标识测试对象 湖南大学毕业设计 (论文 ) 第 7 页 湖南大学软件学院 在运行会话期间, QTP会搜索与录制时记住的测试对象的描述完全匹配的运行时对象。 它需要找到与录制时用于创建唯一描述的强制属性和任何辅助属性完全匹配的对象。 只要应用程序中的对象没有较大的改变 ,录制过程中记住的描述几乎总是足以使 QTP 唯一标识出该对象。 对于大部分对象,这种方法是适用的,但应用程序中包含的某些对象可能在后续运行会话期间很难标识,在这种情况下, QTP提供了一种 “ 智能标识 ” 机制。 既当录制的描述不再准确时, QTP也能通过其 “ 智能标识 ” 机制使用排除过程来标识对象。 即使测试对象属性的值有所改变, QTP的 TestGuard 技术机制也能通过使用 “ 智能标识 ” 标识对象从而维护测试或组件的可重用性。 QTP 管理测试对象 QTP基于一组测试对象属性来识别应用程序中的对象。 它将发现的对象数 据存储在对象库中。 如果应用程序中的对象的一个或多个属性值与 QTP用来标识该对象的属性值不同,则测试或组件可能会失败。 因此,当应用程序中对象的属性值发生变化时,应修改相应的测试对象属性值,以便能够继续使用现有的测试或组件。 因此 “ 对象库 ” 的维护和管理是提高 QTP自动化脚本使用效率的关键。 QTP中的 “ 对象库 ” 对话框可以显示当前组件,当前操作或整个测试(取决于创建测试时选择的对象库模式)中所有对象的树形结构。 可以使用 “ 对象库 ” 对话框查看或修改库中任何测试对象的测试对象描述,或者将新建对象添加到库中。 我 个人 认为 QTP主要用在回归测试上。 是来解放繁杂而又无聊的手工测试的。 比如已经知道这一些功能点要用哪些步骤来测试,哪些地方要检查。 用手工又费时又无聊,就用机器来代替人工。 不是简单的录制和回放,而是来解放我们的双手的。 个人感觉测试是需要增强的,比 如通过参数化或者编程的方式,当测试完善后,尤其是 我觉得 测试新版本时就会发现能节省 你不少时间,因为很多软件的新版本与旧版本界面差异很小,所以那时 就会体会到自动化测试的方便了,还有就是用自动化测试对于BUG的复现也很有帮助,你可以真正运行两个完全相同的测试,当数据量很大时 优势就体现的很明显 了 在测试中的应用 使用 QTP开发自动化测试可以分为以下几个步骤: 湖南大学毕业设计 (论文 ) 第 8 页 湖南大学软件学院 (1) 录制前的准备工作。 确认应用以及 QTP符合测试需求。 确定如何对应用程序进行测试,如要测试那些功能,操作步骤,输入数据,预期的结果等。 检查 QTP设定。 (2) 录制测试脚本。 在网页上的每一步操作都会被 QTP记录下来。 (3) 加强测试脚本。 在测试脚本中加入检查点,验证应用程序是否正确;将录制的固定值用参数取代,以便使用多组的数据测试应用程序;使用逻辑或者条件判断,可以进行复杂的测试。 (4) 对测试脚本除错。 确保测试脚本正常运行。 (5) 在新版应用程序和网页上运行脚本。 (6) 分析测试运行结果,查找程序问题。 (7) 问题回报。 如果安装了 TD( Test Director) ,可以将问题回报到 TD 上。 当前存在的问题 QTP是一个功能强大的自动化测试工具,但如果面临的测试产品种类比较多时,单一的 QTP测试模式存在一些局限: (1) 各个产品的测试人员在各自的 QTP环境中开发自动化测试脚本,这些脚本都保存在各自的 PC上,缺少统一的平台去管理和维护这些脚本。 (2) 自动化脚本都在各自的 QTP环境下执行,导 致一些具有相同功能的方法,函数和模块不能共享,降低了脚本开发效率,还增加了脚本的维护成本。 (3) 当前的自动化测试脚本中,测试的业务逻辑和测试的数据都混合在一起,没有一个规范的脚本组织结构,使得脚本的后期开发和维护成本都很大。 (4) QTP的测试执行虽然是自动化,但其测试的调度还是手工的。 测试人员需要手动启动 QTP,配置 QTP选项,加载所需要的脚本,执行测试,收集测试结果,产生测试报告。 单一的 QTP测试模式无法实现测试管理的自动化。 湖南大学毕业设计 (论文 ) 第 9 页 湖南大学软件学院 研究 设计与实现 方法 本 论 文 是设计 一种自动化 测试模型,将 ATS的测试管理与 QTP的测试执行结合起来,实现了一种基于 GUI的自动化测试系统。 系统 设计 的总体结构如下: 图 系统设计的总体结构 本系统的主要模块 我在研究的过程过, 将 本系统的实现分为 ATS和 QTP Server这两部分。 ATS:( Automated Testing System)自动测试系统。 它是与应用软件对象无关的自动化测试平台 [4]。 不同类型的被测对象的测试 Case 都能够以相同的方式进行管理。 从理论上来说, ATS 是对不同的测试对象的测试行为进行 了抽象和概括,因此具体测试对象类型相关联的接口则是需要根据不同应用而专门提供。 ATS 是 B/S 结构,由四个子系统组成: ATS Web Server, ATS Finite State Machine 湖南大学毕业设计 (论文 ) 第 10 页 湖南大学软件学院 ( ATS FSM), ATS Execution Server, DataBase。 作为一个分布式系统, ATS 允许在测试环境中同时配置多台 ATS Web Server, ATS FSM 和 ATS Execution Server,可以很方便的扩展其性能,但目前只支持一个 DataBase。 系 统结构如图: 图 ATS系统结构图 QTP的模块分析 系统中的 ATS部分负责实现测试用例和基本函数库的开发,维护和管理。 基本函数库中包括用于连接 QTP Server,调用 QTP等 的 函数。 主要包括的模块有: (1) QTPConnector Class。 这个类用来封装连接 QTP Server,调用 QTP等方法,它提供的 API会发布到 ATS 上面给测试人员使用,属于用户层的 API(Application Programming Interface,应用程序编程接口 )。 主要有两个公共方法: init 和 Call_Case。 1. Init() 该方法在类初始化的时候被调用,负责连接 QTP Server,并根据传入的参数创建测试执行所需要的配置文件。 配置文件包含整个测试中所需要的一些公共信息。 方法需要的参数: � QTPServerIP:远程 QTP Server 的 IP 地址。 � QTPServerPort:创建 Socket 连接所使用的端口号。 � QTP_Case_Lib:测试所需要的 QTP Case 函数库在 QTP Server 上的路径。 � QTP_Load_Lib_Path:测试所需要的业务函数库和基本函数库在 QTP Server 上的路径。 � QTP_Repository_Path:执行测试脚本所需要的对象仓库在 QTP Server 上的路径。 � Args:其它附加参数 ,可以自己手动去选择。 方法实现的步骤: 湖南大学毕业设计 (论文 ) 第 11 页 湖南大学软件学院 � 创建基础类( QTPClient Class)对象。 � 调用基础类的 Init 方法,并传入参数。 2. Call_Case() 用这个 方法用来实现调用 QTP 去执行指定的 QTP Case 函数。 当 ATS 与 QTP 建立Socket 连接后,可以通过 Call_Case 实现对 QTP 的调用,执行指定 QTP Case 函数,并收集结果信息传递给 ATS。 方法需要的参数: � FunctionName: QTP Case 函数的名字。 � Args:执行 QTP Case 函数所需要的参数列表。 格式为: “ParameterName ParameterValue”。 如果有多组参数, 则每组参数之间用空格隔开 “ParameterName ParameterValue” “ParameterName Par ameterValue”。 方法实现的步骤: � 调用基础类( QTPClient Class)的 runQTP 方法,并传入参数。 � 返回执行结果信息。 (2) QTPClient Class。 这个类用来提供一些基础函数, QTPConnector在连接 QTP Server和调用 QTP的过程中都需要使用到。 其主要功能是:创建连接,运行 QTP,分析结果文件等。 系统中的 QTP Server 部分负责 Case 执行和基本管理,实现 Case参数输入,测试执行和结果输出功能,它相对独立,可以单独完成测试工作,也可 以与 ATS连接,被 ATS调用。 主要包括的模块有: (1) QTP Server监听器。 运行在 QTP Server上的控制台程序,在本系统中作为 Socket Server来实现 QTP Server 与 ATS 的信息交互。 其 工作流程 结构如下图: 湖南大学毕业设计 (论文 ) 第 12 页 湖南大学软件学院 图 QTP Server监听器工作流程图 (2) QTP主控。 对于每一个来自 ATS 的 Call_Case 请求, QTP主控负责获取该 QTP Case函数执行所需要的参数,调用 QTP 执行该函数,并收集结果信息。 是运行在 QTP中的控制 QTP Case函数执行的模 块。 (3) QTP Case函数库。 本系统将 QTP执行测试所需要的自动化脚本以 QTP Case函数的形式组织起来,形成 QTP Case函数库。 一个 Call_Case请求就是对一个指定 QTP Case函数的调用。 湖南大学毕业设计 (论文 ) 第 13 页 湖南大学软件学院 系统的 特点和优势 目前,国外自动测试系统正朝着通用化,标准化,网络化和智能化的方向迈进 [14]。 构建通用化自动测试系统,实现测试软硬件资 源共享;采用开放的商业标准和工业标准,减少测试系统软 硬件的开发和升级费用;构建高性能测试系统,优化测试序列,缩短测试时间;构建网络化测试系统,实现测试过程的 远程控制与远程故障诊断。 对于企业来说,自动化测试主要包括两个方面,自动化测试的管理和自动化测试的技术。 只有两 个方面同时发展,才能将自动化测试的收益最大化。 因此,本系统将研究怎么 能够将自动化测试管理与自动化测试技术结合起来,并且必须具有以下一些特点: (1) 分布式。 自动化测试系统是要面向企业中所有测试人员的,考虑到工作区域的限制,系统必须具是分布式,容易扩展。 (2) 开放式。 系统必须提供开放的函数调用接口。 企业中产品种类繁多,针对不同的产品和需求,都需要开发功能不相同的函数。 因此,系统必须提供开放式的接口 来实现对这些函数调用。 (3) 健壮性。 在产品测试过程中会出现各种异常错误导致测试失败,这些时候,系统需足够健壮并且要有强大的容错机制来收集错误信息并继续执行另外的测试。 本系统就是基于以上这些需求和当前自动化测试系统模型来实现的,系统采用开放式,模块化设计,不仅提供了对 GUI 测试的强大支持,同时可以通过企业内部网络,实现测试资源共享。 研究 QTP Case 自动化测试系统的具体实现。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。