自动化测试培训之QTP工具培训课件1

上传人:pu****.1 文档编号:567617457 上传时间:2024-07-21 格式:PPT 页数:114 大小:2.87MB
返回 下载 相关 举报
自动化测试培训之QTP工具培训课件1_第1页
第1页 / 共114页
自动化测试培训之QTP工具培训课件1_第2页
第2页 / 共114页
自动化测试培训之QTP工具培训课件1_第3页
第3页 / 共114页
自动化测试培训之QTP工具培训课件1_第4页
第4页 / 共114页
自动化测试培训之QTP工具培训课件1_第5页
第5页 / 共114页
点击查看更多>>
资源描述

《自动化测试培训之QTP工具培训课件1》由会员分享,可在线阅读,更多相关《自动化测试培训之QTP工具培训课件1(114页珍藏版)》请在金锄头文库上搜索。

1、目录构建自动化测试框架自动化测试介绍自动化测试流程QTP自动化测试工具对自动化测试的理解定义: 指以程序运行的方法替代人工测试,从而达到减少手工工作量,提高测试效率目的。理解:用机器或工具自动执行的测试,替代人完成重复性劳动,但不能完全取代人。自动化测试需要用到测试工具,测试工程师的参与。自动化测试技术可应用于所有的测试阶段。不仅仅是商业测试工具、开源测试工具、自行编制测试工具或测试脚本。只要能够部分代替手工测试提高执行效率。对自动化测试的理解提高测试效率,降低测试成本重复性强的手工劳动用自动化替代快速的回归测试,提高新版本发布的速度和质量避免人工测试容易犯的错误,如:错误测试,漏测试,多测试

2、等。很容易就实现并发测试,加快进展需要规范的测试管理不能创造性发现测试脚本没有设计的缺陷需要自动化测试开发工程师对测试环境要求比较严格在资源投入和产出方面进行权衡自动测试脚本的修改、维护工作量大为评估软件质量提供数据支持,完整的测试是评定软件质量的一种方法树立对自动化的正确认识适用性适用性培训培训维护维护运用运用自动化测试优缺点提高测试效率,降低测试成本测试人员更注重测试结果分析提高新版本发布的速度和质量避免人工重复测试易犯的错误可以实现多机自动化并行测试优优点点不能创造性发现缺陷需要规范化的管理对人员有编程要求对测试环境要求高变化带来的脚本维护缺点缺点自动化测试目标v只适用于功能测试阶段,因

3、为一般会:给定预算,进度,资源给定平均或期望的测试运行次数根据业务流程的不同(复杂度和风险)最大化自动化率(只能达到有限值)初级阶段目标初级阶段目标v可以适用于回归测试:自动化率可以逐步提高增加自动化测试的次数减少测试运行时的缺陷高级阶段目标高级阶段目标通过灵活的合理的自动化测试目标最大化时间和资源的利用率和价值为什么需要自动化测试维护周期长、兼容性高、多语言多版本的系统无人值守运用,充分利用时间,缩短发布周期有利于测试资产的积累、存储和移交、管理第三方自动化测试工具有利于自动化测试的效率组织发展、技术更新为什么需要自动化测试n大多数项目处于维护阶段,程序界面变动较少n大量局部需求变更、增加新

4、业务、bug修复测试任务n在某些业务功能测试中经常要反复编造业务数据n冒烟测试、兼容性测试、版本验证、波及影响测试等需投入大量工作量n复杂的公式计算和统计计算等占用手工测试人员较多的时间,且容易出错n手工测试用例不容易形成资产积累自动化测试是软件测试发展的方向业务改进业务改进软件下发软件下发研发过程研发过程变更管理变更管理测试管理测试管理源代码源代码管理管理系统升级系统升级配置管理配置管理软件研发自动化测试自动化测试版本管理版本管理单元测试单元测试每日构建每日构建集成测试集成测试系统测试系统测试自动测试技术的发展第一代自动测试技术 实现:录入回放第二代自动测试技术实现:脚本技术,可以加入脚本实

