谈谈软件测试的氛围

 By Cheno  软件测试项目是否成功很大程度取决于整个团队中对质量控制的理解,以及测试气氛的形成。一个合适的测试氛围帮组整个团队朝着解决问题的方向前进。不合适的软件测试氛围,会导致很多问题,例如过多的纠缠于指标(代码覆盖率,自动化率等),相互推托责任等。很多因素影响整个项目组的测试气氛。以下就是几个我觉得非常重要的。  1)测试组的组织结构不同的公司、项目都有不同的测试组织结构,有的扁平一些,有的不严格区分开发与测试人员。这些差异性对项目的测试都是有直接的影响。举例来说,微软比较典型的测试组织为SDET->Test Lead->Test Mgr->Test Director,然后PM/Dev/Test组织再统一汇报到一个大老板。(详见 HWTSaM)这种组织结构优点是,测试组织独立性较好,测试经验容易得到分享。另外也有一些组织,Test Lead/Dev Lead/PM Lead 直接汇报给Group Manager。这种结构的灵活性强,适合快节奏的项目,以及Agile的开发模式。  2)测试人员的不同背景(Diversity)测试不仅仅需要很多创新和新鲜的想法,同时也往往需要丰富的经验去开展有效的测试活动。所以,一个好的测试团队,我理解应该是多元化的背景。举例来说,当测试一个应用软件时,一个有美工背景的测试人员必定会关注软件的界面的美观和合理性。一个有安全背景的人,必定会更多考虑软件的可靠和安全。这些不同的背景的人,在一起才能更多程度提高测试的覆盖率。这些不同背景的测试人员可以相互学习,共同促进。  3) 管理人员的领导力和风格一个测试组的氛围,很大程度受到测试管理人员的影响。管理层处理质量问题的方式,也直接影响执行层的工作。质量管理大师朱兰曾经总结一个80/20规律,他认为80%的质量问题是由于管理人员管理不当造成的,而真正由于基础执行导致的质量问题只有20%。管理人员对软件质量的理解,以及传递给执行层的信息,都直接关系到测试的氛围。这里,我想强调的是,管理人员不仅仅包括测试的管理人员,还包括开发的管理人员以及项目经理等。Adam Goucher在他的博客中也提到了对质量影响最大的是项目经理,而非测试或则开发人员。 4) 对于共同目标的认可在实际当中,很多测试人员将质量作为唯一的目标,开发人员将完成功能/解决Bug作为唯一目标,项目经理将产品的新功能作为唯一目标。但是从另外一个角度来看,其实满足客户的需求才是三个领域(开发,测试,项目经理)共同的目标,因此三个领域如何快速合作、如何以共同目标为重也对测试的气氛也有很大影响。有时候,这个共同目标会和各个领域的目标有所冲突,因此如何快速有效解决这些冲突是非常需要智力的过程,同时也依赖很多经验。 其实,软件测试的氛围也受很多其他的因素影响,例如测试人员和开发人员的比例,沟通等等。这里列出的只是我直接想到的几点而已。希望大家都能享受一个好的测试气氛。