自动化测试理解与实践课件

上传人:沈*** 文档编号:230970047 上传时间:2023-08-29 格式:PPTX 页数:66 大小:1.29MB
收藏 版权申诉 举报 下载
自动化测试理解与实践课件_第1页
第1页 / 共66页
自动化测试理解与实践课件_第2页
第2页 / 共66页
自动化测试理解与实践课件_第3页
第3页 / 共66页
资源描述:

《自动化测试理解与实践课件》由会员分享,可在线阅读,更多相关《自动化测试理解与实践课件(66页珍藏版)》请在装配图网上搜索。

1、1自动化测试自动化测试-理解与实践理解与实践2概念与历史发展测试的基本概念自动化测试的基本概念自动化测试的历史发展23Warming up 统一名词系统什么是测试?有哪些测试阶段和测试类型4在IEEE提出的软件工程标准术语中,软件测试被定义为:“使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清楚预期结果与实际结果之间的差别。”软件测试是与软件质量密切联系在一起的,归根结底,软件测试是为了保证软件质量。5测试技术之测试类型测试类型静态测试动态测试白盒测试黑盒测试灰盒测试功能测试非功能测试性能测试可靠性测试安全性测试易用性测试移植性测试6测试技术之测试阶段(测

2、试级别)测试阶段单元测试用户验收测试集成测试系统集成测试系统测试冒烟测试7测试技术之测试活动测试活动测试需求分析测试报告测试执行测试设计8测试技术之测试活动测试活动测试需求分析测试报告测试执行测试设计9测试技术之测试用例设计技术测试用例设计技术等价类方法场景法错误猜测法边界值方法因果分析方法10测试技术之单元测试覆盖要求单元测试覆盖要求语句覆盖路径覆盖判定覆盖条件覆盖11测试技术之集成测试策略集成测试策略非增量集成(大爆炸集成)增量集成基于模块层次集成基于业务路径集成自上而下集成三明治集成自下而上集成12测试实施测试活动测试需求分析测试报告测试执行测试设计测试评审测试计划、测试项目进度和质量跟

3、踪测试需求分析测试用例设计测试环境准备测试数据准备被测软件安装测试缺陷跟踪测试分析总结测试实施13测试工具测试工具测试管理工具测试技术工具测试执行工具测试辅助工具性能测试工具自动化GUI测试工具性能监控分析工具代码分析工具测试框架14测试相关知识测试相关知识质量管理银行业务领域知识软件过程软件设计和开发知识软件质量标准CMMITMMIISO9000PMBOK6Sigma需求分析架构设计程序开发计算机网络和通信IT系统配置和管理银行基础业务银行业务操作银行业务管理银行风险管理15 “开开发发与与测测试试模模型型”V V模模型型&W W模模型型16l什么是单元测试l单元测试的主要关注点单元单元测试

4、16是为了保证各程序单元的功能和逻辑的正确性而进行的最小粒度的测试。测试对象是可测试的最小程序(代码)集合在不同的被测软件系统中,存在多种单元的划分准则单元的划分以适合于代码级的测试为判断出发点软件单元代码代码中的覆盖率(语句覆盖、分支覆盖)局部数据结构边界条件差错处理软件单元的功能、性能、接口17l什么是集成测试l集成测试的主要关注点集成集成测试17集成测试,也叫组装测试或联合测试。在单元测试的基础上,对将单元/模块按照设计要求(如根据结构图)组装成为子系统或系统的过程和结果进行测试。以软件概要设计说明书为依据,检验软件单元之间、软件单元和已集成的软件系统之间的接口关系,并验证已集成软件系统

5、是否符合设计要求。软件单元之间的各种接口(调用、指令、报文、数据文件、共享内存等)全局数据结构单元之间的依赖关系集成后对象的功能18系统系统测试l什么是系统测试l系统测试的主要关注点系统测试是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方,从而提出更加完善的方案。主要目的是验证系统的完整性及正确性主要目的是验证系统的完整性及正确性完整性指系统无功能和模块的丢失,系统整体功能可用正确性指系统与需求相符合19自动化测试在哪里被测对象是谁如何操作被测对象?如何将被测对象隔离

