如何组建自己的测试团队

 中国软件行业起步晚,基础薄弱,测试方面的理论和实践更是少之又少,加上存在一定程度上急功近利的思想,导致了在建立测试管理体系过程中犯了一定程度上本本主义的错误,照搬照抄国外成熟的管理体系,而不去分析其是否合适自身发展的需要,于是在中国软件行业出现了这样一种奇怪的局面,整个测试行业弥漫着一种浮躁的心态:一方面,各种论坛、各种培训轮流登场,测试工程师也一度成为IT职场上的新宠,薪水看涨;另一方面,成熟的测试工程师在行业中很难找,网上的各种论坛则存在很多“XX测试方案给我一份”的初级测试人员;各个企业也希望能够通过引进几个测试工程师,办几次培训就能解决问题。整个行业不健康的心态注定产生不了众多在测试管理上获得成功的企业,各种培训的成功案例中也鲜有中国自己的案例。这从一个侧面反映了中国软件行业测试水平还处于初级阶段,这不能不说是一种悲哀,难道中国人在软件测试领域就不能开创自己的品牌吗?当然,中国的软件企业中也有做的相当不错的,比如用友的软件开发管理体系和金山软件开发管理QMR体系,但是中国软件业的进步不能仅靠为数不多的几个大软件企业,而是要靠为数众多的中小软件企业的成功崛起,要靠不断的学习和借鉴,而这就需要运用正确的方法论来对待国际上的先进经验。

  什么样的方法论才是合适当前形势的?本本主义和蛮干主义显然是不行的,本本主义容易导致僵化,蛮干主义则会丧失速度,加大差距,从投资的收益上看也是不划算的。正确的做法应该是拿来主义,要“沉着,勇猛,有辨别,不自私”。鲁迅先生说过“没有拿来的,人不能自成为新人,没有拿来的,文艺不能自成为新文艺”,同样,没有拿来的,测试体系也不能成为符合中国中小企业特色的管理体系。当然,只有抽象的方法论是不能解决问题的,还必须落实到创建测试体系的每一个步骤中。其中,最为关键的是测试经理的选拔,测试机构地位的确立和历史问题的处理。测试体系创建过程中要注意的问题还很多,但是只要做好了上述三件事情,基本上就可以保证测试体系的成功建立。

  谁能成为合格的测试经理?

  测试经理的选拔是创建测试体系中的首要和第一重要的任务。一般来说,可以从资深的开发管理经理中选拔。资深的开发管理人员在组织中具有比较高的威望,容易获得开发人员和上级普遍的支持。同时,它还比较了解企业当前的业务流程,容易找到问题所在,从而能够建立合理的测试体系。从这一点来说,空降兵是不合适的。另外,国内测试行业的发展状况也决定了找到合适的人选是相当困难的。当然不是所有的开发管理人员都能够承担重任,未来的测试经理除了具备丰富的开发管理经验外,还需要具备对软件工程的深入了解以及强烈的质量意识,当然他还需要出色的团队领导能力。此外,为了能够在创建测试体系的过程中不断与不利因素斗争并最终获胜,测试经理还需要具备一定的谋略。在选拔测试经理时,没有完全符合上述条件的人员也不要紧,只要候选人具备很强的学习能力和坚忍不拔的性格也能够担负起开拓局面的重任。

  为什么候选人需要出色的团队领导能力呢?测试队伍是组织中的新团队,在行业中测试的地位又不高,测试人员内部以及与整个团队的协调工作都需要依靠测试经理运用高超的领导能力才能完成。

  领导能力包括阐明团队远景、培养员工以及激励员工的能力。测试团队的远景是什么?是不是和开发团队同样重要,测试工程师的职业前景是什么?诸如此类事关团队士气的问题都需要测试经理用出色的沟通能力来传达。培养新员工也是测试经理日常工作中相当重要的一个部分。金山公司在创建测试队伍之处也是依靠完善的培训才将测试队伍的能力提高到一定层次的。优秀的测试工程师首先应该是一个合格的开发工程师,至少具备一定的开发能力,这对树立测试工程师的地位和开发自己的测试工具库都很重要。

  测试经理候选人还需要一定的谋略。因为在组织中创建一个新的队伍,加上之前对测试工作的不了解,必然会导致开拓测试工作中很多的不理解,甚至会造成很大的阻力。比如引导测试工程师学习各种开发知识,比如要求开发人员提供详细文档、要求使用规范的测试流程系统等,这都会成为不可回避的问题。因此,测试经理除了要有坚忍不拔的毅力以外,还得讲一点谋略,什么时候做什么事情,如何做,是否需要利用一系列的事情营造声势等等。比如,在测试组成立之初,可以利用开发测试缺陷信息系统的时机,一方面提高测试队伍的士气以及在这个组织中的形象,另一方面还可以为今后测试流程的建立打下基础。

  怎样确立测试机构的地位?

  测试机构在组织中地位的确定事关测试机构执行测试任务的效力。软件工程大师布鲁克林20多年以前就在《人月神话》中指出,测试机构的独立是十分重要的。在微软的软件开发模式中,测试团队的权威是相当高的,测试团队、开发团队和项目管理团队是软件项目组织中独立的团队,分别向各自的上级部门负责,类似于美国政府的三权分立。然而,我们还不能照搬微软的经验,因为我们并没有这么多的财力、人力来保证一个独立的测试实验室和庞大的测试队伍。所以,为项目组配备一个测试小组几乎是不可能的,但是我们至少应该在整个研发部门成立独立的测试小组,统一开展测试任务的执行,同时为保证与不同的产品紧密衔接,应该实行责任测试工程师制度。测试团队应直接向研发部门的质量总监负责,质量总监在研发部门的地位应该等于或者高于开发团队的最高负责人,只有这样才能保证测试机构的权威性。当然,究竟配备多少测试工程师取决于企业的具体状况,但是测试机构的独立性是必须保证的。

  如何处理历史遗留问题?

  在MBA教程中,关于危机的处理原则非常简单,即“说真话”,并且赶快说。对于测试小组成立之初历史问题的处理来说,可以采用相同的原则,即“正视历史问题,说真话,赶快说”,具体可以分解为以下几个要点。

  第一,建立缺陷管理信息系统,收集整理遗留的缺陷,报告相关数据。测试小组成立以前,企业的产品中肯定已经存在大量的历史缺陷,散布在技术支持部门和开发人员当中。测试小组的当务之急就是赶紧把这些纸面上的问题电子化,全部收集起来,同时建立一个规范的缺陷报告系统。缺陷管理系统有很多,最简单的就是一个excel电子表格,最复杂可能要算是Rational的缺陷系统了。如何使用这些系统,取决于企业的实际情况,一般认为,一个比较简单的ASP + SQL Server的小型缺陷收集系统就足够了,系统最好是自己开发,这样维护比较方便,同时业务流程修改起来也比较容易。

  第二,建立严格的版本管理制度,追踪发布的每一个版本。中小软件企业为了生存,往往不重视软件产品版本的管理,随时都为用户提供不断修订的版本。这样导致了修复问题的代价变得越来越大,因为每一次修改都很仓促,常常是解决了这个问题,衍生出很多其他的问题。解决这个问题的关键是建立严格的版本管理,任何一个版本的发布都必须经过测试小组全面的测试,同时详细记录每一个版本的信息。这些都与配置管理息息相关,所以测试体系的建设中还必须建立有效的配置管理。

  第三,提高开发人员的编码质量,建立严格的代码评审制度。这一点在用友做的很好了,用友的每一段程序都有人检查,对于其中典型的代码还当众进行分析,从而不断提供高开发人员的编码质量。再好的测试团队也只是在后面检查代码编写的质量,代码质量真正的提高还要靠开发人员功力的提升。开发和测试双管齐下,就能保证软件的质量得到不断的提升。

  总结

  测试体系的创建是事关中小软件企业发展的生死门槛,愿本文能给众多的软件研发主管提供一点新的思路,希望有更多的人学会用拿来主义看待国际先进的理论,从而开创测试体系创建的新局面。

 

posted @ 2016-02-24 20:06  我只吃大碗  阅读(2499)  评论(0编辑  收藏  举报