• 快捷搜索
  • 全站搜索

银行测试如何做得更“经济”

2020-03-16 16:52:43作者:交通银行测试中心 叶旻编辑:金融咨询网
银行测试的“经济学”研究就是要利用经济学的理论知识,从测试过程中的投入产出入手,从而分析研究解决问题的有效举措。总的来看,银行测试对银行信息化建设的作用还是十分关键的。

行业现状:信息化建设从辅助业务、实现业务到驱动业务,早已成为银行的核心竞争力。为了保证信息化建设过程质量,确保产品和服务满意度,银行测试逐步受到重视,进入了快速发展期,其投入也随之逐年增长。其实从投入产出的角度来讲,测试是成本和回报的博弈,两者并非是永恒的线性变化关系。目前大部分商业银行已跨越投入回报趋于线性变化的初级阶段,迈进了边际效益递减的成熟阶段。如何使得银行测试更加“经济”已成为当前从业人员重点研究的课题。

银行测试的“经济学”研究

  在经济学中,投入产出比是用来评价经济效果的重要指标。如果用I表示为投资总额,IN表示为产出总和,其计算公式可以表示为:R=I/IN。该值越小,表明经济效果越好。在测试过程中,“投入”可以是开展测试活动所需人力、时间和环境等资源的成本,“产出”可以是通过测试解决缺陷、降低风险等手段最终提高的软件质量。因此,也可以通过分析投入产出之间的关系,来评价银行测试的经济效果。

测试为什么要开展“经济学”研究

  近几年,新科技在金融领域的应用呈井喷式发展,人工智能、大数据、区块链、物联网、云计算等技术方法的广泛应用,引领了银行产品创新发展的新方向、新思路,也使得银行科技底层架构调整和开发新型产品的需求层出不穷。不断增长的需求、成本约束以及质量提升之间的矛盾日益突出。如果一味控制测试方面的投入,可能不足以及时识别和有效应对因软件缺陷造成的系统风险;如果一味追求质量保证和控制,则可能造成项目工期延误、成本失控,甚至高于系统所能带来的效益。那么该如何平衡需求、成本和质量之间的关系,发挥测试资源的最大效益呢?银行测试的“经济学”研究就是要利用经济学的理论知识,从测试过程中的投入产出入手,从而分析研究解决问题的有效举措。

几项做到“经济”的最佳实践

  01.适度测试。

  (1)适度测试的理论意义。测试规划阶段,设计者经常会纠结于人员、时间和环境资源有限,无法确保每个测试需求都能按期做到全量覆盖,需要合理分配有限资源,有所取舍,从而最大程度确保测试质量,做到适度测试。

  目前行业内普遍采用的适度测试实践有三种。一是基于经验的选择。由经验丰富的测试人员分析测试需求,根据发现缺陷的可能性程度确定测试的优先级别和资源需求,从而根据现有的资源现状缩小测试范围。这种方法多用于有历史数据积累和经验参考的项目。二是基于对本期开发变更可能影响业务范围的评估。这种方法在实施前,一般都建立了一套比较完备的“系统功能、接口与业务需求对应关系图”,根据开发人员修改变动的部分来分析评估可能影响到的业务范围,重点对这些业务进行测试。这种方法多应用于系统较为成熟的升级优化项目。三是基于缺陷预测。首先需要分析可能影响缺陷数量的各项因素,然后根据以往积累的数据,将各项影响因素与缺陷数量之间的关系建立数学模型。在新项目测试过程中,可将各项影响因素的现时数据导入模型,形成对缺陷数量的趋势分析。当缺陷出现明显收敛时,便可结束测试,从而避免造成资源浪费。这种方法多用于有大量数据积累的项目。

        (2)适度测试的经济学意义。理论上来说,适度测试减小了测试的范围,也设置了衡量测试结束的标准,应该是一种经济的方法。从经济学的角度来分析,假设某测试需求有n个测试功能点,每个功能点的执行案例数分别为PC1、PC2、……、PCn,发现的缺陷数分别为D1、D2、……、Dn,其投入产出比R就可以表示为:

图片1.jpg

        根据前面提到的适度测试方法,更有针对性地选择i个功能点进行测试,公式可调整为:

