自动化测试可行性分析报告_第1页
自动化测试可行性分析报告_第2页
自动化测试可行性分析报告_第3页
自动化测试可行性分析报告_第4页
自动化测试可行性分析报告_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

XXXX客户网银资金管理系统引入自动化测试的可行性分析汇报版本:1.0概述目的本文档对XXXX客户网银资金管理系统项目引入自动化测试工具的可行性进行评估,为项目经理提供决策参照。范围本文档描述了XXXX客户项目状况、既有测试工作流程、自动化测试自身的某些状况,对测试工作量进行了估算,最终对估算成果进行了分析,并依此提出了某些提议。本文档中讨论的自动化测试工具重要是功能测试工具。术语定义本文档波及了几款自动化测试工具:TestManager:IBM企业的测试管理工具,属于Rational系列产品之一。Robot:IBM企业的性能测试工具,属于Rational系列产品之一。RFT:RationalFunctionTester,IBM企业的功能测试工具,属于Rational系列产品之一。TestDirector:Mercury企业生产的测试管理工具。Loadrunner:Mercury企业生产的性能测试工具。QTP:QuickTestProfessional,Mercury企业生产的功能测试工具。参照文档项目简介项目背景XXXX客户网银资金管理系统,是XXXX客户为了加强银行账户管理,提高资金运用效率而开发的一套资金管理系统。项目开发、运行环境XXXX客户网银资金管理系统遵照的开发规范如下:操作系统:Windows或者HPUnix或者SCOUnix或者AIX或者Solaris数据库平台:Informix9.0J2EE应用服务器:Weblogic8.1.4开发平台:Eclipse(3.1以上版本)项目进度项目的预定计划如下:序号阶段名称工期开始时间结束日期1需求阶段34工作日-5-10-06-262开发阶段64工作日-6-12-9-73测试执行阶段48工作日-7-4-9-7项目特点分析根据业务需求分析,业务量重要集中在银行业务数据操作,包括银行数据查询,银行业务数据变更,由于和银行的交互集中在前置机上,且银行数据量大,操作复杂,花费时间长,因此系统在多顾客并发操作时,也许存在性能瓶颈。此外,由于XXXX客户的分支机构众多,操作人员多,数据量大,在多顾客并发操作时,性能和效率会有较大影响。既有测试流程既有的测试流程按照阶段划分为测试设计阶段和测试执行阶段。测试设计阶段的重要工作是根据业务需求阐明书和系统需求阐明书来设计和编写测试用例。根据以往的经验,将测试用例划提成三个部分:测试需求分析;测试方案;数据执行环节。测试执行阶段的重要手段是手工测试,假如项目有性能方面的需求,再通过Mercury企业的性能测试工具LoadRunner来进行性能方面的测试。手工测试时,要完毕如下工作:根据测试需求分析理解业务;根据测试方案来执行测试;根据数据库和详细设计来验证系统的详细实现;根据测试成果补充、修正测试用例中的分析、测试方案部分。系统上线布署之前两到三天,要进行内部的验收测试,其目的有两个:确认系统已经准备就绪,预定功能已经实现;即将上线布署的软件是对的的版本。重要通过重新搭建系统环境,重建数据库表的形式来开始验收测试。自动化测试简介伴随软件开发技术和工具的提高,软件工程和软件过程实践的推广,软件测试日益得到重视和专业化。自动化测试更成为热门话题。测试自动化就是充足运用市场已经有的或自行开发的测试工具,所有或部分替代手工测试、完毕手工测试无法完毕的测试任务,以及有关的测试数据的记录和测试汇报的生成等。相对于手工测试而言,测试自动化一般具有速度快、执行效率高、执行过程受外界原因干扰小、测试成果精确等长处,缺陷是前期投入较大,因此在采用测试自动化之前应当做好对应的评估工作。自动化测试的目的自动化测试的目的是通过自动执行测试脚本,使测试人员在更短的时间内可以更快地完毕更多的软件测试,并提供以更高的频率执行测试的能力,从而有效减少测试成本、提高测试效率。自动化测试的前提自动化测试有几种前提:测试人员的编程能力;重用测试脚本的设计;人机交互界面的初期冻结;测试脚本开发的投入;测试人员对测试工具的纯熟程度。自动化测试的优势和局限[1,2]自动化测试的优势:对新版本执行回归测试

