已阅读5页,还剩62页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
自动化测试 理解与实践 概念与历史发展 测试的基本概念自动化测试的基本概念自动化测试的历史发展 Warmingup 统一名词系统什么是测试 有哪些测试阶段和测试类型 在IEEE提出的软件工程标准术语中 软件测试被定义为 使用人工和自动手段来运行或测试某个系统的过程 其目的在于检验它是否满足规定的需求或弄清楚预期结果与实际结果之间的差别 软件测试是与软件质量密切联系在一起的 归根结底 软件测试是为了保证软件质量 测试技术之测试类型 测试技术之测试阶段 测试级别 测试技术之测试活动 测试技术之测试活动 测试技术之测试用例设计技术 测试技术之单元测试覆盖要求 测试技术之集成测试策略 测试实施 测试工具 测试相关知识 开发与测试模型 V模型 W模型 什么是单元测试单元测试的主要关注点 单元测试 是为了保证各程序单元的功能和逻辑的正确性而进行的最小粒度的测试 测试对象是可测试的最小程序 代码 集合在不同的被测软件系统中 存在多种单元的划分准则单元的划分以适合于代码级的测试为判断出发点 软件单元代码中的覆盖率 语句覆盖 分支覆盖 局部数据结构边界条件差错处理软件单元的功能 性能 接口 什么是集成测试集成测试的主要关注点 集成测试 集成测试 也叫组装测试或联合测试 在单元测试的基础上 对将单元 模块按照设计要求 如根据结构图 组装成为子系统或系统的过程和结果进行测试 以 软件概要设计说明书 为依据 检验软件单元之间 软件单元和已集成的软件系统之间的接口关系 并验证已集成软件系统是否符合设计要求 软件单元之间的各种接口 调用 指令 报文 数据文件 共享内存等 全局数据结构单元之间的依赖关系集成后对象的功能 系统测试 什么是系统测试系统测试的主要关注点 系统测试是将已经确认的软件 计算机硬件 外设 网络等其他元素结合在一起 进行信息系统的各种组装测试和确认测试 其目的是通过与系统的需求相比较 发现所开发的系统与用户需求不符或矛盾的地方 从而提出更加完善的方案 主要目的是验证系统的完整性及正确性完整性指系统无功能和模块的丢失 系统整体功能可用正确性指系统与需求相符合 自动化测试在哪里 被测对象是谁如何操作被测对象 如何将被测对象隔离出来 自动化测试概念和深入理解 1 GUI自动化回归测试和商用工具 2 金融领域自动化回归测试 3 4 面向金融领域的自动化测试框架 自动化测试概念 测试设定输入和预期输出 在被测系统上给定输入 得到实际输出 检查测试实际输出与预期输出之间是否一致 传统上测试是测试人员手工进行的 自动化测试使用工具代替人工来操作被测系统 并检查输出的过程 自动化测试的要点是 减少人工操作 提高测试效率 自动化测试概念的澄清 自动化测试等于QTP吗 提到自动化测试 人们往往马上联想到使用QTP等自动化测试工具 其实这只是自动化测试中的一部分 自动化测试可以在不同的层级上进行 包括单元测试 集成测试 系统测试和验收测试 在系统回归测试中能自动进行测试分析吗 测试有多项活动 包括计划制订 测试分析和设计 用例集构建 测试执行 结果收集和测试报告 由于分析和设计等工作需要较多智能活动 且基础材料的非标准化 自动化测试分析不太可行 自动化主要用于回归测试的执行 自动化测试很简单吗 几个经常被忽略的问题 用例执行时 测试工作是机械动作 还是需要思考的行为 测试用例数量大吗 测试用例之间有关联性吗 测试环境容易配置吗 测试数据容易准备吗 自动化测试不简单 基本前提 自动化 测试要求 相同的输入得到相同的输出 出于测试全面性的考虑 对于所有被测功能 建立测试用例 从而形成测试用例集 并以备后续回归测试使用这本身是一件花费很大的工作 还有一个隐含前提 即被测系统要保持在同样的状态 因而 只有能方便地保持和恢复系统状态 回归测试用例集才是用价值的 NOTE 保持系统状态 单位越小越容易 单元测试这方面最容易 系统级测试并不容易 所有的项目都适合自动化测试吗 在银行中两类常见的项目类型 新建项目和维护型项目新建项目的测试 被测系统是全新的系统测试资产需要全新开发 测试分析 设计和开发测试过程需要磨合维护项目的测试 在原有系统上进行更新维护有测试资产测试已实施过 自动化测试适用于维护型项目回归测试 回归测试 用同样的测试用例集合对不同 或稍有变更 的被测系统重新进行测试 在一个软件系统的服务期间 会不断有各类变更 每次变更都需要进行测试和验证 具体说 一方面要测试验证新的变更实现了预期目的 另一方面要检查变更未对其它功能产生不良影响 由于每次回归测试中都需要执行大量相同的用例 工作量大且重复性工作多 因此 更适合在维护型项目的回归测试中使用自动化测试方法 NOTE 自动化测试适用于维护型项目的回归测试 所有的系统类型都适合做自动化测试吗 有哪些类型的系统交易处理型系统 人工操作 业务管理型系统 人工操作 数据分析型系统视系统输入 输出情况 部分系统是以人工操作和输入数据为主 输出数据为操作人员服务 部分系统由其它系统或工具程序操作和输入数据 当然 以上分类并不绝对 基于人机交互的交易处理型系统和业务管理型系统适合于自动化测试 自动化测试需要注意的问题 自动化测试资产的准备 案例编写 脚本开发和维护 自动化测试环境和数据的准备 工作量很大 各个公司的解决方案大多在解决这个问题 在自动化测试案例 或脚本 达到一定的量级时 如何安排 调度和执行测试自动化是有较高难度的 自动化测试结果的比对 检查和分析是有较高难度 自动化测试工具如何与被测系统更好地匹配和结合 要关注自动化测试的ROI 避免为了自动化而自动化 片面强调覆盖和灵活性 自动化测试的现状 从技术层面上讲 单元测试是应用得最好的自动化测试 性能测试是必然的自动化测试 基于GUI的自动化回归 系统 测试 大家都在做 但投入较大 且实用性和可维护性问题突出 GUI自动化测试必须依靠工具并将工具与被测系统匹配好 但仅有工具是不够的 我们的经验 已成功实施的项目中国外汇交易中心自动化测试上海银行自动化测试我们的团队成员还曾经是交通银行 华夏银行等自动化测试项目的发起者和骨干 主题 自动化测试概念和深入理解 1 GUI自动化回归测试和商用工具 2 金融领域自动化回归测试 3 4 面向金融领域的自动化测试框架 我们讨论的自动化测试类型 这里我们主要讨论基于GUI界面的自动化测试对于单元测试和基于接口的自动化测试 我们会在其它的材料中进行详细讨论 如果您有需求 请向我们提出 UI自动化测试的进展 文本的 捕获 回放 TextCapture Playback Mainframe 缺点 动态内容处理 时间同步 维护文本的 捕获 回放 脚本化 TextCapture Playback Script PC 缺点 需要程序开发技能 ProgrammerGUI界面 捕获 回放 脚本化 WindowsandC S 缺点 关注对于非标准控件和行为的处理对于脚本重用 维护等软件工程的要求引发了测试框架 Framework 的需求从专有框架到商用框架 Web 缺点 仍严重依赖对象控制 applicationmap GUImap objectrepository GUI自动化测试的技术基础 对象识别与控制技术如何对被测系统进行操作和控制 并进行信息收集 细述下来就是界面对象或控件的识别和控制技术 这是当前主流商用自动化测试工具如QTP RFT的关键技术之一 脚本化技术用什么方法来描述人工对系统的操作 细述下来就是基于特定脚本的录制 回放 参数化 编辑和维护技术 脚本化技术的进一步说明 GUI自动化测试中 测试工具将人工对被测系统的操作记录为脚本 支持重放这些脚本 即由测试工具按脚本的描述来驱动被测系统 从而通过工具实现与人工相同的系统操作 脚本中一般会以动作序列来进行描述 每一个动作中包括操作对象 动作和操作数据 GUI自动化测试中相对高层的技术是对数据进行参数化 从而使脚本在执行时可以动态配置测试数据 由于录制的代码一般可维护性不好 无用代码较多 也可直接编写测试脚本 GUI自动化测试的其它问题 测试数据驱动数据表易于编辑和维护数据参数化操作检查点操作简单支持多种检查点 对象 文本 位图等结果报告图形化易于浏览 经典工具的情况 QTP 通用工具试图能适用于各种UI技术 Emerging Common Classic WinRunner QuickTestProfessional 经典工具的情况 QTP2 提供关键字视图提高脚本的可读性 可维护性 Emerging Common Classic 38 脱离代码的测试构建和维护 突破性的ActiveScreen技术添加验证点添加测试步骤了解测试步骤上下文离线编辑 您单位自动化的要求是什么 原有手工案例能够重用 形成自动化案例 脚本 原有手工案例写到什么程度 手工案例间是否有关联 每一个手工案例执行是需要什么样的前置条件 被测系统变更后 自动化测试能快速实施 选择执行哪些测试案例 如何调度这些测试案例 测试环境如何准备 被测系统如何配置 测试数据如何准备 测试过程是否需要人工干预 测试结果如何检查 自动化工具能解决到什么程度 将手工测试用例执行过程录制下来 脚本化解决的问题 固定的动作可重复 出现的问题1 从细节层面现象 对象与操作的绑定 影响 对象变化 将引起脚本中与该对象相关的一系列变化 出现的问题2 从脚本的整体层面现象 重复的脚本 影响 某一个常用功能变更时 大量脚本需要维护 这些是软件工程问题 也是用软件工程的解决方法 1 对象与操作分离2 脚本模块化 自动化工具能解决到什么程度 将脚本中的数据独立出来 参数化解决的问题 同一操作序列可以使用不同的数据现象 开户时选择不同的证件类型 作用 脚本可重用 提高测试覆盖 出现的问题1 测试的业务数据可能与系统的背景数据相关现象 测试要使用有效的客户 帐户影响 测试集依赖基础数据集出现的问题2 不同脚本间的数据可能有关联现象 前一个脚本的输出要用做后一个脚本的输入 影响 业务要连续 自动化工具能解决到什么程度 测试人员对脚本技术不熟悉录制下来的脚本 看不懂 也很难编辑手工直接编写脚本 对人员技术要求高工具对此无能为力 但需要使用脚本开发技术使自动化测试更健壮 自动化工具能解决到什么程度 回到最核心的内容 测试什么 如何测试 如何检查 这些测试内容如何反映在测试脚本 集 上 不是工具的范围 而是测试分析和测试设计的问题 这个问题对于手工测试和自动化测试都是存在的 对于金融领域的系统 有自身的特点 有其适用的测试方法 我们对于商用工具的使用 以商用工具为基础 充分发挥工具的能力对象定义 描述性方式定义 简化对象编辑和维护封装对象操作 简化脚本编写 提高脚本的复用性脚本自动生成 将对象 操作 数据以解释执行的方式完成脚本处理业务数据传递 业务流程的方式完成交易间业务数据的传递和沿用以业务和功能分析为出发点 建立测试集 主题 自动化测试概念和深入理解 1 GUI自动化回归测试和商用工具 2 金融领域自动化回归测试 3 4 面向金融领域的自动化测试框架 金融领域应用系统的特点 金融产品大量的产品每个产品可能存在着多种生命周期 业务流程 需要进行业务流程梳理交易服务交易要素多要素间存在着关联和控制关系系统的状态复杂系统参数和用户管理时间参数 以实例的方式分析金融应用系统的测试 商业银行核心交易系统商业银行国际结算系统外汇交易中心本币交易系统 实例一核心交易系统 核心系统功能机构和柜员管理公共参数管理客户 帐户管理存 贷 支付结算为基础的大量金融产品和服务与大量外围系统有交互联机交易和批处理由于金融产品和服务的快速创新 如何能覆盖这些产品的测试是交易系统测试的重点 案例一核心交易系统分析 产品 生命周期存款 开户 存款 支取 销户 还可穿插其它特殊操作贷款 开户 放款 归还 销户 还可穿插其它特殊操作支付结算 行内 跨行等不同的情况联机交易 批处理按会计时间进行的计息 结算 扣款 计费 形态转移等产品生命周期的构成联机交易与批处理的 有意义 的串联 实例一核心交易系统测试 交易的测试IPO 系统对特定的输入要素集合进行处理 给出输出要素集合 并做相应的记录 是在检查系统对于每一个特定的处理是否正确 生命周期 业务流程 的测试产品从始到终的测试 是在检查系统对于产品规则的处理 如计 结息 状态控制等 是否正确 是对产品完整的检查 独立交易测试的难点有合适的数据 例如 要测 销户 交易 必须是要操作一个已开的合适的帐户 实例一某银行核心系统 产品 200 交易 800 梳理的业务流程 3000 实例一测试策略 固定背景数据 固定会计日期 固定机构和柜员设置快速实施 快速见效在实施的同时 积累经验 不断加强资产可维护性 实例二国际结算系统 主体功能核心业务功能进口 出口 汇款 贸易融资 国内证 保理公共控制及公共业务功能查询统计系统架构B S基于流程性的审批处理模式关联业务的连贯性 实例二国结业务流程分析 信用证开证 即期 远期 信用证来单 不同付款类型 来单付款 进口押汇 融资 进口押汇 还款 进口押汇 逾期 进口押汇 展期 来单拒付 单一业务流程 实例二国结自动化测试覆盖范围 实例三银行同业市场本币交易系统 系统划分交易前台 交易中后台 场务交易市场现券买卖 债券借贷 债券远期 质押式回购 买断式回购 利率互换 远期利率协议 同业拆借 票据市场 CRM凭证 贷款转让系统特点强大交易功能 询价交易 点击成交灵活的用户及限额管理做市商支持 实例三银行同业市场本币系统自动化测试 交易市场现券买卖系统架构 NET3 5 4 0处理模式 即时报价 即时成交业务联动 前台 中后台 场务计算校验 净价和收益率 自动化测试实施流程 主题 自动化测试概念和深入理解 1 GUI自动化回归测试和商用工具 2 金融领域自动化回归测试 3 4 面向金融领域的自动化测试框架 自动化测试面临的问题 测试案例手工案例自动化案例案例与数据的关系测试数据要求基础数据 帐号业务关联数据 余额为100元的对私帐号案例数据 币种 金额数据准备模式备份恢复业务联动 对象管理脚本处理录制回放及结构化数据驱动关键字驱动业务流程驱动后续维护功能变更 脚本维护 案例及数据维护流程变更 业务流程组织模式 自动化测试框架关键技术 1 对象管理脱离QTP的tsr对象
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 购买钢筋材料合同范本
- 区域性社区老年心理关怀服务项目实施方案高级指导师版
- 东方集团战略协议书
- 交钱不退的合同范本
- 入资退股协议书范本
- 中职电子商务专业实训教学设计方案
- 2025年农村信用社招聘(计算机)真题试卷5(题后含答案及解析)
- 新生儿护理消毒标准及操作流程规范
- 奶茶店员工岗位职责及操作规范
- 家用除湿机维护与保养服务创新创业项目商业计划书
- 2025美国心脏协会心肺复苏(CPR)与心血管急救(ECC)指南解读课件
- 韶山研学课件
- 新版2026统编版小学道德与法治三年级上册 第4课《 科技力量大》第1课时 科技改变生活和科技改变观念 教学课件
- 六年级数学上册第一单元测试卷及答案
- 国开电大《当代中国政治制度》形考任务1-4答案
- 深圳市龙岗区2023年九年级上学期《数学》期中试题与参考答案
- 子儿吐吐【经典绘本】
- (3.10)-心悸急诊医学急诊医学
- GB/T 16674.1-2016六角法兰面螺栓小系列
- 保险代理人资格考试要点
- 气排球临场裁判及配合
评论
0/150
提交评论