5、现逻辑第三代自动测试技术 实现:数据驱动,数据与测试脚本分离第四代自动测试技术 实现:关键字驱动、构件化测试,业务驱动数据驱动驱动 数据驱动主要优点是: 1、测试脚本与测试数据的分离; 2、执行测试用例的人员关注测试数据表与测试报告表; 3、测试脚本的执行离散的。关键字驱动技术关键字驱动关键字驱动的自动化测试框架是在数据驱动的基础上进行改进,数据源里包含的不只是数据,还有关键字,一个测试用例由一个或若干个关键字组成。每个关键字对应个不同的业务逻辑。关键字主要包括三类:被操作对象(Item)、操作(Operation)和值(value),用面向对象形式可表现为Item.Operation(Val

6、ue)将测试逻辑按照关键字进行分解,形成数据文件,测试工具解释关键字运行 12自动化测试适用范围自动化测试的适用范围包括两点:1.减少操作的重复性:自动化测试工具的使用可以辅助人们完成一些重复性较高的操作,如完成N条不同内容投保单的录入,在这里自动化测试具有快速、准确的输入、节约时间的特点;2.回归测试:在系统测试阶段开发针对某一具体功能的自动化测试脚本(如一条记录的新增操作),在回归测试阶段通过执行该脚本来保证该功能没有被新功能的增加、其它bug的修复而破坏。例如:1.每轮测试都需要执行的基础测试,如需要对保全功能做测试时, 可通过自动化测试工具完成一个保单流程的录入;2.数据驱动的用例,如

7、需要输入很多组数据,每组数据对应不同的预期结果,如一条投保单的录入在保存时需要做很多个校验及检查,可为每个需要检查的逻辑判断做一组数据,在保存时检查校验条件是否都正常工作;自动化测试的成本考虑评估购买或开发测试工具 每年的维护费用或升级成本 学习工具和培训时间 测试自动化上特定的资源投入与开发自动化测试工具所有相关的抽风 维护脚本的成本 存储脚本的硬件资源花费自动化测试建设常见错误1、缺乏好的自动化测试计划和设计过程2、错误的选择了自动化测试工具3、错误的自动化框架设计4、在设计中缺乏好的设计管理5、缺乏自动化过程和工具培训相关术语Test Requirement(测试需求):是关于某具体测试

8、目标的声明以及确认测试是否通过所要达到的标准。Test Plan(测试计划):包括项目中的测试目标和目的的信息。此外,测试计划还明确了测试实现的策略和所需要的资源。Test Strategy(测试策略):描述了测试获得的通用目标和方法。Test Case(测试用例):是一套为特定目标开发的测试输入、执行条件和预期结果,例如执行一跳特殊程序路径或者在特定要去下验证一致性。Test Data(测试数据):在测试中所用到的实际数值或执行测试所必须的 数值。测试数据是测试条件(作为输入或预存在的数据)的具体例化,用于验证已成功实现的特定要求(通过将实际结构与期望结果比较)。 Test Inputs(测

9、试输入):是工作过程的产物,用于标志和定义发生在测试期间的动作。这些产物可能是从测试组之外的软件开发过程中产生的,例如功能需求规格说明和设计规格说明。它们也可能是从前期测试阶段产生的并被留给了后续的测试活动。相关术语Test scrpt(测试脚本):这是计算机可读懂的能令测试程序(或一部分测试程序)自动执行的指令。测试脚本可以由人创建(复制)或者由自动测试工具产生,它使用编程语言限制,或者由记录、生成和编程混合创建。Test Results(测试结果):执行测试所捕获的数据,并被用于计算测试的不同关键测度。Performance Testing(性能测试):通过这类测试的实现和执行可以对索要测

10、试的应用程序与性能相关的特征作出描绘和评估。这些测试包括时间调度情况、执行流畅、响应时间以及操作可靠性和限制。DataDriven Testing(数据驱动测试):这是一种测试脚本的功能及执行由外部数据所引导的自动测试方法。这种方法将测试及控制数据与测试脚本本身分离开了。Test Condition(测试条件):测试所涉及的各种环境因素。目录构建自动化测试框架自动化测试流程自动化测试介绍自动化测试工具QTP正确选择适合的自动化测试通常适合自动化测试的用例有:v产品型项目产品型的项目,新版本是在旧版本的基础上进行改进,功能变不大的项目,但项目的新老功能都必须重复的测试。v回归测试回归测试是自动化

11、测试的强项,它能够很好的验证你是否引入了新的缺陷,老的缺陷是否修改过来了。在某种程度上可以把自动化测试工具叫做回归测试工具。v机械并频繁的测试每次需要输入相同、大量的一些数据,并且在一个项目中运行的周期比较长。有一些交互性比较强,需要人工干预的操作,就不要指望通过自动化测试来完成了。例如,用户使用U-Key登录。自动化测试实施条件具有良好定义的测试策略和测试计划(知道要测试什么、知道什么时候测试)能够确保多个测试运行的构建策略多平台环境需要被测试拥有运行自动化测试的硬件拥有关注在自动化测试进程上的资源自动化测试规划设计设计框架框架资源资源计划好投入的工具设备和人员等计划好投入的工具设备和人员等

12、不同的测试框架实施方式不同不同的测试框架实施方式不同与研发类似与研发类似测试实施之前做一份切实可行的规划是自动化能够得以实施的基础测试实施之前做一份切实可行的规划是自动化能够得以实施的基础自动化测试实施规划阶段一:完成对结算和信贷主要业务的流程覆盖阶段二:完成对业务的校验和约束阶段三:应用到更多的业务中去,规模扩大开发自动化测试框架,降低对测试工具的依赖 使用动作词的自动化测试第一层次第二层次第三层次层次阶段测试自动化程度自动化测试工作任务的优先级自动化自动化ROI度量度量测试范围测试范围由风险驱动测试 ( 例如:高风险的项先被测试)自动化的优先顺序自动化的优先顺序:对于能尽快(最少运行次数)

13、达到投资回报平衡点高风险的测试案例优先低复杂度的测试案例优先优先级策略优先级策略1342#优先级顺序优先级顺序58697ROI分析基于风险和复杂度评估达到测试目标的最佳性价比测试自动化基本实践方法风险过程根据特定测试风险等级来选择合适的测试过程.通过以测试过程的最优组合和资源、进度、风险的约束来多次运行自动化测试次数,来达到最小化工作量的目标方法方法过程程高风险中风险低风险高复杂度中复杂度低复杂度自动化测试流程描述 在测试计划设计阶段,设计者应尽可能考虑到系统的自身的业务和功能特点,将某些业务流和功能点确定为自动化测试;而在设计测试用例时必须对这部分的测试用例描述细化;自动化测试的操作过程大体

14、分为5步:制定自动化测试计划、编写自动化测试用例、开发调试自动化测试脚本、执行自动化测试、测试脚本的维护。 关于自动化测试工具的具体使用方法请参考自动化测试工具之QTP使用方法。制订自动化测试计划 制定测试计划的目的是确定和描述要实施的执行的测试。这是通过生成包含测试需求和测试策略的测试计划来完成的。可以制定一个单独的测试计划,用于描述所要实施和执行的不同测试类型,也可以为每种测试类型制定一个测试计划。 换句话说制定自动化测试计划是个分析、筛选的过程,即通过对被测系统业务流程的分析,整理出哪些模块适合做自动化测试,哪些功能点的验证可以进行脚本的合并。测试自动化实现中的功能分解业务功能分解的原则

15、和方法:清晰画出业务流程图根据业务流程分解业务功能,可以被复用的功能也要被分解出来。按照路径覆盖的思想,组织测试用例编写自动化测试用例 根据手工测试用例编写完善相应的自动化测试用例,其中包括测试的版本、功能点描述、驱动数据、详细操作流程、明确的预期结果。v 测试用例粒度测试用例的粒度决定了用例模型级的复杂度,也决定了每一个用例内部的复杂度。应该根据每个系统的具体情况来把握各个层次的复杂度,在尽可能保证整个用例模型的易理解性前提下决定用例的大小和数目。用例不能太大,这样一旦出执行测试用例出错,不利于定位问题;但也不能太细化,太小则不方便执行。v测试用例与测试套件测试用例与测试套件一个大型的项目有

16、许功能模块,必然会产生大量的测试用例,怎样才一个大型的项目有许功能模块,必然会产生大量的测试用例,怎样才能有效的管理这些测试用例呢?这就需要创建测试套件,通过测试套能有效的管理这些测试用例呢?这就需要创建测试套件,通过测试套件将测试某一个模块或功能点的测试用例集合起来,方便运行与管理。件将测试某一个模块或功能点的测试用例集合起来,方便运行与管理。例如,只验证例如,只验证“用户管理用户管理”模块功能,则只需要执行模块功能,则只需要执行“用户管理用户管理”模模块套件即可。块套件即可。开发、调试自动化测试脚本 以业界常用的自动化测试工具为例,脚本的开发通常是通过录制完成的(需要注意的是在录制脚本之前

17、设计好脚本,便于录制过程的流畅,提高脚本的修改效率),即工具本身通过记录用户的操作过程及所输入的数据生成一个由VB语言编写的可执行脚本,测试工程师对脚本进行相应的修改即可。修改增强脚本主要包括一下几点:1.删除录制过程中多余和错误的代码;2.对输入输出值进行适当的参数化;3.对于不能通过录制产生的代码进行手工编写;4.录制所产生的脚本是线性的,适当加入条件、控制 语句,实现更为复杂的流程;5.设置文本、图片、及数据库检查点;6.适当加入注释、便于阅读和维护;执行自动化测试 执行自动化测试是通过使用工具来替代手工操作的过程,脚本回放的过程中是模拟用户的实际操作来执行的,此时需要注意的是,测试环境