对于产品型的软件,每公布一种新的版本,其中大部分功能和界面都和上一种版本相似或完全相似,这部分功能尤其适合于自动化测试,从而可以让测试到达测试每个特性的目的。

更多更频繁的测试在回归测试阶段,假如是每天/每2天都要公布一种版本供测试人员测试,一种系统的功能点有几千个上万个,手工测试将是非常的耗时和繁琐,并且非常的枯燥,这样必然会使测试效率低下。完善的自动化测试可以替代测试人员的手工测试。一致性和可反复性由于每次自动化测试运行的脚本是相似的,因此每次执行的测试具有一致性,人是很难做到的。由于自动化测试的一致性,很轻易发现被测软件的任何变化。自动化测试替代手工测试的困难:自动化测试的目的在于发现旧有缺陷,而手工测试的目的在于发现新缺陷。事实证明新缺陷越多,自动化测试失败的几率就越大。发现更多的新缺陷应当是手工测试的重要目的。测试专家JamesBach总结得出,85%的缺陷靠手工发现,而自动化测试只能发现15%的缺陷。技术问题、组织问题、脚本维护自动化测试的推行,有诸多阻力,例如组织与否重视,与否成立这样的测试团体,与否有这样的技术水平,对于测试脚本的维护工作量也挺大的,与否值得维护等等问题都必须考虑。自动化测试工具对比[3,4]目前比较主流的自动化功能测试工具重要是Mercury企业的QTP、Winrunner,以及IBM企业的RationalFunctionTester。下面对QTP和RationalFunctionTester的功能来进行对比:功能指标RationalFunctionTesterQTP顾客界面与Eclipse集成独立的GUI脚本语言JavaVBScript测试Web系统支持支持数据驱动内建数据池从Excel中获得数据检查点支持支持脚本管理工具TestManagerTestDirector其他支持BusinessProcessTesting(BPT) 目前,我们测试人员对QTP比较熟悉,没有使用过RationalFunctionTester。就功能上来说,RationalFunctionTester和QTP差异不大。测试工作量估算手工测试工作量估算手工测试工作量的估算原则:根据业务和功能的复杂程度,以及以往项目的实际数据做参照,得出测试完毕一遍的工作量。在整个项目测试周期中,测试小组会对整个系统进行两到三轮的测试(一般是必须的)。根据以往项目的记录数据:每一轮手工测试的工作量是上一轮工作量的50%,直抵到达临界值,即完毕一轮手工测试的最小时间后,工作量不会再减小。项目记录数据还表明:手工测试中,后期的测试工作占到所有测试工作的40%~50%。业务功能点测试完毕的工作量(人日)一级功能二级功能第一轮第二轮第三轮系统管理职责管理2.01.00.5顾客管理3.01.50.8基础设置机构类型设置1.00.50.3机构设置1.00.50.3币种设置1.00.50.3银行类型设置1.00.50.3账户用途设置1.50.80.4账户扩展属性设置1.00.50.3业务类型设置3.01.50.8账户管理开户处理4.02.01.0销户处理4.02.01.0变更处理4.02.01.0账号升级申请3.01.50.8冻结与解冻3.01.50.8账户信息查询2.01.00.5资金清算支出资金申请5.02.51.3归集资金申请5.02.51.3资金划拨5.02.51.3资金计划行项目设置2.01.00.5编制计划2.01.00.5审批计划2.01.00.5资金监控账户当日余额查询2.01.00.5账户历史余额查询2.01.00.5账户历史流水查询2.01.00.5监控项设置5.02.51.3监控报表和提醒3.01.50.8银企接口银行指令查询5.02.51.3银行指令维护5.02.51.3自动归集方略设置5.02.51.3交易查对5.02.51.3审批流审批设置4.02.01.0权限转移4.02.01.0每轮合计工作量(人日):97.548.824.4顾客手册5.0验收测试12.0手工测试合计工作量:187.6人日按照4个测试资源计算,手工测试完毕共需消耗187.6/4=46.9个工作日。与预定计划的48个工作日的测试周期靠近。后期的测试工作占测试工作的45%左右。指标数值估算测试工作量187.6人日测试资源4人估算测试工作日187.6/4=46.9日计划测试工作日48日后期测试工作量比例(48.8+24.4+12)/187.6=45%对手工测试的工作量估算没有考虑开发进度delay的原因。一旦开发进度delay,则第3轮手工测试将无法完毕,只能把优先级别较高的功能测试完毕。开发进度delay的原因很大一部分来自需求变更。引入自动化测试后工作量估算引入自动化测试工具后,手工测试的重要工作量将重要集中在第一轮测试,而自动化测试脚本也根据被测试功能和业务的复杂程度不一样而不一样。根据下表的记录数据,在自动化测试中采用数据驱动的方式,投入产出比比较合适。构造成本收益净收益NoAutomation000RecordingandPlayback8.3112.7Data-drivenstructureusingdatapools8.4189.6Frameworkstructure9.8155.2Framework/data-driven(hybrid)structurefocusingonviewsoftheapplicationandusingdatapools11.6197.4根据业内的记录数据,手工测试与自动化测试脚本编写的工作量比例约为3:7,在不考虑需求变更的状况下,测试脚本的维护工作量为建立脚本工作量的10~20%,在估算时,取中间值15%。引入自动化测试后工作量估算为:业务功能点测试完毕的工作量(人日)一级功能二级功能手工测试自动化脚本脚本维护系统管理职责管理2.04.70.7顾客管理3.07.01.1基础设置机构类型设置1.02.30.4机构设置1.02.30.4币种设置1.02.30.4银行类型设置1.02.30.4账户用途设置1.53.50.5账户扩展属性设置1.02.30.4业务类型设置3.07.01.1账户管理开户处理4.09.31.4销户处理4.09.31.4变更处理4.09.31.4账号升级申请3.07.01.1冻结与解冻3.07.01.1账户信息查询2.04.70.7资金清算支出资金申请5.011.71.8归集资金申请5.011.71.8资金划拨5.011.71.8资金计划行项目设置2.04.70.7编制计划2.04.70.7审批计划2.04.70.7资金监控账户当日余额查询2.04.70.7账户历史余额查询2.04.70.7账户历史流水查询2.04.70.7监控项设置5.011.71.8监控报表和提醒3.07.01.1银企接口银行指令查询5.011.71.8银行指令维护5.011.71.8自动归集方略设置5.011.71.8交易查对5.011.71.8审批流审批设置4.09.31.4权限转移4.09.31.4每项合计工作量(人日):97.5227.534.1顾客手册5.0验收测试4.0合计工作量:368.1人日在使用了自动化测试工具后来,验收测试只需要搭建环境和数据初始化,效率提高了,测试工作量减小到4人日。计划的测试资源为4个,计划的测试工作日为48日,故计划工作量为192人日。在未引入自动化测试工具此前,第二轮和第三轮及验收测试的工作量合计为(48.8+24.4+12)=85.2人日,引入自动化测试后来,后期的测试工作量为(227.5+34.1+4)=256.6人日。指标公式数值计划测试工作日48日计划测试资源4人计划测试工作总量48*4192人日替代的手工测试工作量48.8+24.4+1285.2人日估算自动化测试工作量227.5+34.1+4265.6人日估算测试工作总量368.1人日估算测试工作日368.1/492日估算测试周期7月4日-11月上表的数据表明,实行自动化测试,在最佳的状况下(不考虑学习曲线和需求变更),估算测试周期为7月4日~11月8日,比预学习曲线、需求变更对工作量的影响根据项目管理的有关理论,学习曲线和需求变更将分别会增长30%的工作量,考虑到对测试工具的理解程度,QTP的学习成本会少某些,估计为10%,FunctionTester的学习成本将为30%。估算测试工作量为:指标没有需求变更有需求变更公式数值公式数值手工测试估算工作量187.6人日187.6*(1+30%)243.9人日使用自动化工具估算测试工作量QTP97.5+265.6*(1+10%)+5394.7人日97.5*1.3+265.6*1.4+4502.6人日RFT97.5+265.6*(1+30%)+5447.8日97.5*1.3+265.6*1.6+5556.7人日估算测试工作日QTP384.8/498.7日490/4125.6日RFT436.1/4111.9日542.3/4139.2日估算测试周期QTP7月4日~11月17日7月4日

温馨提示

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

评论

0/150

提交评论