伴随着软件测试大集中发展的趋势,国内外大银行建立了自己专职的测试单位,如花旗银行、中国工商银行、中国银行、中国建设银行等。如何评估软件测试团队的生产能力,指导软件测试的组织管理,是银行需要研究的课题之一。笔者分析了研发和测试的协同工作方式、内部测试组织形式, 应用Work Breakdown Structure(WBS)评估方法对软件测试生产力进行了初步探索和研究,并提出了测试生产力的WBS模型。
一、银行软件测试的特点
因系统复杂性、业务安全性、测试持续性等特点,银行和其他行业的软件测试存在差异,表现在以下几方面。
(1)研发和测试环节相对独立。研发和测试工作由不同机构按计划组织实施,但作为软件产品生产的上下游,两者存在紧密的联系。为保障产品生产的正常运转,研发和测试期间需要大量的沟通协调。
(2)软件测试周期相对固定。研发和测试单位往往隶属于同一个金融机构, 为确保产品的持续生产,金融机构会有相对固定的版本管理周期。测试单位在接到研发单位交接的研发产品后,必须在规定的测试周期内完成测试并投产。
(3)软件测试具有持续性和长期性。研发和测试的周期是连续的,一个版本结束后会马上进入下一个版本,同时还存在版本的延续测试和生产补丁的验证测试等。
(4)测试对象比较复杂。通常情况下,因业务种类繁多、展现方式多样、安全要求强等原因,银行的应用系统比较庞大,并且耦合性较高,同时银行业务的专业性也提高了测试对象的复杂性。
在银行软件测试组织过程中,需要建立一个标准,精确评估测试单位可以承担的测试工作量,作为测试单位和研发单位沟通协调的依据,以及内部分工管理的参考。
WBS模型为度量银行软件测试的生产力提供了依据。
二、测试生产力的WBS评估方法
WBS评估方法是将评估项目分解成可交付成果或划分成更小的、更便于管理的组成部分,直到工作和可交付成果被定义到工作包的层次,然后按照统一的度量单位进行折算,对每个工作包按照重要程度分配权重,最终汇总为总度量值,具体步骤如下。
(1)将评估项目进行逐层分解,最终分解为不可再分的工作包;
(2)对各工作包按照统一的度量单位进行折算;
(3)对各工作包按照重要程度分配权重系数;
(4)按照分解路径,将工作包的计算结果按指定的权重逐层向上汇总;
(5)最终计算出总的项目评估值。
WBS评估法是项目管理活动的一个重要环节,是当前所有生产力评估方法中最精确的方法。应用这种方法,在完成生产力评估工作的同时还能够完成工作计划的编制,因此达到了一举两得的效果。测试生产力是评估测试人员或测试单位在单元测试周期内完成的测试工作量,包括工作量、资源投入、测试周期三个要素。
工作量指对测试工作开展的一系列计划、准备、实施及总结活动的计量指标。资源投入指为完成测试工作需要投入的人力、硬件及软件资源。测试周期指完成测试工作消耗的总时间成本。测试生产力公式可以表示为:
测试生产力=工作量/(测试人数×测试周期)
测试生产力的评估可按照WBS评估方法,将测试生产力各要素进行分解, 然后根据各分解项的重要程度设置权重系数, 最终折算出总的统计要素, 计算出总的测试生产力。
(1)工作量评估。工作量的评估是测试三要素评估的核心,是对测试活动内容的分解。按照测试活动内容的不同,测试工作通常可分解为测试计划、测试实施和测试总结三项基本活动,且这三项活动又可继续分解(如图1所示)。