6、出来?192020自动化测试概念和深入理解自动化测试概念和深入理解1 1GUIGUI自动化回归测试和商用工具自动化回归测试和商用工具2 2金融领域自动化回归测试金融领域自动化回归测试3 34 4面向金融领域的自动化测试框架面向金融领域的自动化测试框架21自动化测试概念n测试设定输入和预期输出,在被测系统上给定输入,得到实际输出,检查测试实际输出与预期输出之间是否一致。传统上测试是测试人员手工进行的。n自动化测试使用工具代替人工来操作被测系统,并检查输出的过程。自动化测试的要点是“减少人工操作,提高测试效率”。2122自动化测试概念的澄清自动化测试等于QTP吗?提到自动化测试,人们往往马上联想到

7、使用QTP等自动化测试工具,其实这只是自动化测试中的一部分。自动化测试可以在不同的层级上进行,包括单元测试、集成测试、系统测试和验收测试。在系统回归测试中能自动进行测试分析吗?测试有多项活动,包括计划制订、测试分析和设计、用例集构建、测试执行、结果收集和测试报告。由于分析和设计等工作需要较多智能活动,且基础材料的非标准化,自动化测试分析不太可行。自动化主要用于回归测试的执行2223自动化测试很简单吗?几个经常被忽略的问题:-用例执行时,测试工作是机械动作,还是需要思考的行为?-测试用例数量大吗?测试用例之间有关联性吗?-测试环境容易配置吗?测试数据容易准备吗?2324自动化测试不简单!基本前提

8、:-(自动化)测试要求:相同的输入得到相同的输出。-出于测试全面性的考虑,对于所有被测功能,建立测试用例,从而形成测试用例集,并以备后续回归测试使用这本身是一件花费很大的工作。还有一个隐含前提:-即被测系统要保持在同样的状态。-因而,只有能方便地保持和恢复系统状态,回归测试用例集才是用价值的。NOTE:保持系统状态-单位越小越容易!单元测试这方面最容易,系统级测试并不容易!2425所有的项目都适合自动化测试吗?在银行中两类常见的项目类型:新建项目和维护型项目新建项目的测试:-被测系统是全新的系统-测试资产需要全新开发:测试分析、设计和开发-测试过程需要磨合维护项目的测试:-在原有系统上进行更新

9、维护-有测试资产-测试已实施过2526自动化测试适用于维护型项目回归测试回归测试:用同样的测试用例集合对不同(或稍有变更)的被测系统重新进行测试。在一个软件系统的服务期间,会不断有各类变更,每次变更都需要进行测试和验证。具体说,一方面要测试验证新的变更实现了预期目的,另一方面要检查变更未对其它功能产生不良影响。由于每次回归测试中都需要执行大量相同的用例,工作量大且重复性工作多。因此,更适合在在维护型项目的维护型项目的回归测试中使用自动化测回归测试中使用自动化测试方法试方法。NOTE:自动化测试适用于维护型项目的回归测试!2627所有的系统类型都适合做自动化测试吗?有哪些类型的系统-交易处理型系

10、统(人工操作)-业务管理型系统(人工操作)-数据分析型系统视系统输入、输出情况,部分系统是以人工操作和输入数据为主,输出数据为操作人员服务,部分系统由其它系统或工具程序操作和输入数据。当然,以上分类并不绝对。基于人机交互的交易处理型系统和业务管理型系统适合于自动化测试。2728自动化测试需要注意的问题自动化测试资产的准备(案例编写、脚本开发和维护、自动化测试环境和数据的准备)工作量很大。各个公司的解决方案大多在解决这个问题;在自动化测试案例(或脚本)达到一定的量级时,如何安排、调度和执行测试自动化是有较高难度的;自动化测试结果的比对、检查和分析是有较高难度;自动化测试工具如何与被测系统更好地匹

11、配和结合;要关注自动化测试的要关注自动化测试的ROI,避免为了自动化而自动化,片面强调覆避免为了自动化而自动化,片面强调覆盖和灵活性。盖和灵活性。2829自动化测试的现状从技术层面上讲,单元测试是应用得最好的自动化测试,性能测试是必然的自动化测试;基于GUI的自动化回归(系统)测试,大家都在做,但投入较大、且实用性和可维护性问题突出;GUI自动化测试必须依靠工具并将工具与被测系统匹配好,但仅有工具是不够的!2930我们的经验已成功实施的项目-中国外汇交易中心自动化测试-上海银行自动化测试我们的团队成员还曾经是交通银行、华夏银行等自动化测试项目的发起者和骨干3031主题31自动化测试概念和深入理