18、要保持干净。测试脚本的维护 随着工作的不断推进、脚本量会逐渐增多,测试组需要对测试脚本进行维护,将有效的测试脚本上传至QC服务器服务器上,同其对应的测试用例放在一起进行维护。1.随着被测程序的更新,不断更新相应的测试脚本;2.对一些变更较为频繁的脚本,适当采用版本管理工具保存脚本 、如SVN、VSS等以便可以随时获取历史版本;3.脚本采用统一的命名规范(如健康险_契约录入_、健康险_保全_客户资料变更等等);自动化测试的评审 根据自动化测试结果编写自动化测试报告,组长组织自动化测试工作小组首先进行内部评审,内部通过后再提交到测试组进行自动化测试策略的外部评审,如果条件允许的情况下此时需要由项目

19、组、自动化测试小组、质量控制组共同参加评审过程。目录自动化测试流程构建自动化测试框架自动化测试介绍自动化测试QTP软件测试框架介绍什么是框架framework ? 测试框架是一组自动化测试的规范、测试脚本的基础代码,以及测试思想的集合。v整个或部分系统的可重用设计,表现为一组抽象构件以及构件实例间交互的方法;v可被开发者定制的应用框架。 测试框架出现的最终目的是花少量的资源来完成尽可能多的测试任务,所以测试框架的建立以及框架的重用性方面是最值得测试人员深入探究的地方。v减少冗余代码、提高代码生产率、提高代码重用性和可维护性。提高开发速度,提升测试代码的执行效率;v提高软件代码质量,同时引入重构

20、概念,让代码更干净和富有弹性;v提升系统的可信赖度,作为回归测试的一种实现方法支持修复后“再测试”,确保代码的正确性。 自动化回归测试框架特点业务测试构件执行监控测试数据管理异常恢复缺陷报告自动提交缺陷报告灵活的自动测试过程异常中止恢复机制实现业务测试构件,快速完成业务流自动测试监控测试运行状态被测系统数据管理机制(数据与脚本分离与脚本分离,备份和恢复)37好的自动化测试框架的特点构件化的脚本技术;可复用的脚本或公共函数的应用,降低自动测试代码总量;被测系统的界面或功能变化,不需要修改大量的自动测试代码业务的测试流往往由业务人员来设计,根据业务需求的变化,不断改变业务的测试流。如果自动回归测试

21、系统不能够适应业务流的变化,那么改动的工作量将是巨大的如果测试数据与自动测试脚本结合紧密,那么,一旦修改测试案例的数据,就必须由专业的自动测试技术人员修改自动测试脚本,而且带来巨大的工作量可维护性可维护性业务驱动业务驱动测试数据管理测试数据管理绝大部分失败案例,都是由于维护工作量太大,绝大部分失败案例,都是由于维护工作量太大,从而将辛苦建设起来的自动回归测试系统抛弃从而将辛苦建设起来的自动回归测试系统抛弃37基础案例库建设-平台搭建自动化测试过程框架业务分析业务分析案例设计案例设计脚本生成脚本生成实施执行实施执行业务分析人员业务分析人员测试人员测试人员技术人员技术人员/测试人员测试人员测试人员

22、测试人员业务流程分析确定测试点确定测试场景测试需求UI流分析数据准备测试案例数据模型数据采集工具业务分析与评估方法编写脚本装配流程测试目标及策略测试脚本执行测试缺陷跟踪测试报告共享对象库共享脚本自动化框架测试工具测试管理工具1、从现有的移植案例中选一定范围的测试需求,作为研发阶段任务范围;2、由自动化测试架构师为主组织研发小组,小组组成员包括:测试设计人员、脚本开发人员、数据管理人员,其中,测试设计人员由手工功能测试组成员兼任;3、在确定的测试需求范围内建立起自动化测试的共享对象库、共享脚本库、测试数据模型、测试数据抽取SQL脚本库1、培训各测试项目组成员;2、在实际测试过程中进行自动化测试的

23、实施,进行效果的评估,并总结改进方案;3、研发小组完善、扩展自动化测试成果资产;研发阶段实施与完善阶段测试需求定义场景定义场景的流程定义预期结果及检查点定义测试数据的要求测试数据测试数据测试数据管理系统基础数据新建业务数据抽取业务数据页面控制数据业务数据模型保单保险人保全信息理赔信息投保信息Ui参数模型UiUi数据对象Ui数据规则UI编码业务数据对象. 数据要素缺省值是否参数化险种信息测试数据投保人数据特征:(正常保单失效保单)保单号=“”保单状态=“”自动化测试脚本的生成过程执行测试脚本研发共享对象库编写脚本共享脚本库测试案例(ui流程、测试数据)案例生成测试案例(ui流程、测试数据)流程装

24、配测试数据配置案例库基于功能分解的自动化测试框架基于功能分解的自动化测试框架基于功能分解的自动化测试框架优缺点优点优点1.较为模块化(modular)的设计,避免重复的脚本,减少建立或维护脚本的成本。 2.在应用软件开发的同时,就可以同步进行脚本建立的动作,而且当应用软件功能变动时,只需要修改业务功能脚本。 3.由于应用软件的功能已经被分解成独立的业务功能脚本,测试人员可以随意组合业务功能脚本成为更复杂多样的测试个案。 4.测试输入数据与验证数据与脚本分开,储存在另外的档案,如纯文字文件或 Excel 文件,测试人员可以更容易修改与维护。 5.透过判断 Action 回传值是 TRUE 或 F

25、ALSE ,可以作错误处理,让脚本更有弹性。 缺点缺点1.在编写业务功能脚本时,需要精通测试工具脚本语言的工程师。 2.个Action都会有自己的输入输出参数,需要用文档统一维护,控制变更。 3.测试人员除了要维护测试计划之外,还要另外维护数据文件。 4.对测试工具以及脚本语言来说,使用数据文件可能也要注意数据文件的格式。自动化测试解决方案QTP和QC自动化测试框架技术实现缺陷缺陷测试实验室测试实验室测试计划测试计划/用例用例测试需求测试需求QC中测试需求的组织从测试需求到测试用例自动化脚本组织主控主控输入输入调度和控制调度和控制测试数据测试数据脚本脚本运行结果运行结果输出输出任何一个自动化测

26、试框架都要设计这三部分测试用例脚本用例脚本公共公共类库模模块特定特定类库在模块内部将可以为该模块共享使用的方法抽象出来,作为一个公共类。它可以是一个单的逻辑操作,也比较独立。比如客户端登录操作、控制台登录操作、控制台更新操作等。 公共类库包括所有模块都可能用 户的操作方法,其抽象了不同模 块同性,比如操作excel表的方法 、读写测试报告、驱动引擎等测试用例脚在最上层,它根据测试点进行设计,面向具体的应用。它可直接调用公共类库或模块特定类库的方法,即调单个逻辑操作。它是单个或多个逻辑操作的集合,即一个测试用户脚本 为了方便以后脚本的维护问题,必须对脚本进行有效的分层,同时,提高了脚本的复用率。

27、测试脚本开发脚本编写规范:测试脚本的开发也要遵循编程的规则与标准,应该统一规划,所有开发脚本的人员按照统一的规定进行编码。除了编程本身规范,还考虑测试用例与库函数名的命名。测试脚本组织和录制编辑测试脚本组织和录制编辑测试脚本执行结果QC中执行记录和报告56BPT(业务组件测试)测试设计和代码调试分开机制测试脚本管理测试结果管理团队协作QTP和QC业务组件自动化测试框架基础案例库建设已完成业务脚本57跨模块业务流程脚本(一)基础案例库建设已完成业务脚本跨模块业务流程脚本(二)基础案例库建设已完成业务脚本模块内业务流程脚本测试平台知识转移为了在项目结束后,海总和实业方人员能够承担测试平台的运维工作

28、,项目组从以下几个方面做好知识转移工作,包括:1.培训工作。除了测试工具使用的普及型培训,还会针对具体的操作人员进行高级培训,并进行考核。2.专题讨论。项目实施过程中遇到的各种技术难点,均会召开专题讨论,各方人员均需要参加。3.知识积累。项目组在项目实施过程中,会总结一些典型的应用场景和解决方案,并在项目组内共享。4.工作模式。在项目实施期间,HP方顾问会采取1盯1的方式,帮助实业方人员尽快提高测试技术水平。目前实业人员已能承担一部分工作,但他们很难在短短4个月内达到HP顾问的水平,所以明年在项目结束后就由实业方人员承担测试平台的全部运维工作,存在着一定风险。回归测试方案介绍(一)回归测试策略

