解困测试外包:标本兼顾

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

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

技术之困?管理之困?

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

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

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

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

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

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

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

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

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

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

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

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

标本兼顾的解决方案

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

  • 以知识为核心的思想:项目成功的基础

    有人将知识管理比作“串起珍珠的项链”,是十分贴切的。在外包的测试项目实施过程中,无论采用现场(On-site)测试还是公 司内部(In-house)测试的方式,都不能回避知识管理的问题。这不是简单的文档管理,而是对整个开发和测试过程中所有知识(包括各类文档、链接、 Email、附件等)的有序记录,以及有效的积累和查询,以备当前和未来项目之用。此外,知识库中的需求和测试用例以及测试任务的链接,使甲方可以确保所 有需求都进行了妥善的测试。甲乙双方之间共享了可靠的知识库,乙方的测试项目将始终围绕甲方需求进行,避免了信息不对称。TechExcel公司开发的 KnowledgeWise就是这样一款知识管理工具,它将需求、规划、开发及测试管理工具结合在一起,使项目全过程始终围绕同一个知识库。这样,发包方 的核心团队可以专注于测试需求的提出以及流程规范的制定,承包方可以完全按照发包方的要求执行项目。

  • 工具的整合:提供完整的ALM平台

    当前软件行业的竞争形势使得ALM工具的整合成为必要。随着测试新思维的引进,图1再也不能满足需要。就以“测试驱动开发”来 说,紧跟在需求之后的是测试方案设计工作。所以如图2所示的多种工具整合的新模式便取而代之。

    图中,实线指的是工作流和数据流方向。需求仍然是根本,可以作为项目计 划、任务或测试的输入数据。举例来说,一个新需求既可以被导入监控整个开发过程的任务执行工具内,也可能被导入产生测试用例及测试任务的测试工具内。没通 过测试的任务将作为缺陷,被导入任务执行工具内,此工具监控每个缺陷直至该缺陷被修复。

  • 科学的项目规划:甲方实时监控乙方进度

    如图2所示,通过DevPlan等项目规划工具,甲方既可以为乙方制定项目规划,又能够实时监控乙方的项目进展情况,做到心中有 数,发现问题能够及时处理,避免了项目延期和资源浪费等现象发生。

  • 流程自动化:乙方按规定的流程执行

    测试流程的管理是整个测试外包中的关键问题,根据管理的内容不同,可以分为文档管理、配置管理、缺陷管理、进度管理、质量管理、 资源管理、成本管理、变更管理等方面。有些管理工具如TechExcel公司的DevTrack,可提供可视化的工作流程及相关测试要素的链接。工作流程 图可根据需要自定义,且每一个状态都有专人负责,保证任务有始有终。另外,一些自动化的机制,如邮件自动通知和任务自动升级等,也能够添加到流程里。测试 相关要素包括测试计划、测试用例、测试任务、设计文档、代码以及需求等。这些要素的链接使得和测试相关的问题可以在最短时间内得到最好的解答。同时,上面 提到的工具整合也促进了流程自动化。图3是任务执行工具(如DevTrack)、测试管理工具(如DevTest)整合后的工作流程示意。甲乙双方若能共 享这个流程自动化的工具平台,甲方便可以为乙方规定测试流程,强制乙方按照流程执行,有助于提高测试效率,保障测试质量,并节约测试成本。

  • 分布式架构:双方沟通零距离

    在当今的互联世界中,越来越多的跨国团队通过网络来沟通。但网络在本质上并不可靠,与远程服务器的通信速度较慢。当数据量大或沟 通频繁时,团队间彼此的协作益形困难。使用分布式系统让各个团队有其本地数据库,运行起来速度快又可靠。外包项目必须有甲乙双方合作完成,测试外包也不例 外。这种特殊性决定了适合测试外包项目(尤其是离岸方式)的解决方案最好能够支持分布式团队。

    软件测试外包在中国虽然尚处在起步阶段,却因其有潜力获得高利润且风险低,已成为越来越多的中国软件公司进入外包市场的首选。然 而,如何使自己获得国外企业的信赖,成为他们测试外包项目的首选?各类外包公司可能都有自己的战术方略。选择一套科学成熟的管理系统,结合先进的解决方 案,缩短与国际公司之间的距离感,使测试过程从内容到形式都满足他们的要求,也许是一条值得尝试的捷径。

    具备以上这些特征的解决方案,以先进的管理思想为精髓,以成熟的管理工 具为支撑,能够帮助国内测试外包公司从内到外的提升管理能力,从根本上增强竞争力,不失为帮助他们走出困境的一剂良方。

 

更多新闻 >

售后服务平台登录

用户名:

密码:

登录

分享到微信朋友圈