CMMI过程改进之路—测试误区
作者:不详 来源:不详
在一些公司,最优秀的人永远都在最紧急的位置-作为救火队员,去处理最紧急的突发维护任务,而却不知道去追根逆源,追寻解决之道。业界已经证明,越在软件开发前期发现缺陷,越能节省成本,这大道理谁都知道。但知道和实际做起来是两回事,因为这涉及项目成本的投放策略,不少公司基于进度、成本的考虑,对开发阶段的质量关注不足,而后期付出惨重的代价。作为质量保证有两道关口,一是评审,二是测试。如果两方面都做不好,我想公司迟早会关门,因为客户的索赔,是无穷无尽的,公司维护的成本是极其高昂的。
如何做好测试是一直是业界不断探讨的话题,我相信有效的方法包括:
(1)测试团队在公司组织的架构:
应该培养专业、独立的测试团队,对于将测试人员直接隶属开发团队管理考核,实际上已经失去测试团队存在的价值,它会导致不能从客户的角度去发现问题,作为开发人员有一种天生的惰性,都会认为自己开发的产品是最优秀的,都不愿意去否定自己的工作,更不会积极主动发现问题。所以提倡的测试思想是“宁可错杀一千,不可放过一个”,一定要提倡交叉的单元测试和建立专业、独立的测试团队。
(2)测试团队的考核误区:
在很多公司,对测试组的考核是看发现了开发团队有多少的测试问题,这就避免不了测试团队和开发团队的内部茅盾,这也涉及了开发团队的短期利益。如何化解两个团队相互间的对立,我想一定要统一思想,公司的最大利益是:使交付给客户后发现的缺陷数最少,减少维护成本,成功上线。因此就不应该过于计较开发阶段发现多少个缺陷,我们的思想是:鼓励开发团队和测试团队尽量在开发阶段多发现问题,不将这些缺陷列入考核指标。唯一的考核是“产品交付给客户发现了多少缺陷 ”,如果发现了问题,要从结果倒追查责任。
(3)测试工具的使用:
要正确认识测试管理工具的使用,使用测试工具是必要的,但不是万能的。我们可以使用一些良好的测试管理工具,以便于更好地追踪解决缺陷,如Teamtrack、Testdirector等是挺好的。同时有些测试活动是靠手工方式难以实现,对自动化的测试工具要做成本/效益分析,一些测试用手工来做可能很长时间才能完成,而采用自动化的测试工具可能只需要很短时间就能解决;象基于Client-Server的负载测试或者是基于Web系统的测试,都可以考虑采用自动化工具。