29、最终确认为:选择38个跨模块集成流程,以及49个模块内重点流程(除去部分跨模块集成流程已经包含的);策略覆盖面广,自动化集成度高,保证了各个模块功能点得到充分的测试,从而确保系统稳定运行;选取集成流程(包括跨模块集成流程和模块内集成流程)作为自动化回归测试对象,不单单因为集成流程包含了绝大部分常用的T-CODE、关键控制点,更重要的是集成流程贯穿了整个业务流程,可以从业务流、系统本身集成性来考量“变更”带来的影响和潜在风险;38个跨模块集成流程包含了11家所属单位的所有共性流程和个性流程,49个模块内集成流程的选取覆盖了FICO、MM、SD、HR等模块,流程的选取覆盖了11家所属单位的业务,为

30、回归测试/巡检测试提供了强有力的数据支持。回归测试方案介绍(二)工作量而言,对于所选的方案进行评估,大概需要20个人月,在有限的时间和人员配置里,选取了常用、关键控制点、及主要业务覆盖的T-CODE,从而达到了“二八效应”;该方案数据的选取也有自己的局限性,方案重点测试集成流程的功能,共性流程选取单个公司代码,难以充分测试公司间字段差异化等;单元测试流程只选取了重点流程,没有全部选取,可能会导致测试不充分;SAP系统的回归测试和巡检测试是一项长期的任务,该选取策略只是我们现阶段性的实现方式和成果。在未来的工作中,还可以根据具体情况进行完善。权限测试方案介绍(一)权限测试需求:自动化权限测试替代

31、手工权限测试,充分保证权限测试的质量;规避集团管控、跨所属单位、所属单位内部权限过大的风险;权限测试背景:中海油共计11家所属单位;本地角色3万多,最终用户5千左右 ;权限测试方案介绍(二)分步实施:首先实现集团管控、跨所属单位自动化权限测试需求,规避集团管控、跨所属单位权限过大的风险;后续再实现所属单位内部的自动化权限测试;测试方法:首先选取集团管控、跨所属单位相关的T-CODE;然后找出此部分T-CODE涉及的本地角色,每种本地角色组合选取对应的一个用户,进行此部分T-code的所有权限控制点的反向测试;并返回结果日志。优点:操作可行性较大,有效的分解了工作量压力;能够检测出集团管控、跨所

32、属单位权限过大的风险;缺点:需要逐步实现;实施过程中,还没有编制自动化测试脚本的需要人工测试;权限测试方案介绍(三)工作量评估:在选定的范围内,针对每种不同的本地角色组合建立一个自动化测试的脚本。运行脚本时,系统自动运行组合下所有T-code权限检查点反向测试,并返回结果日志。以集团管控、跨所属单位共计3600个T-CODE为例,在主数据准备齐全的前提下:平均每人每天2个T-CODE的开发量(默认每个T-CODE含有3个权限检查点)(注意:T-CODE含有的权限检查点以实际数据为准);每人每天串联16个T-CODE的工作量。那么开发T-CODE的工作量等于(3600/2)1800人天,串联用户

33、T-CODE的工作量等于(3600/16)225天。共计需要(1800+225)2025人天。基础案例库建设验收情况介绍项目组组织业务专家组成员对已完成的所有集成业务流程脚本进行了验收;所有业务流程脚本均在专家组成员的监督下成功执行,并将每一步操作进行截图,记录在脚本执行报告中;专家组成员对于测试脚本涉及的业务流程,提出了一些增加检查点和由于手工测试脚本错误,导致脚本与实际业务不符的问题,项目组均在当场进行了脚本修改,解决 了相关问题;项目组对所有执行记录进行集中存档备案;QTP简介 如果你执行过人工测试,你一定了解人工测试的缺点,人工测试非常浪费时间而且需要投入大量的人力。使用人工测试的结果

34、,往往是在应用程序交付前,无法对应用程序的所有功能都作完整的测试。 使用QuickTest可以加速整个测试的过程,并且建置完新版本的应用程序或网站后,可以重复使用测试脚本进行测试。 以QuickTest执行测试,就与人工测试一样。QuickTest会仿真鼠标的动作与键盘的输入,不过QuickTest比人工测试快了很多。目录自动化测试流程自动化测试工具QTP自动化测试介绍构建自动化测试框架QTP简介Keyword -Driven Testing把自动化测试融入到日常工作流程中 执行和报告执行和报告 检查点检查点编辑脚本并参数化编辑脚本并参数化 Item.Operation(Value) Meth

35、od and Prosperity封装属性和自身属性封装属性和自身属性 Parameterize(参数文件更新)(参数文件更新) CheckPoint(7种检查点)种检查点) Run ReportObject RepositoryQTP工作界面标题栏、菜单栏文件工具栏、测试工具栏、调试工具栏测试窗格:脚本视图/关键字视图数据表Active Screen 视窗状态栏QTP菜单栏QTP的菜单功能,包括“文件”、“编辑”、“视图”等等菜单。QTP工具栏文件工具栏管理测试或组件的按钮测试工具栏在创建和维护测试或组件时用到的命令按钮调试工具栏调试测试或组件步骤时用到的命令按钮QTP测试窗格关键字视图专家

