最近,共创力咨询公司在帮一些IPD咨询客户梳理研发流程时发现一个共同的现象,那就是测试的团队的力量薄弱,测试团队的效率非常低下,测试人员的成就感较低,测试人员不知道如何参与到开发流程中,如:测试人员怎样参加需求评审,怎样介入开发前期的设计活动,如何跟开发进行配合等等。很多公司都成立了研发测试部,但测试的管理工作始终不能令人满意。那么,在IPD流程体系中,究竟如何建立高效率的测试团队呢?
第一步,作为测试部门经理要对流程进行规划。我们先来看一看IPD产品开发流程:
在新产品开发过程中,测试人员从概念阶段一开始就要参与到整个研发活动中,越早进入越好,每个过程需要都要应该有任务,而不是到系统开发完毕转测试时才正式进行测试,每个阶段的活动如下:
其中,SDV就是system design verification,即系统设计验证,是功能测试,即对各个子系统进行验证,以检验是否符合设计规格;BBFV就是building block fuction verification,即编译模块功能验证;SIT就是system integration testing,即系统集成测试;SVT就是system verification testing,系统验证测试;最后是对测试进行评估和测试缺陷的关闭。测试部经理需要建立每个阶段的流程、模板以及Checklist.
第二步,流程建立好后,测试部经理要负责测试资源的分配,针对不同的测试职能,如软件测试、硬件测试、整机测试、性能测试等,均要由不同的人员负责,对于某些测试岗位可能缺乏人员,要尽快招聘或者内部培养,让合适的人干合适的事。如果测试的人力不足,相应的测试角色可以由开发人员来补充,把测试流程走完。
第三步,提升测试团队的业务水平和技术水平。如测试一个医疗超声设备,测试人员需要对超声的设备如何使用,以及对它的功能进行详细了解,只有对业务熟悉,才能真正从用户的角度去测试产品;另一方面,提高测试的技术水平也是非常重要的方面,技术水平包括测试的设计能力,自动化工具的使用,还有对产品开发技术的理解,掌握产品的平台技术和开发工具,如果测试人员有一两年的开发经验,对产品测试帮助是非常大的。
第四步,搭建测试部门的共享平台。如建立测试用例库,测试工具库,测试经验总结库等等。定期组织部分内部的经验分享,互相学习业务知识和测试技术。笔者在华为管理测试团队期间,一般每周有两次的部门分享时间,让一些资深的开发或测试工程师进行业务经验的分享,并形成文字记录,一年积累下来,所有业务和技术会形成很好的测试资产。对于不同产品线之间的测试平台进行共享,提高工具开发的效率,对相同的测试平台进行重用。
第五步,建立测试人员的考核体系及激励机制。测试人员考核的主要因素有工作绩效、文档规范性、综合素质、工作态度。其中工作绩效占大部分比例,如70%以上,文档规范性为10%,综合素质为10%,工作态度10%。测试人员的工作绩效是一个非常难以衡量的指标,共创力咨询建议从以下几个方面进行考查:
1) 提交BUG的数量和执行测试用例的数量
2) 发现的问题的本身价值
3) 测试的技能水平(测试用例设计水平、测试工具掌握使用水平、问题的定位能力)
4) 执行测试的效率, 在满足测试覆盖率的前提下,是否能快速的完成测试任务。
另外,对于一些测试人员的软技能如责任心、沟通能力、钻研能力、团队合作等作为综合要素来考核。如果一个测试人员工作不符责任,随意敷衍,即使提交的问题单数量多,也不能证明他测试的质量高。其次积极的工作态度是提高测试质量,和整体团队风气的关键,沟通能力直接影响测试的工作效率与不同部门间的合作分工。
第六步,解决测试人员的成就感问题。在许多公司,人们对测试部都存在偏见,觉得测试人员并不开发产品,工作比起开发人员少得多,所在在招聘的时候放低要求,降低待遇,测试人员入职之后,发现跟开发人员的待遇相差一大截,就会产生心理上的落差,工作的积极很难再调动起来,影响测试的效率。这样长期下去,就会形成恶性循环。那么如何解决测试团队的成就感问题呢?建议从以下几个方面改进:
1) 给予测试部门正确的定位,测试部在公司整体的价值链条中的作用是什么?对开发人员和测试人员的薪酬差距应尽量合理。如白盒测试工程师、资深系统测试工程师、性能测试工程师或自动化测试工程师应与开发人员持平,对于执行层面的测试工程师薪酬可以降低要求。
2) 流程的保证。建议结构化的产品开发流程,明确角色职责定义,以及产品提交、问题跟踪、问题定位等细节流程。
3) 测试技术、平台的发展,测试专利的开发,打造测试人员技术积累,提升的平台。
4) 测试组织能力的持续提升,不断改进测试方法,改进自动化测试工具。
5) 建立测试人员的职业通道。如技术通道和管理通道。
技术通道:测试工程师---》高级测试工程师---》测试专家
管理通道:测试工程师---》测试主管/组长----》测试经理
在中国这个重研发,轻测试的大环境中,做好测试的管理确实不易。但只要做好以上六点,我们相信对于提高测试部门的地位,规范公司产品测试流程,培养测试人员的能力,建立测试部门的权威性一定会有较大的帮助。