XXXX项目自动化测试可行性分析报告.doc

上传人:飞****2 文档编号:53063382 上传时间:2022-10-24 格式:DOC 页数:11 大小:519.50KB
返回 下载 相关 举报
XXXX项目自动化测试可行性分析报告.doc_第1页
第1页 / 共11页
XXXX项目自动化测试可行性分析报告.doc_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《XXXX项目自动化测试可行性分析报告.doc》由会员分享,可在线阅读,更多相关《XXXX项目自动化测试可行性分析报告.doc(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、XXXX客户网银资金管理系统引入自动化测试的可行性分析报告版本:1.01. 概述1.1. 目的本文档对XXXX客户网银资金管理系统项目引入自动化测试工具的可行性进行评估,为项目经理提供决策参考。1.1 范围本文档描述了XXXX客户项目情况、现有测试工作流程、自动化测试本身的一些情况,对测试工作量进行了估算,最后对估算结果进行了分析,并依此提出了一些建议。本文档中讨论的自动化测试工具主要是功能测试工具。1.2 术语定义本文档涉及了几款自动化测试工具:TestManager:IBM公司的测试管理工具,属于Rational系列产品之一。Robot:IBM公司的性能测试工具,属于Rational系列产

2、品之一。RFT:Rational Function Tester,IBM公司的功能测试工具,属于Rational系列产品之一。TestDirector:Mercury公司生产的测试管理工具。Loadrunner:Mercury公司生产的性能测试工具。QTP:QuickTest Professional,Mercury公司生产的功能测试工具。1.3 参考文档2. 项目介绍2.1. 项目背景XXXX客户网银资金管理系统,是XXXX客户为了加强银行账户管理,提高资金利用效率而开发的一套资金管理系统。2.2. 项目开发、运行环境XXXX客户网银资金管理系统遵循的开发规范如下: 操作系统:Windows

3、2003或者HP Unix或者SCO Unix或者AIX或者Solaris 数据库平台:Informix 9.0 J2EE应用服务器:Weblogic8.1.4 开发平台:Eclipse(3.1以上版本)2.3. 项目进度项目的预定计划如下:序号阶段名称工期开始时间结束日期1需求阶段34工作日2006-5-102006-06-262开发阶段64工作日2006-6-122006-9-73测试执行阶段48工作日2006-7-42006-9-72.4. 项目特点分析根据业务需求分析,业务量主要集中在银行业务数据操作,包括银行数据查询,银行业务数据变更,因为和银行的交互集中在前置机上,且银行数据量大,

4、操作复杂,耗费时间长,所以系统在多用户并发操作时,可能存在性能瓶颈。另外,由于XXXX客户的分支机构众多,操作人员多,数据量大,在多用户并发操作时,性能和效率会有较大影响。3. 现有测试流程现有的测试流程按照阶段划分为测试设计阶段和测试执行阶段。测试设计阶段的主要工作是根据业务需求说明书和系统需求说明书来设计和编写测试用例。根据以往的经验,将测试用例划分成三个部分: 测试需求分析; 测试方案; 数据执行步骤。测试执行阶段的主要手段是手工测试,如果项目有性能方面的需求,再通过Mercury公司的性能测试工具LoadRunner来进行性能方面的测试。手工测试时,要完成以下工作: 根据测试需求分析了

5、解业务; 根据测试方案来执行测试; 根据数据库和详细设计来验证系统的具体实现; 根据测试结果补充、修正测试用例中的分析、测试方案部分。系统上线部署之前两到三天,要进行内部的验收测试,其目的有两个: 确认系统已经准备就绪,预定功能已经实现; 即将上线部署的软件是正确的版本。主要通过重新搭建系统环境,重建数据库表的形式来开始验收测试。4. 自动化测试简介随着软件开发技术和工具的提高,软件工程和软件过程实践的推广, 软件测试日益得到重视和专业化。自动化测试更成为热门话题。测试自动化就是充分利用市场已有的或自行开发的测试工具,全部或部分替代手工测试、完成手工测试无法完成的测试任务,以及相关的测试数据的

6、记录和测试报告的生成等。相对于手工测试而言,测试自动化通常具有速度快、执行效率高、执行过程受外界因素干扰小、测试结果准确等优点,缺点是前期投入较大,所以在采用测试自动化之前应当做好相应的评估工作。4.1. 自动化测试的目的自动化测试的目的是通过自动执行测试脚本,使测试人员在更短的时间内能够更快地完成更多的软件测试,并提供以更高的频率执行测试的能力,从而有效降低测试成本、提高测试效率。4.2. 自动化测试的前提自动化测试有几个前提: 测试人员的编程能力; 重用测试脚本的设计; 人机交互界面的早期冻结; 测试脚本开发的投入; 测试人员对测试工具的熟练程度。4.3. 自动化测试的优势和局限1,2自动

7、化测试的优势: 对新版本执行回归测试对于产品型的软件,每发布一个新的版本,其中大部分功能和界面都和上一个版本相似或完全相同,这部分功能特别适合于自动化测试, 从而可以让测试达到测试每个特征的目的。 更多更频繁的测试在回归测试阶段,如果是每天 / 每 2 天都要发布一个版本供测试人员测试,一个系统的功能点有几千个上万个,手工测试将是非常的耗时和繁琐,而且非常的枯燥,这样必然会使测试效率低下。完善的自动化测试可以替代测试人员的手工测试。 一致性和可重复性由于每次自动化测试运行的脚本是相同的,所以每次执行的测试具有一致性,人是很难做到的。由于自动化测试的一致性,很容易发现被测软件的任何改变。自动化测

8、试替代手工测试的困难: 自动化测试的目的在于发现旧有缺陷,而手工测试的目的在于发现新缺陷。事实证明新缺陷越多,自动化测试失败的几率就越大。发现更多的新缺陷应该是手工测试的主要目的。测试专家 James Bach 总结得出, 85% 的缺陷靠手工发现,而自动化测试只能发现 15 的缺陷。 技术问题、组织问题、脚本维护自动化测试的推行,有很多阻力,比如组织是否重视, 是否成立这样的测试团队,是否有这样的技术水平,对于测试脚本的维护工作量也挺大的,是否值得维护等等问题都必须考虑。4.4. 自动化测试工具对比3,4目前比较主流的自动化功能测试工具主要是Mercury公司的QTP、Winrunner,以

9、及IBM公司的Rational Function Tester。下面对QTP和Rational Function Tester的功能来进行对比:功能指标Rational Function TesterQTP用户界面与Eclipse集成独立的GUI脚本语言JavaVBScript测试Web系统支持支持数据驱动内建数据池从Excel中获得数据检查点支持支持脚本管理工具TestManagerTestDirector其它支持Business Process Testing(BPT)目前,我们测试人员对QTP比较熟悉,没有使用过Rational Function Tester。就功能上来说,Ration

10、al Function Tester 和QTP差别不大。5. 测试工作量估算5.1. 手工测试工作量估算手工测试工作量的估算原则:根据业务和功能的复杂程度,以及以往项目的实际数据做参考,得出测试完成一遍的工作量。在整个项目测试周期中,测试小组会对整个系统进行两到三轮的测试(一般是必须的)。根据以往项目的统计数据:每一轮手工测试的工作量是上一轮工作量的50,直到达到临界值,即完成一轮手工测试的最小时间后,工作量不会再减小。项目统计数据还表明:手工测试中,后期的测试工作占到全部测试工作的4050。业务功能点测试完成的工作量(人日)一级功能二级功能第一轮第二轮第三轮系统管理职责管理2.0 1.0 0

11、.5 用户管理3.0 1.5 0.8 基础设置机构类型设置1.0 0.5 0.3 机构设置1.0 0.5 0.3 币种设置1.0 0.5 0.3 银行类型设置1.0 0.5 0.3 账户用途设置1.5 0.8 0.4 账户扩展属性设置1.0 0.5 0.3 业务类型设置3.0 1.5 0.8 账户管理开户处理4.0 2.0 1.0 销户处理4.0 2.0 1.0 变更处理4.0 2.0 1.0 账号升级申请3.0 1.5 0.8 冻结与解冻3.0 1.5 0.8 账户信息查询2.0 1.0 0.5 资金清算支出资金申请5.0 2.5 1.3 归集资金申请5.0 2.5 1.3 资金划拨5.0

12、2.5 1.3 资金计划行项目设置2.0 1.0 0.5 编制计划2.0 1.0 0.5 审批计划2.0 1.0 0.5 资金监控账户当日余额查询2.0 1.0 0.5 账户历史余额查询2.0 1.0 0.5 账户历史流水查询2.0 1.0 0.5 监控项设置5.0 2.5 1.3 监控报表和提醒3.0 1.5 0.8 银企接口银行指令查询5.0 2.5 1.3 银行指令维护5.0 2.5 1.3 自动归集策略设置5.0 2.5 1.3 交易核对5.0 2.5 1.3 审批流审批设置4.0 2.0 1.0 权限转移4.0 2.0 1.0 每轮合计工作量(人日):97.5 48.8 24.4 用

13、户手册5.0 验收测试12.0 手工测试合计工作量:187.6人日按照4个测试资源计算,手工测试完成共需消耗187.6/446.9个工作日。与预定计划的48个工作日的测试周期接近。后期的测试工作占测试工作的45左右。指标数值估算测试工作量187.6人日测试资源4人估算测试工作日187.6/446.9日计划测试工作日48日后期测试工作量比例(48.8+24.4+12)/187.6=45对手工测试的工作量估算没有考虑开发进度delay的因素。一旦开发进度delay,则第3轮手工测试将无法完成,只能把优先级别较高的功能测试完成。开发进度delay的原因很大一部分来自需求变更。5.2. 引入自动化测试

14、后工作量估算引入自动化测试工具后,手工测试的主要工作量将主要集中在第一轮测试,而自动化测试脚本也根据被测试功能和业务的复杂程度不同而不同。根据下表的统计数据,在自动化测试中采用数据驱动的方式,投入产出比比较合适。结构成本收益净收益No Automation000Recording and Playback8.3112.7Data-driven structure using data pools8.4189.6Framework structure9.8155.2Framework / data-driven (hybrid) structure focusing on views of th

15、e application and using data pools11.6197.4 窗体底端根据业内的统计数据,手工测试与自动化测试脚本编写的工作量比例约为3:7,在不考虑需求变更的情况下,测试脚本的维护工作量为建立脚本工作量的1020,在估算时,取中间值15。引入自动化测试后工作量估算为:业务功能点测试完成的工作量(人日)一级功能二级功能手工测试自动化脚本脚本维护系统管理职责管理2.0 4.7 0.7 用户管理3.0 7.0 1.1 基础设置机构类型设置1.0 2.3 0.4 机构设置1.0 2.3 0.4 币种设置1.0 2.3 0.4 银行类型设置1.0 2.3 0.4 账户用途设置

16、1.5 3.5 0.5 账户扩展属性设置1.0 2.3 0.4 业务类型设置3.0 7.0 1.1 账户管理开户处理4.0 9.3 1.4 销户处理4.0 9.3 1.4 变更处理4.0 9.3 1.4 账号升级申请3.0 7.0 1.1 冻结与解冻3.0 7.0 1.1 账户信息查询2.0 4.7 0.7 资金清算支出资金申请5.0 11.7 1.8 归集资金申请5.0 11.7 1.8 资金划拨5.0 11.7 1.8 资金计划行项目设置2.0 4.7 0.7 编制计划2.0 4.7 0.7 审批计划2.0 4.7 0.7 资金监控账户当日余额查询2.0 4.7 0.7 账户历史余额查询2

17、.0 4.7 0.7 账户历史流水查询2.0 4.7 0.7 监控项设置5.0 11.7 1.8 监控报表和提醒3.0 7.0 1.1 银企接口银行指令查询5.0 11.7 1.8 银行指令维护5.0 11.7 1.8 自动归集策略设置5.0 11.7 1.8 交易核对5.0 11.7 1.8 审批流审批设置4.0 9.3 1.4 权限转移4.0 9.3 1.4 每项合计工作量(人日):97.5 227.5 34.1 用户手册5.0 验收测试4.0 合计工作量:368.1人日在使用了自动化测试工具以后,验收测试只需要搭建环境和数据初始化,效率提高了,测试工作量减小到4人日。计划的测试资源为4个

18、,计划的测试工作日为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日估算测试周期2006年7月4日2006年11月8日上表的数据表明,实施自动化测试,在最好的情

19、况下(不考虑学习曲线和需求变更),估算测试周期为2006年7月4日2006年11月8日,比预定计划的项目开发完成时间晚2个月。5.3. 学习曲线、需求变更对工作量的影响根据项目管理的相关理论,学习曲线和需求变更将分别会增加30的工作量,考虑到对测试工具的了解程度,QTP的学习成本会少一些,估计为10,Function Tester的学习成本将为30。估算测试工作量为:指标没有需求变更有需求变更公式数值公式数值手工测试估算工作量187.6人日 187.6*(1+30%)243.9人日 使用自动化工具估算测试工作量QTP97.5+265.6*(1+10%)+5394.7人日 97.5*1.3+26

20、5.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日 估算测试周期QTP2006年7月4日2006年11月17日2006年7月4日2006年12月26日RFT2006年7月4日2006年12月6日2006年7月4日2007年1月15日上表的估算数据表明,实施自动化测试,在最坏情况下(考虑学习曲线和需求变更),估算测试工作日为139.2日,测试周期为2006年7月4日20

21、07年1月15日,比预定计划的开发完成时间晚4个月。6. 分析和建议对测试工作量的估算表明,在不考虑学习曲线和需求变更的情况下,使用自动化测试工具的估算工作量为手工测试工作量的两倍。如果XXXX客户希望在系统上线后,能够自己维护BBBB公司提供的自动化测试脚本,项目组的测试人员的工作量将为手工测试的34倍。另外,行业经验,自动化测试工程师的成本约为普通测试工程师的两倍。经过项目组讨论,有以下三个建议:建议一:本项目暂只实行手工测试。为保证计划的上线时间9月7日,在本项目中不施行自动化测试,仍然使用传统手工测试。建议二:自动化测试分段实施。7月到9月施行手工测试,保证项目进度和质量。9月到明年1月实施自动化测试,项目上线延迟到明年1月份。建议三:对自动化测试只做试用的尝试。如果XXXX客户客户希望最终能够获得一份Robot的试用报告,测试人员可以在项目测试中对一到两个功能做自动化的尝试,估算比计划的项目上线日期推迟10天左右。即项目的上线时间为2006年9月16日。7. 参考资料1. 软件工程 王长元 李普惠 等编著。2. 测试员电子期刊 期 软件测试管理 主编:陈绍英3. IBM Rational Functional Tester工具帮助4. Rational 完成自动化功能测试 宁德军(IBM中国有限公司软件部Rational高级技术专员)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