12、解自动化测试概念和深入理解1 1GUIGUI自动化回归测试和商用工具自动化回归测试和商用工具2 2金融领域自动化回归测试金融领域自动化回归测试3 34 4面向金融领域的自动化测试框架面向金融领域的自动化测试框架32我们讨论的自动化测试类型这里我们主要讨论基于GUI界面的自动化测试对于单元测试和基于接口的自动化测试,我们会在其它的材料中进行详细讨论,如果您有需求,请向我们提出!3233UI 自动化测试的进展文本的“捕获/回放”TextCapture/Playback(Mainframe)-缺点:动态内容处理、时间同步、维护文本的“捕获/回放/脚本化”TextCapture/Playback/Sc

13、ript(PC)-缺点:需要程序开发技能,ProgrammerGUI界面“捕获/回放/脚本化”(WindowsandC/S)-缺点:关注对于非标准控件和行为的处理-对于脚本重用、维护等软件工程的要求引发了测试框架(Framework)的需求从专有框架到商用框架(Web)-缺点:仍严重依赖对象控制-applicationmap,GUImap,objectrepository34GUI自动化测试的技术基础对象识别与控制技术如何对被测系统进行操作和控制,并进行信息收集,细述下来就是界面对象或控件的识别和控制技术。这是当前主流商用自动化测试工具如QTP、RFT的关键技术之一。脚本化技术用什么方法来描述

14、人工对系统的操作,细述下来就是基于特定脚本的录制、回放、参数化、编辑和维护技术。3435脚本化技术的进一步说明GUI自动化测试中,测试工具将人工对被测系统的操作记录为脚本,支持重放这些脚本,即由测试工具按脚本的描述来驱动被测系统,从而通过工具实现与人工相同的系统操作。脚本中一般会以动作序列来进行描述,每一个动作中包括操作对象、动作和操作数据,GUI自动化测试中相对高层的技术是对数据进行参数化,从而使脚本在执行时可以动态配置测试数据。由于录制的代码一般可维护性不好,无用代码较多,也可直接编写测试脚本。3536GUI自动化测试的其它问题测试数据驱动数据表易于编辑和维护数据参数化操作检查点操作简单支

15、持多种检查点-对象,文本,位图等结果报告图形化易于浏览3637经典工具的情况-QTP通用工具试图能适用于各种UI技术37EmergingCommonClassicWinRunnerQuickTestProfessional传统应用通用新兴环境Custom C/SPowerbuilderDelphiPowerBuilder10.5ERP/CRMPeoplesoftwindowsSiebel5,6GUIclientsOracleGUIformsWeb-related environmentsIE,NetscapeJDK,Javafoundationclasses,AWTActiveXCustom

16、client serverWindows/Win32VisualbasicStingrayVisualagesmalltalkERP/CRMOracle:11iJDEdwardswebclientLegacy3270,5250emulators,Vt100Operating systemsWindows2000,Windows2003,XP,VistaERP/CRMSAPSiebel7.Xand8.XPeoplesoft8.X.NetWPFfrom.NET3.0WinformsWebformsHTC/ViewlinkDelphi8.NETwinformsWeb servicesMacromed

17、ia flexWirelessJava SWTCitrixVMWare desktop supportMozilla Firefox 2.038经典工具的情况-QTP2提供关键字视图提高脚本的可读性、可维护性38EmergingCommonClassic38脱离代码的测试构建和维护对象动作数据不仅仅是代码不仅仅是代码更有关键字视图更有关键字视图突破性的ActiveScreen技术添加验证点添加测试步骤了解测试步骤上下文离线编辑39您单位自动化的要求是什么?原有手工案例能够重用?-形成自动化案例、脚本?-原有手工案例写到什么程度?-手工案例间是否有关联?-每一个手工案例执行是需要什么样的前置条件

