自动化测试理解及实践通用V_第1页
自动化测试理解及实践通用V_第2页
自动化测试理解及实践通用V_第3页
自动化测试理解及实践通用V_第4页
自动化测试理解及实践通用V_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

自动化测试-理解与实践概念与历史发展测试的基本概念自动化测试的基本概念自动化测试的历史发展2Warmingup统一名词系统什么是测试?有哪些测试阶段和测试类型……

在IEEE提出的软件工程标准术语中,软件测试被定义为:“使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清楚预期结果与实际结果之间的差别。”

软件测试是与软件质量密切联系在一起的,归根结底,软件测试是为了保证软件质量。测试技术之测试类型测试类型静态测试动态测试白盒测试黑盒测试灰盒测试功能测试非功能测试性能测试可靠性测试安全性测试易用性测试移植性测试测试技术之测试阶段(测试级别)测试阶段单元测试用户验收测试集成测试系统集成测试系统测试冒烟测试测试技术之测试活动测试活动测试需求分析测试报告测试执行测试设计测试技术之测试活动测试活动测试需求分析测试报告测试执行测试设计测试技术之测试用例设计技术测试用例设计技术等价类方法场景法错误猜测法边界值方法因果分析方法测试技术之单元测试覆盖要求单元测试覆盖要求语句覆盖路径覆盖判定覆盖条件覆盖测试试技技术术之之集成成测测试试策策略略集成测试策略非增量集成(大爆炸集成)增量集成基于模块层次集成基于业务路径集成自上而下集成三明治集成自下而上集成测试试实实施施测试活动测试需求分析测试报告测试执行测试设计测试评审测试计划、测试项目进度和质量跟踪测试需求分析测试用例设计测试环境准备测试数据准备被测软件安装测试缺陷跟踪测试分析总结测试实施测试试工工具具测试工具测试管理工具测试技术工具测试执行工具测试辅助工具性能测试工具自动化GUI测试工具性能监控分析工具代码分析工具测试框架测试试相相关关知知识识测试相关知识质量管理银行业务领域知识软件过程软件设计和开发知识软件质量标准CMMITMMIISO9000PMBOK6Sigma需求分析架构设计程序开发计算机网络和通信IT系统配置和管理银行基础业务银行业务操作银行业务管理银行风险管理“开发发与与测测试试模模型型””V模模型型&W模模型型什么么是单单元元测测试试单元元测测试试的主主要要关关注注点点单元元测试试16是为为了了保保证证各各程程序序单单元元的的功功能能和和逻逻辑辑的的正正确确性性而而进进行行的的最最小小粒粒度度的的测测试试。。测试试对对象象是是可测测试试的的最最小小程程序序((代代码码))集集合合在不不同同的的被被测测软软件件系系统统中中,,存存在在多多种种单单元元的的划划分分准准则则单元元的的划划分分以以适适合合于于代代码码级级的的测测试试为为判判断断出出发发点点软件件单单元元代码码中的的覆覆盖盖率率((语语句句覆覆盖盖、、分分支支覆覆盖盖))局部部数数据据结结构构边界界条条件件差错错处处理理软件件单单元元的的功功能能、、性性能能、、接接口口什么么是集集成成测测试试集成成测测试试的主主要要关关注注点点集成成测试试17集成成测测试试,,也也叫叫组组装装测测试试或或联联合合测测试试。。在在单单元元测测试试的的基基础础上上,,对对将将单单元元/模块块按按照照设设计计要要求求((如如根根据据结结构构图图)组装装成成为为子子系系统统或或系系统统的的过过程程和和结结果果进进行行测测试试。。以《软件件概概要要设设计计说说明明书书》为依依据据,,检检验验软软件件单单元元之之间间、、软软件件单单元元和和已已集集成成的的软软件件系系统统之之间间的的接口口关关系系,并并验验证证已已集集成成软软件件系系统统是是否否符符合合设设计计要要求求。。软件件单单元元之之间间的的各各种种接接口口((调调用用、、指指令令、、报报文文、、数数据据文文件件、、共共享享内内存存等等))全局局数数据据结结构构单元元之之间间的的依依赖赖关关系系集成成后后对对象象的的功功能能系统测试什么是系统测测试系统测试的主要关注点点系统测试是将将已经确认的的软件、计算算机硬件、外外设、网络等等其他元素结结合在一起,,进行信息系系统的各种组组装测试和确确认测试,其其目的是通过过与系统的需需求相比较,,发现所开发发的系统与用用户需求不符符或矛盾的地地方,从而提提出更加完善善的方案。主要目的是验验证系统的完完整性及正确确性完整性指系统统无功能和模块的丢失失,系统整体体功能可用正确性指系统统与需求相符合自动化测试在在哪里被测对象是谁谁如何操作被测测对象?如何将被测对对象隔离出来来?1920自动化测试概概念和深入理理解1GUI自动化回归测测试和商用工工具2金融领域自动动化回归测试试34面向金融领域域的自动化测测试框架自动化测试概概念测试设定输入和预预期输出,在在被测系统上上给定输入,,得到实际输输出,检查测测试实际输出出与预期输出出之间是否一一致。传统上上测试是测试试人员手工进进行的。自动化测试使用工具代替替人工来操作作被测系统,,并检查输出出的过程。自自动化测试的的要点是“减少人工操作作,提高测试试效率”。21自动化测试概概念的澄清自动化测试等等于QTP吗?提到自动化测测试,人们往往往马上联想想到使用QTP等自动化测试试工具,其实实这只是自动动化测试中的的一部分。自自动化测试可可以在不同的的层级上进行行,包括单元元测试、集成成测试、系统测试和验收测试。在系统回归测测试中能自动进行测试试分析吗?测试有多项活动,包括计计划制订、测测试分析和设设计、用例集集构建、测试试执行、结果果收集和测试试报告。由于分析和和设计等工作作需要较多智智能活动,且且基础材料的的非标准化,,自动化测试试分析不太可可行。自动化主要用用于回归测试试的执行22自动化测试很很简单吗?几个经常被忽忽略的问题::用例执行时,,测试工作是是机械动作,,还是需要思思考的行为??测试用例数量量大吗?测试试用例之间有有关联性吗??测试环境容易易配置吗?测测试数据容易易准备吗?23自动化测试不不简单!基本前提:(自动化)测测试要求:相相同的输入得得到相同的输输出。出于测试全面面性的考虑,,对于所有被被测功能,建建立测试用例例,从而形成成测试用例集集,并以备后后续回归测试试使用这本身是一件花费很大的工作。还有一个隐含含前提:即被测系统要保保持在同样的的状态。因而,只有能能方便地保持持和恢复系统统状态,回归归测试用例集集才是用价值值的。NOTE:保保持系统状态态-单位越小小越容易!单元测试试这方面最容容易,系统级级测试并不容容易!24所有的项目都都适合自动化化测试吗?在银行中两类类常见的项目目类型:新建建项目和维护护型项目新建项目的测测试:被测系统是全全新的系统测试资产需要要全新开发::测试分析、、设计和开发发测试过程需要要磨合维护项目的测测试:在原有系统上上进行更新维维护有测试资产测试已实施过过25自动化测试适适用于维护型型项目回归测测试回归测试:用同样的测试试用例集合对对不同(或稍稍有变更)的的被测系统重重新进行测试试。在一个软件系系统的服务期期间,会不断断有各类变更更,每次变更更都需要进行行测试和验证证。具体说,,一方面要测测试验证新的的变更实现了了预期目的,,另一方面要要检查变更未未对其它功能能产生不良影影响。由于每次回归归测试中都需需要执行大量量相同的用例例,工作量大大且重复性工工作多。因此,更适合在维护型项目的的回归测试中使使用自动化测测试方法。NOTE:自动化测试适适用于维护型型项目的回归归测试!26所有的系统类类型都适合做做自动化测试试吗?有哪些类型的的系统交易处理型系系统(人工操操作)业务管理型系系统(人工操操作)数据分析型系系统视系统输入、输出情情况,部分系系统是以人工工操作和输入入数据为主,,输出数据为为操作人员服服务,部分系系统由其它系系统或工具程程序操作和输输入数据。当当然,以上分分类并不绝对对。基于人机交互的交交易处理型系系统和业务管管理型系统适适合于自动化化测试。27自动化测试需需要注意的问问题自动化测试资资产的准备((案例编写、、脚本开发和和维护、自动动化测试环境境和数据的准准备…)工作量很很大。各个个公司的解决决方案大多在在解决这个问问题;在自动化测试试案例(或脚脚本)达到一一定的量级时时,如何安排排、调度和执执行测试自动动化是有较高高难度的;自动化测试结结果的比对、、检查和分析析是有较高难难度;自动化测试工工具如何与被被测系统更好好地匹配和结结合;要关注自动化化测试的ROI,避免为了自动动化而自动化化,片面强调调覆盖和灵活活性。28自动化测试的的现状从技术层面上上讲,单元测测试是应用得得最好的自动动化测试,性性能测试是必必然的自动化化测试;基于GUI的自动动化回归(系系统)测试,,大家都在做做,但投入较较大、且实用用性和可维护护性问题突出出;GUI自动化化测试必须依依靠工具并将将工具与被测测系统匹配好好,但仅有工工具是不够的的!29我们的经验已成功实施的的项目中国外汇交易易中心自动化化测试上海银行自动动化测试我们的团队成成员还曾经是是交通银行、、华夏银行等等自动化测试试项目的发起起者和骨干30主题31自动化测试概概念和深入理理解1GUI自动化回归测测试和商用工工具2金融领域自动动化回归测试试34面向金融领域域的自动化测测试框架我们讨论的自自动化测试类类型这里我们主要要讨论基于GUI界面的的自动化测试试对于单元测试试和基于接口口的自动化测测试,我们会会在其它的材材料中进行详详细讨论,如如果您有需求求,请向我们们提出!32UI自动化化测试的进展展文本的“捕获获/回放”TextCapture/Playback(Mainframe)缺点:动态内容处处理、时间同同步、维护文本的“捕获/回放放/脚本化””TextCapture/Playback/Script(PC)缺点:需要程程序开发技能能,ProgrammerGUI界面面“捕获/回放/脚本本化”(WindowsandC/S)缺点:关注对对于非标准控控件和行为的的处理对于脚本重用用、维护等软软件工程的要要求引发了测测试框架(Framework)的需求从专有框架到到商用框架(Web)缺点:仍严重重依赖对象控控制-applicationmap,GUImap,objectrepositoryGUI自动化测试的的技术基础对象识别与控控制技术如何对被测系系统进行操作作和控制,并并进行信息收收集,细述下下来就是界面面对象或控件件的识别和控控制技术。这这是当前主流流商用自动化化测试工具如如QTP、RFT的关键技术之之一。脚本化技术用什么方法来来描述人工对对系统的操作作,细述下来来就是基于特特定脚本的录录制、回放、、参数化、编编辑和维护技技术。34脚本化技术的的进一步说明明GUI自动化测试中中,测试工具具将人工对被被测系统的操操作记录为脚脚本,支持重重放这些脚本本,即由测试试工具按脚本本的描述来驱驱动被测系统统,从而通过过工具实现与与人工相同的的系统操作。。脚本中一般会会以动作序列列来进行描述述,每一个动动作中包括操操作对象、动动作和操作数数据,GUI自动化测试中中相对高层的的技术是对数数据进行参数数化,从而使使脚本在执行行时可以动态态配置测试数数据。由于录制的代代码一般可维维护性不好,,无用代码较较多,也可直直接编写测试试脚本。35GUI自动化化测试的其它它问题测试数据驱动动数据表易于编编辑和维护数据参数化操操作检查点操作简单支持多种检查查点-对象,文本,,位图等结果报告图形化易于浏览36经典工具的情情况-QTP通用工具试图图能适用于各各种UI技术37EmergingCommonClassicWinRunnerQuickTestProfessional传统应用通用新兴环境CustomC/SPowerbuilderDelphiPowerBuilder10.5ERP/CRMPeoplesoftwindowsSiebel5,6GUIclientsOracleGUIformsWeb-relatedenvironmentsIE,NetscapeJDK,Javafoundationclasses,AWTActiveXCustomclientserverWindows/Win32VisualbasicStingrayVisualagesmalltalkERP/CRMOracle:11iJDEdwardswebclientLegacy3270,5250emulators,Vt100OperatingsystemsWindows2000,Windows2003,XP,VistaERP/CRMSAPSiebel7.Xand8.XPeoplesoft8.X.Net

WPFfrom.NET3.0WinformsWebformsHTC/ViewlinkDelphi8.NETwinformsWebservicesMacromediaflexWirelessJavaSWTCitrixVMWaredesktopsupportMozillaFirefox2.0

经典工具的情情况-QTP2提供关键字视视图提高脚本本的可读性、、可维护性38EmergingCommonClassic38脱离代码的测测试构建和维维护对象动作数据不仅仅是代码更有关键字视图突破性的ActiveScreen技术添加验证点添加测试步骤骤了解测试步骤骤上下文离线编辑您单位自动化化的要求是什什么?原有手工案例例能够重用??-形成自动化化案例、脚本本?原有手工案例例写到什么程程度?手工案例间是是否有关联??每一个手工案案例执行是需需要什么样的的前置条件??被测系统变更更后,自动化化测试能快速速实施?选择执行哪些些测试案例??如何调度这些些测试案例??测试环境如何何准备?被测测系统如何配配置?测试数据如何何准备?测试过程是否否需要人工干干预?测试结果如何何检查?39自动化工具能能解决到什么么程度将手工测试用用例执行过程程录制下来-脚本化解决的问题::固定的动作作可重复!出现的问题1:从细节层层面现象:对象与操作的的绑定。影响:对象变变化,将引起起脚本中与该该对象相关的的一系列变化化!出现的问题2:从脚本的的整体层面现象:重复的的脚本。影响:某一个个常用功能变变更时,大量量脚本需要维维护!这些是软件工工程问题,也也是用软件工工程的解决方方法:1.对象与操操作分离2.脚本模块块化40自动化化工具具能解解决到到什么么程度度将脚本本中的的数据据独立立出来来-参数化化解决的的问题题:同一一操作作序列列可以以使用用不同同的数数据现象::开户户时选选择不不同的的证件件类型型。作用::脚本本可重重用,,提高高测试试覆盖盖!出现的的问题题1:测测试的的业务务数据据可能能与系系统的的背景景数据据相关关现象::测试试要使使用有有效的的客户户、帐帐户影响::测试试集依依赖基基础数数据集集出现的的问题题2:不不同脚脚本间间的数数据可可能有有关联联现象::前一一个脚脚本的的输出出要用用做后后一个个脚本本的输输入。。影响::业务务要连连续41自动化化工具具能解解决到到什么么程度度测试人人员对对脚本本技术术不熟熟悉录制下下来的的脚本本,看看不懂懂,也也很难难编辑辑手工直直接编编写脚脚本,,对对人员员技术术要求求高工具对对此无无能为为力!!但需要要使用用脚本本开发发技术术使自自动化化测试试更健健壮!!42自动化化工具具能解解决到到什么么程度度回到最最核心心的内内容-测试试什么么?如如何测测试??如何何检查查?这这些测测试内内容如如何反反映在在测试试脚本本(集集)上上?不是工工具的的范围围,而而是测测试分分析和和测试试设计计的问问题,,这个个问题题对于于手工工测试试和自自动化化测试试都是是存在在的!!对于金金融领领域的的系统统,有有自身身的特特点,,有其其适用用的测测试方方法!!43我们对对于商商用工工具的的使用用-以商用用工具具为基基础,,充分分发挥挥工具具的能能力对象定定义::描述述性方方式定定义,,简化化对象象编辑辑和维维护封装对对象操操作::简化化脚本本编写写,提提高脚脚本的的复用用性脚本自自动生生成::将对对象、、操作作、数数据以以解释释执行行的方方式完完成脚脚本处处理业务数数据传传递::业务务流程程的方方式完完成交交易间间业务务数据据的传传递和和沿用用以业务务和功功能分分析为为出发发点,,建立立测试试集44主题45自动化化测试试概念念和深深入理理解1GUI自动化化回归归测试试和商商用工工具2金融领领域自自动化化回归归测试试34面向金金融领领域的的自动动化测测试框框架金融领领域应应用系系统的的特点点金融产产品大量的的产品品每个产产品可可能存存在着着多种种生命命周期期(业业务流流程))需要进进行业业务流流程梳梳理交易服服务交易要要素多多要素间间存在在着关关联和和控制制关系系系统的的状态态复杂杂系统参参数和和用户户管理理时间参参数46以实例例的方方式分分析金金融应应用系系统的的测试试商业银银行核核心交交易系系统商业银银行国国际结结算系系统外汇交交易中中心本本币交交易系系统47实例一一核核心交交易系系统核心系系统功功能机构和和柜员员管理理公共参参数管管理客户、、帐户户管理理存、贷贷、支支付结结算为为基础础的大大量金金融产产品和和服务务与大量量外围围系统统有交交互联机交交易和和批处处理由于金金融产产品和和服务务的快快速创创新,,如何何能覆覆盖这这些产产品的的测试试是交交易系系统测测试的的重点点48案例一一核核心交交易系系统分分析产品-生命命周期期存款::开户户、存存款、、支取取、销销户,,还可可穿插插其它它特殊殊操作作贷款:开户户、放款、、归还、销销户、还可可穿插其它它特殊操作作支付结算::行内、、跨行等不不同的情况况联机交易-批处理按会计时间间进行的计计息、结算算、扣款、、计费、形形态转移等等产品生命周周期的构成成联机交易与与批处理的的“有意义””的串联!49实例一核核心交易系系统测试试交易的测试试IPO,系系统对特定定的输入要要素集合进进行处理,,给出输出出要素集合合,并做相相应的记录录。是在检检查系统对对于每一个个特定的处处理是否正正确?生命周期((业务流程程)的测试产品从始到到终的测试试,是在检检查系统对对于产品规规则的处理理(如计、、结息、状状态控制等等)是否正正确?是对对产品完整整的检查??独立交易测测试的难点点有合适的数数据,例如如,要测“销户”交交易,必须须是要操作作一个已开开的合适的的帐户!50实例一某某银行核心心系统产品:200+交易:800+梳理的业务务流程:3000+51实例一测测试策略固定背景数数据、固定定会计日期期、固定机机构和柜员员设置快速实施,,快速见效效在实施的同同时,积累累经验,不不断加强资资产可维护护性52实例二国国际结算系系统主体功能核心业务功功能进口、出口口、汇款、、贸易融资资、国内证证、保理公共控制及及公共业务务功能查询统计系统架构B/S基于流程性性的审批处处理模式关联业务的的连贯性53实例二国国结业务流流程分析54信用证开证证(即期/远期)信用证来单单(不同付款款类型)来单付款进口押汇(融资)进口押汇(还款)进口押汇(逾期)进口押汇(展期)来单拒付来单承兑经办复核审批一审批二审批三记帐取消记帐单一业务流流程实例二国国结自动化化测试覆盖盖范围55实例三银银行同业市市场本币交交易系统系统划分交易前台、、交易中后后台、场务务交易市场现券买卖、、债券借贷贷、债券远远期、质押押式回购、、买断式回回购、利率率互换、远远期利率协协议、同业业拆借、票票据市场、、CRM凭证、贷款款转让系统特点强大交易功功能:询价价交易、点点击成交灵活的用户户及限额管管理做市商支持持56实例三银银行同业市市场本币系系统自动化化测试交易市场现券买卖系统架构.NET3.5/4.0处理模式::即时报价价、即时成成交业务联动::前台、中中后台、场场务计算校验::净价和收收益率57自动化测试试实施流程程58主题59自动化测试试概念和深深入理解1GUI自动化回归归测试和商商用工具2金融领域自自动化回归归测试34面向金融领领域的自动动化测试框框架自动化测试试面临的问问题测试案例手工案例自动化案例例案例与数据据的关系测试数据要要求基础数据::帐号业务关联数数据:余额额为100元的对私帐帐号案例数据::币种、金金额数据准备模模式备份恢复业务联动对象管理脚本处理

温馨提示

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

评论

0/150

提交评论