自动化测试和QTP工具培训资料-大开科技-V046343.pptx
《自动化测试和QTP工具培训资料-大开科技-V046343.pptx》由会员分享,可在线阅读,更多相关《自动化测试和QTP工具培训资料-大开科技-V046343.pptx(115页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、11自动化测试培训&QTP工具培训作者:大开测试日期:2016.12北京大开科技有限公司2目录构建自动化测试框架自动化测试介绍自动化测试流程QTP自动化测试工具3对自动化测试的理解定义:指以程序运行的方法替代人工测试,从而达到减少手工工作量,提高测试效率目的。理解:用机器或工具自动执行的测试,替代人完成重复性劳动,但不能完全取代人。自动化测试需要用到测试工具,测试工程师的参与。自动化测试技术可应用于所有的测试阶段。不仅仅是商业测试工具、开源测试工具、自行编制测试工具或测试脚本。只要能够部分代替手工测试提高执行效率。4对自动化测试的理解提高测试效率,降低测试成本重复性强的手工劳动用自动化替代快速
2、的回归测试,提高新版本发布的速度和质量避免人工测试容易犯的错误,如:错误测试,漏测试,多测试等。很容易就实现并发测试,加快进展需要规范的测试管理不能创造性发现测试脚本没有设计的缺陷需要自动化测试开发工程师对测试环境要求比较严格在资源投入和产出方面进行权衡自动测试脚本的修改、维护工作量大为评估软件质量提供数据支持,完整的测试是评定软件质量的一种方法5树立对自动化的正确认识适用性培训维护运用自动化测试优缺点提高测试效率,降低测试成本测试人员更注重测试结果分析提高新版本发布的速度和质量避免人工重复测试易犯的错误可以实现多机自动化并行测试优点不能创造性发现缺陷需要规范化的管理对人员有编程要求对测试环境
3、要求高变化带来的脚本维护缺点6自动化测试目标v 只适用于功能测试阶段,因为一般会:给定预算,进度,资源 给定平均或期望的测试运行次数 根据业务流程的不同(复杂度和风险)最大化自动化率(只能达到有限值)初级阶段目标v 可以适用于回归测试:自动化率可以逐步提高增加自动化测试的次数减少测试运行时的缺陷高级阶段目标通过灵活的合理的自动化测试目标最大化时间和资源的利用率和价值7为什么需要自动化测试维护周期长、兼容性高、多语言多版本的系统无人值守运用,充分利用时间,缩短发布周期有利于测试资产的积累、存储和移交、管理第三方自动化测试工具有利于自动化测试的效率组织发展、技术更新8为什么需要自动化测试n 大多数
4、项目处于维护阶段,程序界面变动较少n 大量局部需求变更、增加新业务、bug修复测试任务n 在某些业务功能测试中经常要反复编造业务数据n 冒烟测试、兼容性测试、版本验证、波及影响测试等需投入大量工作量n 复杂的公式计算和统计计算等占用手工测试人员较多的时间,且容易出错n 手工测试用例不容易形成资产积累9自动化测试是软件测试发展的方向业务改进 软件下发研发过程变更管理测试管理源代码管理系统升级配置管理软件研发10自动化测试自动化测试版本管理 单元测试 每日构建 集成测试 系统测试11自动测试技术的发展 第一代自动测试技术 实现:录入回放 第二代自动测试技术实现:脚本技术,可以加入脚本实现逻辑 第三
5、代自动测试技术 实现:数据驱动,数据与测试脚本分离 第四代自动测试技术 实现:关键字驱动、构件化测试,业务驱动12数据驱动驱动 数据驱动主要优点是:1、测试脚本与测试数据的分离;2、执行测试用例的人员关注测试数据表与测试报告表;3、测试脚本的执行离散的。13关键字驱动技术关键字驱动关键字驱动的自动化测试框架是在数据驱动的基础上进行改进,数据源里包含的不只是数据,还有关键字,一个测试用例由一个或若干个关键字组成。每个关键字对应个不同的业务逻辑。关键字主要包括三类:被操作对象(Item)、操作(Operation)和值(value),用面向对象形式可表现为Item.Operation(Value)
6、将测试逻辑按照关键字进行分解,形成数据文件,测试工具解释关键字运行 1214自动化测试适用范围自动化测试的适用范围包括两点:1.减少操作的重复性:自动化测试工具的使用可以辅助人们完成一些重复性较高的操作,如完成N条不同内容投保单的录入,在这里自动化测试具有快速、准确的输入、节约时间的特点;2.回归测试:在系统测试阶段开发针对某一具体功能的自动化测试脚本(如一条记录的新增操作),在回归测试阶段通过执行该脚本来保证该功能没有被新功能的增加、其它bug的修复而破坏。例如:1.每轮测试都需要执行的基础测试,如需要对保全功能做测试时,可通过自动化测试工具完成一个保单流程的录入;2.数据驱动的用例,如需要
7、输入很多组数据,每组数据对应不同的预期结果,如一条投保单的录入在保存时需要做很多个校验及检查,可为每个需要检查的逻辑判断做一组数据,在保存时检查校验条件是否都正常工作;15自动化测试的成本考虑评估购买或开发测试工具 每年的维护费用或升级成本 学习工具和培训时间 测试自动化上特定的资源投入与开发自动化测试工具所有相关的抽风 维护脚本的成本 存储脚本的硬件资源花费16自动化测试建设常见错误1、缺乏好的自动化测试计划和设计过程2、错误的选择了自动化测试工具3、错误的自动化框架设计4、在设计中缺乏好的设计管理5、缺乏自动化过程和工具培训17相关术语Test Requirement(测试需求):是关于某
8、具体测试目标的声明以及确认测试是否通过所要达到的标准。Test Plan(测试计划):包括项目中的测试目标和目的的信息。此外,测试计划还明确了测试实现的策略和所需要的资源。Test Strategy(测试策略):描述了测试获得的通用目标和方法。Test Case(测试用例):是一套为特定目标开发的测试输入、执行条件和预期结果,例如执行一跳特殊程序路径或者在特定要去下验证一致性。Test Data(测试数据):在测试中所用到的实际数值或执行测试所必须的 数值。测试数据是测试条件(作为输入或预存在的数据)的具体例化,用于验证已成功实现的特定要求(通过将实际结构与期望结果比较)。Test Input
9、s(测试输入):是工作过程的产物,用于标志和定义发生在测试期间的动作。这些产物可能是从测试组之外的软件开发过程中产生的,例如功能需求规格说明和设计规格说明。它们也可能是从前期测试阶段产生的并被留给了后续的测试活动。18相关术语Test scrpt(测试脚本):这是计算机可读懂的能令测试程序(或一部分测试程序)自动执行的指令。测试脚本可以由人创建(复制)或者由自动测试工具产生,它使用编程语言限制,或者由记录、生成和编程混合创建。Test Results(测试结果):执行测试所捕获的数据,并被用于计算测试的不同关键测度。Performance Testing(性能测试):通过这类测试的实现和执行可
10、以对索要测试的应用程序与性能相关的特征作出描绘和评估。这些测试包括时间调度情况、执行流畅、响应时间以及操作可靠性和限制。DataDriven Testing(数据驱动测试):这是一种测试脚本的功能及执行由外部数据所引导的自动测试方法。这种方法将测试及控制数据与测试脚本本身分离开了。Test Condition(测试条件):测试所涉及的各种环境因素。19目录构建自动化测试框架自动化测试流程自动化测试介绍自动化测试工具QTP20正确选择适合的自动化测试通常适合自动化测试的用例有:v 产品型项目产品型的项目,新版本是在旧版本的基础上进行改进,功能变不大的项目,但项目的新老功能都必须重复的测试。v 回
11、归测试回归测试是自动化测试的强项,它能够很好的验证你是否引入了新的缺陷,老的缺陷是否修改过来了。在某种程度上可以把自动化测试工具叫做回归测试工具。v 机械并频繁的测试每次需要输入相同、大量的一些数据,并且在一个项目中运行的周期比较长。有一些交互性比较强,需要人工干预的操作,就不要指望通过自动化测试来完成了。例如,用户使用U-Key登录。21自动化测试实施条件 具有良好定义的测试策略和测试计划(知道要测试什么、知道什么时候测试)能够确保多个测试运行的构建策略 多平台环境需要被测试 拥有运行自动化测试的硬件 拥有关注在自动化测试进程上的资源22自动化测试规划设计框架资源计划好投入的工具设备和人员等
12、不同的测试框架实施方式不同与研发类似测试实施之前做一份切实可行的规划是自动化能够得以实施的基础23自动化测试实施规划阶段一:完成对结算和信贷主要业务的流程覆盖阶段二:完成对业务的校验和约束阶段三:应用到更多的业务中去,规模扩大开发自动化测试框架,降低对测试工具的依赖 使用动作词的自动化测试第一层次第二层次第三层次层次阶段测试自动化程度24自动化测试工作任务的优先级自动化ROI度量 测试范围 由风险驱动测试(例如:高风险的项先被测试)自动化的优先顺序:对于能尽快(最少运行次数)达到投资回报平衡点 高风险的测试案例优先 低复杂度的测试案例优先优先级策略#需要自动测试执行的次数 复杂度风险High
13、Medium LowHigh 5.0 5.9 5.5Medium 6.6 7.3 8.1Low 5.0 7.3 8.113 42#优先级顺序58 69 725ROI分析26基于风险和复杂度评估达到测试目标的最佳性价比测试自动化基本实践方法风险过程根据特定测试风险等级来选择合适的测试过程.通过以测试过程的最优组合和资源、进度、风险的约束来多次运行自动化测试次数,来达到最小化工作量的目标方法过程高风险中风险低风险高复杂度中复杂度低复杂度27自动化测试流程描述ID 活动描述 责任角色 参与角色 成果物01 自动化测试计划 自动化测试计划02 自动化测试准备 生成自动化脚本03 自动化测试执行 自动化
14、测试报告 在测试计划设计阶段,设计者应尽可能考虑到系统的自身的业务和功能特点,将某些业务流和功能点确定为自动化测试;而在设计测试用例时必须对这部分的测试用例描述细化;自动化测试的操作过程大体分为5步:制定自动化测试计划、编写自动化测试用例、开发调试自动化测试脚本、执行自动化测试、测试脚本的维护。关于自动化测试工具的具体使用方法请参考自动化测试工具之QTP使用方法。28制订自动化测试计划 制定测试计划的目的是确定和描述要实施的执行的测试。这是通过生成包含测试需求和测试策略的测试计划来完成的。可以制定一个单独的测试计划,用于描述所要实施和执行的不同测试类型,也可以为每种测试类型制定一个测试计划。换
15、句话说制定自动化测试计划是个分析、筛选的过程,即通过对被测系统业务流程的分析,整理出哪些模块适合做自动化测试,哪些功能点的验证可以进行脚本的合并。29测试自动化实现中的功能分解 业务功能分解的原则和方法:清晰画出业务流程图 根据业务流程分解业务功能,可以被复用的功能也要被分解出来。按照路径覆盖的思想,组织测试用例30编写自动化测试用例 根据手工测试用例编写完善相应的自动化测试用例,其中包括测试的版本、功能点描述、驱动数据、详细操作流程、明确的预期结果。v 测试用例粒度测试用例的粒度决定了用例模型级的复杂度,也决定了每一个用例内部的复杂度。应该根据每个系统的具体情况来把握各个层次的复杂度,在尽可
16、能保证整个用例模型的易理解性前提下决定用例的大小和数目。用例不能太大,这样一旦出执行测试用例出错,不利于定位问题;但也不能太细化,太小则不方便执行。v 测试用例与测试套件一个大型的项目有许功能模块,必然会产生大量的测试用例,怎样才能有效的管理这些测试用例呢?这就需要创建测试套件,通过测试套件将测试某一个模块或功能点的测试用例集合起来,方便运行与管理。例如,只验证“用户管理”模块功能,则只需要执行“用户管理”模块套件即可。31开发、调试自动化测试脚本 以业界常用的自动化测试工具为例,脚本的开发通常是通过录制完成的(需要注意的是在录制脚本之前设计好脚本,便于录制过程的流畅,提高脚本的修改效率),即
17、工具本身通过记录用户的操作过程及所输入的数据生成一个由VB语言编写的可执行脚本,测试工程师对脚本进行相应的修改即可。修改增强脚本主要包括一下几点:1.删除录制过程中多余和错误的代码;2.对输入输出值进行适当的参数化;3.对于不能通过录制产生的代码进行手工编写;4.录制所产生的脚本是线性的,适当加入条件、控制 语句,实现更为复杂的流程;5.设置文本、图片、及数据库检查点;6.适当加入注释、便于阅读和维护;32执行自动化测试 执行自动化测试是通过使用工具来替代手工操作的过程,脚本回放的过程中是模拟用户的实际操作来执行的,此时需要注意的是,测试环境要保持干净。33测试脚本的维护 随着工作的不断推进、
18、脚本量会逐渐增多,测试组需要对测试脚本进行维护,将有效的测试脚本上传至QC服务器服务器上,同其对应的测试用例放在一起进行维护。1.随着被测程序的更新,不断更新相应的测试脚本;2.对一些变更较为频繁的脚本,适当采用版本管理工具保存脚本、如SVN、VSS等以便可以随时获取历史版本;3.脚本采用统一的命名规范(如健康险_契约录入_、健康险_保全_客户资料变更等等);34自动化测试的评审 根据自动化测试结果编写自动化测试报告,组长组织自动化测试工作小组首先进行内部评审,内部通过后再提交到测试组进行自动化测试策略的外部评审,如果条件允许的情况下此时需要由项目组、自动化测试小组、质量控制组共同参加评审过程
19、。35目录自动化测试流程构建自动化测试框架自动化测试介绍自动化测试QTP36软件测试框架介绍什么是框架framework?测试框架是一组自动化测试的规范、测试脚本的基础代码,以及测试思想的集合。v 整个或部分系统的可重用设计,表现为一 组抽象构件以及构件实例间交互的方法;v 可被开发者定制的应用框架。测试框架出现的最终目的是花少量的资源来完成尽可能多的测试任务,所以测试框架的建立以及框架的重用性方面是最 值得测试人员深入探究的地方。v 减少冗余代码、提高代码生产率、提高代 码重用性和可维护性。提高开发速度,提升测试代码的执行效率;v 提高软件代码质量,同时引入重构概念,让代码更干净和富有弹性;
20、v 提升系统的可信赖度,作为回归测试的一种 实现方法支持修复后“再测试”,确保代码的正确性。37自动化回归测试框架特点业务测试构件执行监控测试数据管理异常恢复缺陷报告自动提交缺陷报告灵活的自动测试过程异常中止恢复机制实现业务测试构件,快速完成业务流自动测试监控测试运行状态被测系统数据管理机制(数据与脚本分离与脚本分离,备份和恢复)383838好的自动化测试框架的特点构件化的脚本技术;可复用的脚本或公共函数的应用,降低自动测试代码总量;被测系统的界面或功能变化,不需要修改大量的自动测试代码业务的测试流往往由业务人员来设计,根据业务需求的变化,不断改变业务的测试流。如果自动回归测试系统不能够适应业
21、务流的变化,那么改动的工作量将是巨大的如果测试数据与自动测试脚本结合紧密,那么,一旦修改测试案例的数据,就必须由专业的自动测试技术人员修改自动测试脚本,而且带来巨大的工作量可维护性业务驱动测试数据管理绝大部分失败案例,都是由于维护工作量太大,从而将辛苦建设起来的自动回归测试系统抛弃39基础案例库建设-平台搭建40自动化测试过程框架业务分析 案例设计 脚本生成 实施执行业务分析人员 测试人员技术人员/测试人员测试人员业务流程分析确定测试点确定测试场景测试需求UI流分析数据准备测试案例数据模型数据采集工具业务分析与评估方法编写脚本装配流程 测试目标及策略测试脚本执行测试缺陷跟踪测试报告共享对象库共
22、享脚本自动化框架测试工具测试管理工具1、从现有的移植案例中选一定范围的测试需求,作为研发阶段任务范围;2、由自动化测试架构师为主组织研发小组,小组组成员包括:测试设计人员、脚本开发人员、数据管理人员,其中,测试设计人员由手工功能测试组成员兼任;3、在确定的测试需求范围内建立起自动化测试的共享对象库、共享脚本库、测试数据模型、测试数据抽取SQL脚本库1、培训各测试项目组成员;2、在实际测试过程中进行自动化测试的实施,进行效果的评估,并总结改进方案;3、研发小组完善、扩展自动化测试成果资产;研发阶段 实施与完善阶段41测试需求 定义场景 定义场景的流程 定义预期结果及检查点 定义测试数据的要求42
23、测试数据测试数据测试数据管理系统基础数据新建业务数据抽取业务数据页面控制数据业务数据模型保单保险人保全信息理赔信息投保信息Ui参数模型UiUi数据对象Ui数据规则UI编码业务数据对象.数据要素缺省值是否参数化险种信息测试数据投保人数据特征:(正常保单失效保单)保单号=“”保单状态=“”43自动化测试脚本的生成过程执行测试脚本研发共享对象库编写脚本 共享脚本库测试案例(ui流程、测试数据)案例生成测试案例(ui流程、测试数据)流程装配测试数据配置案例库44基于功能分解的自动化测试框架45基于功能分解的自动化测试框架46基于功能分解的自动化测试框架优缺点 优点1.较为模块化(modular)的设计
24、,避免重复的脚本,减少建立或维护脚本的成本。2.在应用软件开发的同时,就可以同步进行脚本建立的动作,而且当应用软件功能变动时,只需要修改业务功能脚本。3.由于应用软件的功能已经被分解成独立的业务功能脚本,测试人员可以随意组合业务功能脚本成为更复杂多样的测试个案。4.测试输入数据与验证数据与脚本分开,储存在另外的档案,如纯文字文件或 Excel 文件,测试人员可以更容易修改与维护。5.透过判断 Action 回传值是 TRUE 或 FALSE,可以作错误处理,让脚本更有弹性。缺点1.在编写业务功能脚本时,需要精通测试工具脚本语言的工程师。2.个Action都会有自己的输入输出参数,需要用文档统一
25、维护,控制变更。3.测试人员除了要维护测试计划之外,还要另外维护数据文件。4.对测试工具以及脚本语言来说,使用数据文件可能也要注意数据文件的格式。47自动化测试解决方案48QTP和QC自动化测试框架技术实现 缺陷测试实验室测试计划/用例测试需求49QC中测试需求的组织50从测试需求到测试用例51自动化脚本组织主控输入 调度和控制 测试数据脚本 运行结果输出任何一个自动化测试框架都要设计这三部分52测试用例脚本公共类库模块特定类库在模块内部将可以为该模块共享使用的方法抽象出来,作为一个公共类。它可以是一个单的逻辑操作,也比较独立。比如客户端登录操作、控制台登录操作、控制台更新操作等。公共类库包括
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自动化 测试 QTP 工具 培训资料 科技 V046343
限制150内