36、视图QTP参数表存储QTP运行时用到的数据Global、Local Sheet数据可通过手工方式导入、导出ActiveScreen录制会话过程中执行某个特定步骤时,捕获到的应用程序的屏幕快照通过Active Screen 操作,参数化、检查点等安装QTP安装QTP临时License:8888-8888888888更新License安装示例脚本插件安装脚本调试插件QTP工作原理脚本录制,捕捉对象以及在对象上的操作脚本回放,在可识别的对象上还原操作完整的录制回放流程准备录制进行录制编辑测试脚本调试脚本在回归测试中运行测试分析接过,报告问题QTP脚本参数化把自动测试脚本运行所用到的数据以参数取代,脚

37、本运行时从参数表取数据将数据与脚本分离,便于维护,便于更新数据以适应新的测试QTP脚本中的参数化环境变量参数化,测试、操作参数的值,应用程序随机值。参数化界面输入数据的参数化输入数据可以直接输入输入数据可以从参数表取值输入数据可以设置为参数并为该参数设置默认值,在脚本运行时可以修改,如取参数表中的值、取被测系统实时生成的某个相关值。直接输入数据:如在登陆窗口输入用户名“ggg”,自动生成语句:Window(Program Manager).Dialog(Login).WinEdit(Agent Name:).Set ggg前面部分用来确认操作的对象,Set是在对象上所做的操作,ggg为输入值。

38、输入数据的参数化输入数据从参数表取值,从当前表、全局表(GlobalSheet)或指定表取值。前置条件:所被指定的表存在参数列且有参数数据。使用datatable.value方法,示例语句如下:Window(Program Manager).Dialog(Login).WinEdit(Agent Name:).Set datatable.Value(username,dtglobalsheet)Window(Program Manager).Dialog(Login).WinEdit(Agent Name:).Set datatable.Value(username,dtlocalsheet)

39、输入数据的参数化输入数据已经定义为参数并设置默认值;为当前Action设置参数,在可复用脚本中常用到。在脚本中示例语句如下:Window(ProgramManager).Dialog(Login).WinEdit(AgentName:).Setparameter(username)输入数据的参数化输出值的参数化被测系统生成的实时值,可用作后续操作的某些输入值。输出值被输出到参数表或者输出参数;在目标对象,点击右键选择“Insert Output value”功能;示例如下:输出值的参数化输出值被参数化后,后续操作可以直接使用被输出值。从数据表取得输出值,方法参考输入数据从参数表取值。输出值的参

40、数化QTP脚本检查点检查点检查页面、对象或者文本字符串中的特定值或特征,是将指定属性的当前值与该属性的期望值进行比较的验证点。通过它可以标识网站或者应用程序是否正常运行。关键步骤、关键操作的检查,如:与服务器交互后,客户端的信息检查。标准检查点、对象检查点、文本检查点、数据库检查点等添加检查点界面插入检查点标准检查点Active Screen视窗,在目标对象上点击鼠标右键选择“InsertStandardCheckpoint”设置标准检查点检查点可以检查目标对象的多个属性,如同时检查enabled、text、height等。设置属性的值为固定值或者从数据表取值(可参考对象属性设置)。设置检查点

41、的超时时限。设置检查点检查的时机。插入检查点文本检查点插入检查点文本检查点添加事务脚本的分割功能:StepSplit Action生成并列脚本还是第二个脚本被第一个脚本调用。QTP脚本对象应用界面上的按钮、编辑框、标签、选框等控件被QTP当作对象,在录制自动测试脚本时这些能够被识别的对象信息被存储到QTP对象库回放时会将对象库中的对象信息与实际操作应用界面上的控件对比QTP常用对象方法:Click、Dblclick、Exist、type、set、GetRoProperty 、GetVisibleText 等。对象库查看、编辑和管理QTP对象库结构录制脚本时,QTP可识别的对象存储在对象库中。Q