18、?被测系统变更后,自动化测试能快速实施?-选择执行哪些测试案例?-如何调度这些测试案例?-测试环境如何准备?被测系统如何配置?-测试数据如何准备?-测试过程是否需要人工干预?-测试结果如何检查?3940自动化工具能解决到什么程度将手工测试用例执行过程录制下来-脚本化-解决的问题:固定的动作可重复!-出现的问题1:从细节层面现象:对象与操作的绑定。影响:对象变化,将引起脚本中与该对象相关的一系列变化!-出现的问题2:从脚本的整体层面现象:重复的脚本。影响:某一个常用功能变更时,大量脚本需要维护!这些是软件工程问题,也是用软件工程的解决方法:-1.对象与操作分离-2.脚本模块化4041自动化工具能

19、解决到什么程度将脚本中的数据独立出来-参数化-解决的问题:同一操作序列可以使用不同的数据现象:开户时选择不同的证件类型。作用:脚本可重用,提高测试覆盖!-出现的问题1:测试的业务数据可能与系统的背景数据相关现象:测试要使用有效的客户、帐户影响:测试集依赖基础数据集-出现的问题2:不同脚本间的数据可能有关联现象:前一个脚本的输出要用做后一个脚本的输入。影响:业务要连续4142自动化工具能解决到什么程度测试人员对脚本技术不熟悉-录制下来的脚本,看不懂,也很难编辑-手工直接编写脚本,对人员技术要求高工具对此无能为力!但需要使用脚本开发技术使自动化测试更健壮!4243自动化工具能解决到什么程度回到最核

20、心的内容-测试什么?如何测试?如何检查?这些测试内容如何反映在测试脚本(集)上?不是工具的范围,而是测试分析和测试设计的问题,这个问题对于手工测试和自动化测试都是存在的!对于金融领域的系统,有自身的特点,有其适用的测试方法!4344我们对于商用工具的使用-以商用工具为基础,充分发挥工具的能力-对象定义:描述性方式定义,简化对象编辑和维护-封装对象操作:简化脚本编写,提高脚本的复用性-脚本自动生成:将对象、操作、数据以解释执行的方式完成脚本处理-业务数据传递:业务流程的方式完成交易间业务数据的传递和沿用以业务和功能分析为出发点,建立测试集4445主题45自动化测试概念和深入理解自动化测试概念和深

21、入理解1 1GUIGUI自动化回归测试和商用工具自动化回归测试和商用工具2 2金融领域自动化回归测试金融领域自动化回归测试3 34 4面向金融领域的自动化测试框架面向金融领域的自动化测试框架46金融领域应用系统的特点金融产品-大量的产品-每个产品可能存在着多种生命周期(业务流程)需要进行业务流程梳理交易服务-交易要素多-要素间存在着关联和控制关系系统的状态复杂-系统参数和用户管理-时间参数4647以实例的方式分析金融应用系统的测试商业银行核心交易系统商业银行国际结算系统外汇交易中心本币交易系统4748实例一 核心交易系统核心系统功能-机构和柜员管理-公共参数管理-客户、帐户管理-存、贷、支付结

22、算为基础的大量金融产品和服务-与大量外围系统有交互-联机交易和批处理由于金融产品和服务的快速创新,如何能覆盖这些产品的测试是交易系统测试的重点4849案例一 核心交易系统 分析产品-生命周期-存款:开户、存款、支取、销户,还可穿插其它特殊操作-贷款:开户、放款、归还、销户、还可穿插其它特殊操作-支付结算:行内、跨行等不同的情况联机交易-批处理-按会计时间进行的计息、结算、扣款、计费、形态转移等产品生命周期的构成-联机交易与批处理的“有意义”的串联!4950实例一 核心交易系统 测试交易的测试-IPO,系统对特定的输入要素集合进行处理,给出输出要素集合,并做相应的记录。是在检查系统对于每一个特定

23、的处理是否正确?生命周期(业务流程)的测试-产品从始到终的测试,是在检查系统对于产品规则的处理(如计、结息、状态控制等)是否正确?是对产品完整的检查?独立交易测试的难点-有合适的数据,例如,要测“销户”交易,必须是要操作一个已开的合适的帐户!5051实例一 某银行核心系统产品:200+交易:800+梳理的业务流程:3000+5152实例一 测试策略固定背景数据、固定会计日期、固定机构和柜员设置快速实施,快速见效在实施的同时,积累经验,不断加强资产可维护性5253实例二 国际结算系统主体功能-核心业务功能进口、出口、汇款、贸易融资、国内证、保理-公共控制及公共业务功能-查询统计系统架构-B/S基

