银行软件测试工作量分析和评估方法(转)
作为一个新兴的职业,银行软件测试融合了银行业务和软件测试两个职业的知识体系,在国内银行业越来越受到更多的重视测试队伍也在不断地发展壮大。目前国内大型商业银行都有自己专职的测试队伍。
测试部门作为一个成本中心需要分享经营部门的利润。伴随着测试队伍的发展壮大,银行决策者需要认真思考业务发展需要和测试部门规模之间的配置问题。为此,需要科学地进行测试工作量分析和掌握评估方法。
根据IT业的人力资源配置模型测试人员和开发人员的配置比例为1/3一1/5。而根据我国银行业的实际配置情况测试人员的数量配备几乎无法满足这样的要求。
测试人员的工作t如何分析和评估才能确保测试人员数量配置是科学的。这是银行软件测试工作需要研究的问题。
一、银行测试工作的特点
与专业测试公司不同,银行软件测试由于受组织结构、人力资源管理模式、系统的复杂程度以及银行业务的特殊要求等因素的影响银行软件测试工作与专业测试公司的测试工作差别较大。
1、组织结构不同导致测试的责任不同
作为银行内部的职能部门,测试工作无疑是测试部门的核心职责。换句话说测试任务的承接与否是不具备可选择性的,不管版本的质量和测试条件如何,测试工作都要如期开展;
而专业的测试公司它会根据自身的人员结构和版本的复杂程度决定是否承接项目,所以银行测试部门与专业的测试公司的责任是不同的。
2、人力资源成本的核算方式不同
作为自负盈亏的测试企业,专业的测试公司的成本核算会根据测试软件的评估质量、确保产品质量的目标和工期等因素核算人力资源成本;而银行测试人员的成本核算与项目没有直接的对应关系银行测试人员的人力投入在特定的时期内是相对固定的。
成本观念的不同决定不同版本、不同项目测试的深入程度是不同的。
3、银行工作性质和系统的藕合
度决定测试的难度较高、风险较大银行经营货币这种特殊商品,决定了测试工作不仅要实现产品功能完善性的目标而且还要证明系统的可用性、安全性。因此。测试涉及内容多、范围广;
银行计算机系统结构复杂多应用之间祸合度高、关联性强。决定了测试的过程异常复杂。相对于测试公司来说,对测试人员的专业水平要求更高,即银行测试人员是熟悉银行业务和测试技术的复合型人才。
4、银行的持续经营决定测试工
作的长期性和连续性随着银行的持续经营和业务不断扩展,业务部门的需求也是不断变化的。新需求产生新功能,进而产生新的测试要求,但测试的对象是在主体功能不变的情况下,部分或个别业务功能的优化和完善。
为此。要求测试人员对银行业务比较精通且测试人员需要相对固定,如从事个金专业测试的人员在短期内是难以胜任会计专业的测试工作,在银行所属业务体系架构不发生变化的情况下测试工作要按专业进行长期分工并持续开展。
5、测试的目标和标准不同
银行测试部门要完成的测试目标,不仅要验证功能的完善性,而且还要进行适应性测试。即功能测试之外还要满足性能、容量要求即开展全面性测试。目标是软件产品符合业务部门生产上的需要。不得产生安全生产责任事件。
鉴于银行软件测试部门的特点银行软件测试的工作量评估与专业软件测试公司的评估方法是不同的。
二、常用的软件测试工作量评估方法
测试工作量受测试的内容、测试的方法、质量要求、测试阶段多少等诸多因素的影响。测试工作量的差异是非常大的。本文主要阐述测试工作量评估方法常用的有以下几种。
1、DelPhi法
elPhi法是专家基于对特定工作的经验对工作量的估算而得出的定性评估方法,具体评估流程如下:
(1)工作量评估小组负责人向各位专家提供项目规格和估计表格:
(2)组织各位专家详细讨论与规模相关的因素:
(3)专家们匿名填写估算表格;
(4)汇总专家的意见,并将结论返回专家:
(5)专家讨论较大的估计差异;
(6)专家们重新评估直至差异逐渐缩小,最终达成一致意见。
oelPhi法是在没有历史数据情况下采取的针对性评估方法,操作简单方便,这是新测试项目的工作量评估采用的方法,可用于测试工作量的预算,并以此来编制测试的规划和指引。
elPhi法的缺点是精确度不高。专家组成员的工作经验和风格以及专家不同的个性将导致评估结果的差距会比较大。
2、比例评估法
根据开发承担的任务量,按比例评估测试的工作量。业界开发与测试的经验工作量分配为开发占总工作量的80%一65%测试占总工作量的20%一35%。比例评估法是基于软件全生命周期模型进行的工作量分配这是大量历史数据总结分析出来的量化结果。
根据开发的工作量估算出测试的工作量相对来说比较精确,这种方法适合于在软件开发公司承接软件开发项目时综合计算软件全生命周期的长度。
缺点表现在这种方法适用的前提是开发队伍与测试队伍的成熟度基本匹配。一旦出现成熟度差异,工作最评估的结果的差距较大。
3、WBS评估法
WBS(WorkBreakdownStrueture,工作分解结构)即将项目分解成可文付成果或划分成更小的、便于管理的正常的组成部分,直到工作和可文付成果被定义到工作包的层次。具体步骤如下:
(1)将测试项目进行逐层分解:
(2)最终分解为不可再分的行动;
(3)对各项行动所需的时间进行估计:
(4)逐级向上汇总工作量:
(5)核算出最终的测试工作量。WBs评估法是比较精确的工作量评估方法,可用于测试工作量的结算活动,W日S是项目管理活动的重要一个环节。WBS评估法是当前测试工作量评估所有方法中最精确的方法。它不仅完成了工作量评估工作。同时还完成了测试工作计划的编制,应用这种方法评估工作量能达到一举两得的效果。
但这种方法有其明显的缺点:一是编制W日S费时费力,投入的工作量巨大:二是若WBS编制不合理时评估的误差会非常大;三是在缺乏工作量定额数据的时候由于单位行动没有对应的劳动量数据,只能估算单位行动对应的工作量。工作量估算值稍有偏差,最终汇总结果就会差异较大。
关于测试工作量评估的方法还有很多。如根据以往测试经验或历史数据进行评估的项目经验比较评估法等,鉴于每种工作量评估方法都有其自身的优缺点在此不一一列举。在综合比较各种测试工作量评估方法的基础上结合银行测试的工作特点,本文设计了全新的测试工作量评估方法—测试工作定额评估法。
三、测试工作定额评估法
测试工作定额评估法就是将测试任务分解为不可拆分的活动。通过工作日写实或模拟操作换算出每项活动的定额工时,编制工时定额表。将活动与工时定额建立对应关系最终汇总计算出测试工作量的一种工作量评估方法。
1、将测试任务分解为具体活动根据项目管理的WBS方法将测试项目分解为各项测试行动再将测试行动细分成不可划分的活动。银行的适应性测试项目大致分解为以下几项行动。
1)测试前移行动。了解项目的设计、研发、编码以及单元、集成和系统测试的情况详细研究业务需求和软件需求根据应用改造、接口改造情况,编写测试案例。这几项行动可以分解为以下几项活动:一是项目开发情况调研:二是需求分析和评价:三是案例设计和编写,案例编写可以根据具体交易编写单个案例等。
2)测试计划行动。对项目进行详细的规划,编写测试计划,对方案进行讨论、评审并发布实施。可分解的活动有:一是各套环境的统筹规划;二是各套环境的计划编制:三是计划的讨论和修订:四是计划的推进和实施等。
3)测试准备行动。测试文档的编写和评审,测试环境准备和配置,参数安装和数据移行。可分解的活动有:一是测试案例的编写:二是测试案例的评审和培训:三是测试环境的配置和调试:四是参数文本的编制、检查和安装:五是移行文本的编制、移行和移行结果的检查等。
4)测试实施行动。这是测试过程中用时最多、也是最核心的行动维护测试环境,包含功能测试、非功能测试、回归测试、例行化测试、补丁测试等。测试实施可以分解的活动按测试案例或交易分解为单个的活动。
5)项目投产行动。项目投产行动是测试项目的收尾阶段是测试项目的最关键的行动可分解的活动有:一是投产方案的编制:二是投产文档的编写:三是投产验证方案及实施验证: 四是投产支持等。
2、核算测试活动的工时定额
所谓工时定额就是指单项活动需要消耗的工时标准工时定额是通过对历史数据的归纳、分析,最终计算出来的单位活动的时间消耗量,因为是历史数据的收集定额的产生办法有很多种本文提出了两种工时定额计算方法。
1)工作写实定额法通过现场记录测试人员的行动及行动对应的时间汇总写实对象所有行动的全部时间消耗合并相同活动的时间消耗。挑选出有效时间和无效时间,对比分析行动分析结果。最终换算出单位活动的工时定额。
题组成员记录写实数据相对规范、真实和准确,但耗时费力:员工自行填写的写实资料在规范性、信息的真实性方面相对较差但可以在信息收集汇总以后通过比较法、筛选法、判断法等方法对数据进行修正也能达到预期的效果。工作写实定额法的具体实施步骤如下。
① 编制写实工作表。工作表应包含的内容有活动名称、活动类别、工时区间、活动关联对象等。
② 写实。通过现场描述测试人员的活动,记录单项活动所投入的时间。
③ 汇总统计。将所有写实资料进行汇总,得出每项活动的消耗时间。增补工作表中没有编制的活动项目,完善写实表。
④ 数据分析。这是写实活动中最复杂的一项工作,需要分析三个要素:
一是数据的真实性由员工自行填写的写实资料,会存在个别信息不真实的情况,如夸大工时耗费。这可以通过比较同一项活动的平均时间耗费的离散程度进行判断;
二是数据的复杂度分析。如单个交易的测试时间。由于交易分为联机交易和批量交易其工时耗费的差距是非常大的。批量交易的测试有的一个批量就能完成有的需要几个批量才能完成测试工作,相同活动的复杂度是差距非常大的;
三是分析业务之间的关联性和逻辑关系通过逻辑关系分析工作量的正常范围。
⑤ 测算工时定额。根据写实工时量。分析剔除无效工时后得出单项活动的工时定额。
⑥ 完善工时定额。根据测试队伍的成熟度和生产力的发展情况定期修订工时定额。
(2)模拟操作定额法对各项测试活动抽取样本操作员,对各项测试活动进行模拟操作测试记录各项测试活动的操作时间最终汇总算出各项活动的标准时间。实施模拟操作应该注意的事项:
一是样本的选取范围,由于测试队伍是由各层级的人员组成的,因此样本点要覆盖各层次的人员;
二是样本的操作技能,由于需要计算的是定额水平,因此样本的操作技能应在测试队伍的平均偏上的水平,不能过高或过低,否则都会影响定额的标准;
三是测试的时间选择,由于工时定额受环境的制约。为此模拟操作的时间应选择在测试的过程中。这样能真实再现环境对定额的影响。
模拟操作法的具体实施步骤如下。
① 编制模拟活动表,详细列举测试的各项活动。
② 选取操作样本在测试队伍的各层级挑选适量样本,需要说明的是不同的测试活动可以由不同的样本操作员完成。
③ 模拟测试对各项测试活动现场进行时间测试。取各层级样本该项活动的平均时间,计算出该层级人员的工时定额;取全部样本该项活动的平均时间计算出该项活动的工时定额。
④ 数据修正,由于模拟操作过程中的细微差异对定额的水平都会产生较大的影响为此必须结合模拟操作的具体情况,对测试数据进行必要的修正。