42、TP对象属性设置对象的名称、类型、属性添加、删除显示的属性将影响对象的识别配置属性值:固定值、参数表取值QTP定位对象库中的对象在对象列表选择目标对象,激活当前被选中对象所属窗体,点击识别某个对象的详细属性通过 功能可以识别某个对象的详细属性以及该对象支持的方法。Web对象的识别102静态Web对象的识别QuickTest 可以使用三种类型的顺序标识符来标识对象: 索引(索引( index index ):指示该对象在应用程序代码中相对于其他描述都相同的其他对象的显示顺序。 QTP在录制和执行中,为测试对象属性分配一个值,以便唯一标识该对象。该值基于对象在源代码中的显示顺序。第一个出现的是 0

43、。注意, index属性值是特定于对象的。因此,如果使用 Index:=3 描述 WebEdit测试对象, QuickTest 将在页中搜索第四个 WebEdit 对象。 位置(位置(locationlocation):指示该对象在父窗口、框架或对话框中相对于其他描述都相同的其他对象的显示顺序。QuickTest 可以为对象的 location测试对象属性分配一个值,以便唯一标识该对象。该值基于对象在窗口、框架或对话框中相对于具有相同属性的其他对象的显示顺序。第一个出现的对象是 0。各列值的分配从上到下、从左到右。 creationTimecreationTime (仅限于浏览器对象) :指示

44、该浏览器打开的顺序,相对于其他描 述都相同的其他打开的浏览器。如果 QuickTest 不能仅基于测试对象描述唯一标识浏览器对象,它将为“CreationTime”测试对象属性分配一个值。该值指示该浏览器打开的顺序,相对于其他描述都相同的其他打开的浏览器。在运行会话期间,如果 QuickTest 不能只是基于其测试对象描述来标识某个浏览器对象,那么,它将检查浏览器的打开顺序,然后使用 “CreationTime”属性标识正确的对象。 举例1.Browser(“creationTime:=0”).Page(“index:=0”).WebEdit(“name:=amount”).Set “1000

45、”在第一个被创建的IE窗口,查找name属性为amount的输入框,输入数据10002.Browser(“creationTime:=1”).Page(“index:=0”).WebButton(“text:=保存”).Click 在第二个被创建的IE窗口,查找按钮,该按钮上显示的文字是“保存”,点击该按钮动态Web对象的识别GetToPropertyGetToProperty:Returns the value of the specified property from the test object description. GetTOProperties:Returns the col

46、lection of properties and values used to identify the object. GetROProperty:Returns the current value of the test object property from the object in the application. 举个例子:假设在库中有一个对象窗口A,用于识别该对象的属性有2个,一个属性是text,在库中记录的值是QQQQ.另一个属性是name,记录的值是MM在实际运行脚本时属性text的值是PPPP而不是QQQQ那么:Window(窗口A).GetToProperty(tex

47、t)返回的是:QQQQWindow(窗口A).GetRoProperty(text)返回的是:PPPPWindow(窗口A).GetToProperties(text)返回的是用于识别窗口A的两个属性和值的集合 动态Web对象识别对象、数组、String使用对象描述的方式来描述Web对象Set oDesc = Description.Create() oDesc(“micClass”)=“Link”oDesc(“text”)=“01-0001”Browser().Page().oDesc.Click与这种方法搭配使用的是ChildObjectsChildObjects方法Array与Strin

48、g的转换str=join(myArray)myArray=split(str,”,”)String的几个比较有用的方法Instr(SearchString, SearchChar) 创建对象库使用对象库的添加对象功能,把目标窗口上的所有对象都添加到对象库。方法同添加对象,把当前测试脚本所用到的所有对象添加到对象库方便编程调用。选择添加的目标:引用已存在的对象库在新建空白脚本状态下引用已存在的对象库,如果在当前项目中已经录制了部分脚本则不允许再引用已存在的对象库。引用已存在的对象库新建空白脚本使用功能:脚本执行脚本调试在某步骤处设置断点(F9),单步执行(F10)。脚本执行控制从当前步骤向下执行

49、,功能:TestRun From StepQTP脚本运行报告QTP脚本运行完毕后自动生成运行结果QTP脚本运行报告的内容,报告每一个操作步骤的运行结果、检查点所检查的内容是否正确等灵活的测试报告脚本运行的每个步骤都会生成运行结果在报告。1)步骤被成功执行,记录步骤的操作对象描述,输入输出数据等。2)步骤执行失败,记录执行失败的原因,如:被操作对象不能被识别,检查点失败等。3)工程师写入的报告内容。报告用户关心的信息当脚本执行到某个关键步骤时,则输出成功或者失败的报告,如:向被测应用提交数据完毕后,把提交的数据以及提交结果写入到报告。示例脚本:Reporter.ReportEvent micFail, Custom Step, The user-defined step failed. Reporter.ReportEvent micPass, Custom Step, The user-defined step Passed.114Q&A

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号