图片2.jpg

  由于选择的功能点为关键功能点,可以覆盖绝大部分的缺陷,因此分母D1+D2+…+Di并没有明显减小,而分子执行案例数PC1+PC2+…+PCi则明显减少,因此R'<R,投入产出比变小,表明经济效果更好。

  (3)适度测试的风险和应对方法。适度测试的确起到了经济效果,但选择的测试范围是否能够发现绝大多数的重大缺陷,确保测试质量,是一个潜在风险点。相比之下,基于经验的适度测试完全取决于测试人员的个人能力,风险较高,可应用在探索性测试。另外两种方法则需要充分的积累,如果能不断完善优化“系统功能、接口与业务需求对应关系图”和数学模型,风险将能得到有效控制。

  02.众测。

  (1)众测的理论意义。众测是通过变革测试主体和统筹方法来提升测试效益的一种尝试。该模式利用众包的形式快速拓展测试人员属性族群,特别针对兼容性、用户体验等测试需求。当然,银行业出于信息安全的考虑,主要还是“内主外辅”,即由业务部门或分行用户参与测试,少数任务也有尝试通过外部机构组织公众用户来完成。

  对银行测试来说,常规性的功能、非功能测试仍是主要测试方式。众测的价值则主要体现在:一是发现常规测试人员不能发现的问题。因为常规测试人员已经存在一定的思维定式,很难完全站在用户的角度进行体验测试,或者难以全面考虑所有的用户场景。二是特殊的激励机制能够进一步挖掘测试人员潜力。众测一般采取对测试任务和发现缺陷分别计费的方式,而且不重复支付。因此能够鼓励参与人员积极抢单,“千方百计”第一个发现缺陷,使得参与者更愿意发挥主观能动性。

        (2)众测的经济学意义。常规测试方法,假设P为测试人员单位工作量的费用,M1、M2为测试花费的工作量,D1、D2为发现的缺陷数,则投入产出比:

图片3.jpg

        若在进行常规测试的同时,部分任务采用众测模式,即M2的工作量由众测替代。假设常规测试部分众测任务的奖励费用一般为测试任务数J2乘以奖励单价Pj,再加上发现缺陷数D2乘以奖励单价Pd,则投入产出比为:

图片4.jpg

  常规测试时,M2以人月来进行衡量,P是已经确定好的人月单价,也就是说测试人员的费用由服务的时间来决定,但在这段时间内,测试的产出会受到环境、版本等各种因素的影响,P并没有“物尽其用”。如果采用众测的模式,总花费是由J2和D2共同决定,也就是说“多干多得”、“优者多得”。因此同样的任务,采用众测模式时可以使得花费尽量少,发现的缺陷却更多。从公式来看,分子中Pj×J2+Pd×D2减小,分母中的D2增大,因此R'<R,投入产出比变小,由此表明经济效果更好。

  (3)众测的风险和应对方法。众测作为一种新型的测试模式,对银行测试有一定的帮助作用,但众测并不是万能的,如众测人员缺乏统一管理,水平也参差不齐,对于重要系统的测试并不适合。另外,如果安排了不恰当的测试任务,很可能造成测试成本失控,众测成本远远大于常规测试成本,从而丧失它本身的优势。因此,目前众测模式多用于用户体验测试和兼容性测试。若想进一步推广众测,则需要在加强众测管理的同时,平衡好常规性测试和众测之间的关系,真正实现“花小钱,办大事”的目标。

  03.自动化测试。

  (1)自动化测试的理论意义。自动化测试其实由来已久,为了改善传统测试依靠“人海战术”的模式,银行测试人员一直在研究利用自动化的方式提高测试效率。从最早的“录制回放”模式,到数据驱动的自动化测试模式,再到基于“关键字”的自然语言自动化框架,自动化测试在测试人不懈地钻研中飞速发展。无论采用哪种方式,主要的目的就是要提高测试执行效率,缩短软件交付周期,完成人工测试无法完成的测试任务。

        (2)自动化测试的经济学意义。自动化测试的投入成本包括前期的建设成本(C1),即自动化测试框架平台开发、测试设备准备、脚本编写等方面的花费,测试过程中脚本维护的成本(C2),以及运行成本(C3),其产出包括常规测试缺陷(D1)和回归测试缺陷(D2'),N'为自动化测试的轮次,因此投入产出比:

图片5.jpg

        如果采取手工测试,投入主要为人力成本(C),N为手工测试轮次,则投入产出比:

图片6.jpg

  由此可见,自动化测试前期建设成本较高,在短期内优势难以体现,甚至成本高于手工测试。只有自动化测试脚本不断被重复使用,即N=N'越来越大,而每次脚本维护变动较少时,C2+C3小于C且趋于0,才能使得C1+(C2+C3)×N远小于C×N。另一方面,在同一测试周期中,由于自动化测试效率远高于手工测试,N'远大于N,如采用自动化测试进行回归测试,则可有效扩大回归测试范围,提高缺陷产值,即D2'>D2。使得R'<R,经济效果更好。

  (3)自动化测试的风险和应对方法。一是自动化测试前期建设成本普遍较高,因此自动化测试的经济效益在短期内并不明显,只有长期使用才能体现出更大价值。二是自动化测试实施期间,同样存在较高的脚本维护投入,对于待测系统更新较快、变动较大的项目,也需要慎重考虑。当然,新科技的应用会给自动化测试的发展带来哪些新的契机,也可拭目以待。

  04.“实习生计划”。

  (1)“实习生计划”的理论意义。目前绝大多数银行都会使用外协人员参与测试。这些银行会普遍性地遇到两个难题。一是较高的外协人员流失率造成难以降低的人员招聘和培训成本。二是外协人员的服务年限和级别逐年增长,存量人员的费用成本同样年年攀升。“实习生计划”是近几年在银行业测试梯队建设方面出现的一种创新。这种创新是通过银行、外协公司和高校的三方合作,招收大四学生作为实习生,到银行实际测试岗位开展实习,并签订“三方协议”;然后将通过实习具备合格能力的应届毕业生补充到正式测试团队,以填补人员流失缺口和替换高成本测试人员的方式。该计划让银行能够主动地控制测试外协人力成本。

        (2)“实习生计划”的经济学意义。假设M为测试工作量(人月),如果不使用实习生时平均人员单价为P,D为发现缺陷数,C为人员流失成本,则投入产出比:

图片7.jpg

        采用“实习生计划”后,实习期间银行需要投入基础设施成本(C'),优秀实习生留用成为正式外协人员后,P'为平均人月单价,则投入产出比:

图片8.jpg

  表面上,采用“实习生计划”增加了基础设施成本,但“实习生计划”形成了一个可持续的人员培养机制。短时间来看,实习期已经培养过的人员可以很快进入工作状态,也摆脱了招不到合适人员的困境,可以有效弥补人员流失成本C;长时间来看,随着时间的推移,高成本的存量人员逐步被这些人员所替代,从而使得外协人员整体的平均单价降低,即P'<P。当留用人员的人数达到一定比例,使得C'+P'×M<P×M,采用“实习生计划”后的投入产出比将小于之前,即R'<R,投入产出比变小,由此表明经济效果更好。

  (3)“实习生计划”的风险和应对方法。“实习生计划”促使银行、外包服务供应商和实习生达到了三赢的效果,但也存在一定风险。其关键点在于:一是要合理估算每期招收实习生的数量和实习周期;二是要在实习期间完善培养方案,确保较高的毕业入职转化率。因此,实施该计划的相关方还需要不断磨合和积极探索。

  总的来看,银行测试对银行信息化建设的作用还是十分关键的。为了把好“最后一道关”,银行测试从业人员始终严阵以待,不敢松懈。随着新科技的不断引入,银行测试也将面临着更严峻的考验。但不管怎样发展创新,高效的“投入产出”应该是银行测试从业人员和管理者永恒的追求。以上这些最佳实践仅仅是“经济学”研究应用在该领域的前期尝试。希望圈内同仁能共同探讨、研究和实践,寻求更多更好的方法来推动银行测试的进一步发展。

(文章来源:金融电子化杂志)

扫码即可手机
阅读转发此文

本文评论

相关文章