24、于流程性的审批处理模式关联业务的连贯性5354实例二 国结业务流程分析54信用证开证(即期/远期)信用证来单(不同付款类型)来单付款进口押汇(融资)进口押汇(还款)进口押汇(逾期)进口押汇(展期)来单拒付来单承兑经办复核审批一审批二审批三记帐取消记帐单一业务流程55实例二 国结自动化测试覆盖范围5556实例三 银行同业市场本币交易系统系统划分-交易前台、交易中后台、场务交易市场-现券买卖、债券借贷、债券远期、质押式回购、买断式回购、利率互换、远期利率协议、同业拆借、票据市场、CRM凭证、贷款转让系统特点-强大交易功能:询价交易、点击成交-灵活的用户及限额管理-做市商支持5657实例三 银行同业

25、市场本币系统自动化测试交易市场-现券买卖系统架构-.NET3.5/4.0处理模式:即时报价、即时成交业务联动:前台、中后台、场务计算校验:净价和收益率5758自动化测试实施流程5859主题59自动化测试概念和深入理解自动化测试概念和深入理解1 1GUIGUI自动化回归测试和商用工具自动化回归测试和商用工具2 2金融领域自动化回归测试金融领域自动化回归测试3 34 4面向金融领域的自动化测试框架面向金融领域的自动化测试框架60自动化测试面临的问题测试案例-手工案例-自动化案例案例与数据的关系测试数据要求-基础数据:帐号-业务关联数据:余额为100元的对私帐号-案例数据:币种、金额数据准备模式-备

26、份恢复-业务联动对象管理脚本处理-录制回放及结构化-数据驱动-关键字驱动-业务流程驱动后续维护-功能变更:脚本维护、案例及数据维护-流程变更:业务流程组织模式6061自动化测试框架关键技术-1对象管理-脱离QTP的tsr对象管理模式-使用层级的对象描述性定义模式-方便灵活且易于版本管理原子交易-页面、功能级的开发模式-将业务变更影响控制在最小范围内-便于工作分配和接口定义流程组织-流程由原子交易的组合而成-自动实现业务数据的流程传递-业务变更带来的工作量降至最低6162自动化测试框架关键技术-2数据准备-备份恢复来的环境需要版本更新可能导致数据失效-备份恢复需要大量的数据校验和检查工作-不利于

27、人员变更和交接-采用业务流程模式即时生成业务数据-节省校验和准备工作,即成即用-人员交接关注业务,而无需关注交接的数据准备调度和执行-以业务流程为单位灵活组织测试集-以测试集模式并行分布式执行6263自动化框架发展商业银行核心系统自动化(2006-2009)-解决描述性定义对象的模式商业银行国际结算(2009-2010)-完成业务流程由原子交易组成的模式-改进数据的自动化联动准备-完成业务数据的自动传递商业银行核心系统自动化(2008-2010)-完成业务流程由原子交易组成的模式-建立业务流程式的分析模式商业银行的网银系统自动化(2010-2011)-完善关键字驱动的模式-改进和提高测试集组织

28、模式6364自动化测试框架部署介绍64Excel Driven Framework实现层实现层实现层实现层QTPQTPQTPQTPMain.vbsAutoTestDriven.dllConfiguration.ini业务层业务层测试结果文件(测试结果文件(ReportFiles)QTP自动化测试脚本(自动化测试脚本(QTP)测试对象、操作步骤和数据文件测试对象、操作步骤和数据文件(ActionFiles)测试脚本控制文件测试脚本控制文件(SchedulerFiles)业务流程配置文件(业务流程配置文件(ConfigFile)被被 测测 系系 统统自动化测试平台65回顾65自动化测试概念和深入理解自动化测试概念和深入理解1 1GUIGUI自动化回归测试和商用工具自动化回归测试和商用工具2 2金融领域自动化回归测试金融领域自动化回归测试3 34 4面向金融领域的自动化测试框架面向金融领域的自动化测试框架66谢谢!Q&A

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!