解困测试外包:标本兼顾

一位供职于某软件外包公司的朋友说,他们最近在一个测试外包项目竞标中落败,原因是美国发包方觉得他们没有使用科学的测试管理 工具,担心不能有效控制他们的测试过程;而竞争对手公司虽然在团队规模和业界知名度上略逊一筹,却恰好购买并实施了与发包方相同的测试管理系统,还是得到 了美国公司的青睐。这位朋友为此大惑不解:为什么美国公司这么看重测试管理工具?我们取得了很多行业资质,有很优秀的员工,信誉一直不错,难道这些还不够 么?

我在美国的数十年间,曾供职于一些国际大型软件公司;从事应用生命周期管理(ALM)工具和解决方案研究的近十几年中,也常听一些美 国客户讲述他们在中国寻找外包合作的苦恼。近几年频繁往返于中国和美国之间,我对中国软件业的现状也有了些了解。我深知这位朋友的观点在中国软件人中具有 典型的代表性。中国软件业有重开发轻测试的传统,近几年虽然测试的重要性开始为人们所认识,但是,当国外企业带着测试项目来敲门时,大多数从事测试外包的 承包商仍未做好应对准备:要么没有让发包方放心的管理意识,要么没有让发包方宽心的管理工具。机会虽多,但国内外包公司多半铩羽而归。殊不知,解测试外包 之困,还需标本兼顾。

技术之困?管理之困?

据资料显示,国外大型软件测试已经占整个软件项目成本的40%以上,因此软件测试外包服务的收入非常可观。2006年,在全球软件外 包业务量继续高位运行的大环境下,欧美和日本等国发到中国的软件外包项目有大幅增长,测试项目在其中所占比例也呈现提升的态势。然而国内测试外包公司在获 得机遇的同时,也面临着严峻的挑战。随着软件开发的规模日趋庞大,复杂度也呈几何级数增加。如图1所示,传统的瀑布式开发模型将测试工作置于需求分析、设 计、编码之后,在需求以及设计变更之时,往往会导致一系列的返工(虚线所指为工作流的方向)。多数情况下,数据从一阶段导到下一阶段不是自动化的。这给软 件工程师增添很大量的额外工作。

近年来,软件业出现了以“测试驱动开发”和“迭代测试”为代表的新的测试思路。这使得测试外包在技术上和管理上都越发困难。以下是几 个典型的困难,既涉及技术因素,也跨越管理的范畴(在这里,我们将发包方和承包方分别称为甲方和乙方)。

第一,是项目管理的困难。

甲方在乙方项目进行时不能实时有效的对项目进度进行控制和管理。而且,甲乙双方往往各有其产品、发布和测试周期的管理,浪费了时间、 人力和资源。历史数据无法累积,也导致对新项目的测试量和进度无法估算。

第二,是任务管理的困难。

甲方不能有效地将任务布置给乙方,在乙方执行任务时也不能实时有效的进行任务级的管理和监督。乙方不能将发现的缺陷有效地反馈给甲 方。而且,乙方有可能同时为多个甲方提供服务,而每一个甲方都需有其独立之工作流。

第三,是文档管理的困难。

若需求和测试用例无法一一对应,甲方无法明确地知道所提之需求是否已完整测完。另外,双方都可能要进入对方的文档库搜寻资料,因此, 他们都要对对方设权限控制,以免机密外泄。有时,由于甲方需求变更太快,也使乙方无法实时收到最新资料。

第四,是流程管理方面的困难。

很多乙方因为没有科学完善的测试流程,难以博得国外甲方的信赖。很多甲方只愿意将劳动密集型测试项目包给中国的乙方做,而将技术含量 较高的复杂项目包到印度等国,就是看到了测试流程对测试质量的直接影响。

最后,是沟通方面的困难。

“测试驱动开发”和“迭代测试”都要求测试用例和需求及设计文档更紧密且频繁地相连,并且测试团队和设计、开发团队更便捷且高效地沟 通。这使得测试外包往往贯穿软件项目生命周期的各个环节,需要分布在世界各地的人员组成一个项目团队,进行有效交流。但是大多数国内测试外包公司缺乏这样 的交流平台。

标本兼顾的解决方案

帮助中国测试外包企业走出困境的有效途径之一,是采用标本兼顾、内外兼修的策略,增强测试管理意识和水平的同时,配合有效的管理系 统,将科学的过程在实践中固化和规范下来,既提高自身素质,又让甲方放心。这个解决方案的基本特征如下: