关于软件的测试管理与组织结构
作者:网络转载 发布时间:[ 2013/1/9 16:17:32 ] 推荐标签:
一个测试管理者在考虑提升组织的测试能力、进行一系列测试改进时,除了考虑测试技术本身的因素外,还有一项不能忽略,那是测试的组织结构。
《TPI Next》里面划分测试关键域时,专门单独划分了一个“test organization”的key area,并且定义“A test organization meets the needs of projects for test resources, test products and test services.”,认为测试组织是关于“the right people expertise and experience at the right place.”的事情。 本文探讨的测试的组织结构只是“test organization”的一部分,重点探讨测试的组织结构如何与开发的组织结构相对应的问题,基本上对应TPI里的controlled level,即“A test organization enables uniformity in test approach, test products and procedures, agreements and clear test results.”
为什么谈测试管理时,要谈测试的组织结构?其实,组织结构在有关测试管理的探讨中有着不可忽视的作用,它体现着管理思想,也反过来对测试管理有辅助的作用,这像经济基础决定上层建筑一样,测试管理理念达到了什么层次,会制定相应的测试组织结构,以更好的落实这个理念。实践证明,很多测试过程中出现的问题后都与组织结构有关系。
而谈到测试的组织结构时,势必要先参考开发的组织结构。对于传统的瀑布开发模式而言,一个系统有可能会划分为几个模块来实现,开发的组织结构基本上是和模块一一对应的,我们拿这种典型的情况讨论一下相应的测试组织结构应该如何划分。
一个产品的开发可以分解为多个模块来实现,这个产品的某个功能或特性经常需要多个模块配合实现。假如每个模块对应一个开发项目组,测试项目组的划分经常会有两种选择,一是也按照模块划分,二是按照特性划分,一个特性可以跨多个模块。那么二者各有什么优缺点呢?
按照模块划分的测试项目组,由于和开发项目组存在一一对应的关系,二者关系更为紧密,开发人员和测试人员的交流也更为顺畅,会经常一起探讨模块级的细节和实现,有利于在产品开发阶段(发布给测试前)测试人员的前期介入,这种前期介入包含很多方面,例如测试人员对设计文档的评审检视、测试分析与设计的分工合作、测试人员参与的前期代码走读、集成测试等等,更多地测试前期介入的内容可参考这篇blog。因此,按照模块划分的测试组织对模块会进行比较充分的测试,但这种模式也存在一些弊端,比如对于涉及到多个模块的特性,测试人员在测试分析设计和评审检视中往往考虑欠佳,测试人员对整个系统层面的把握不是很到位,同时测试人员和开发人员的过于“亲密”也造成测试无法扮好“黑脸”的角色。
按照特性划分的测试项目组,对上述弊端可以做到较好的规避。但这个时候常常是测试为了避免受开发思路的太多影响,独立彰显测试的价值,从测试设计到测试执行都会另起一套,更多的从测试的角度、从客户的角度考虑问题,更多的站在特性一级、系统一级考虑问题,测试在把系统当作一个黑盒进行系统测试方面越来越擅长,此时的测试管理者如果不注意把握一个“度”的话,会出现“测试后移”的现象,测试人员把眼光聚焦在后端,致力于问题发现,渐渐的,代码走读、集成测试等前端测试的活动测试做的偏少了,甚至都移交给了开发人员。可是开发人员“天生”的对问题不敏感,其质量难以保证,很多开发人员认为开发人员所做的测试“测不彻底”是很正常的事,反正后面有测试人员做后盾。那么时间长了,这种模式的弊端也会逐渐暴露:纯黑盒的系统测试周期拉得很长,因为缺陷迟迟不能收敛,开发在版本转测试后也疲于奔命修改问题单使得人力迟迟无法释放;如果产品的需求控制不好的话,新需求的不断合入会加剧问题的恶化,新需求将无法得到有效跟踪、设计和验证;很多本应该在UT、IT发现的问题都遗留到了系统测试阶段,测试部为了保证产品的质量,花费大部分时间验证这些前期遗漏的问题,而没有精力站在客户角度、从组网场景、应用场景开展对需求的系统级验证,导致问题在网上频频爆发;而如果测试人员稳定度不高时,测试人员的不断更新,会导致了解系统内部实现的测试人员越来越少,随着产品的快速更新演进(对比较复杂的产品而言),测试人员在系统架构层面的讨论上显得力不从心,等等。
那么究竟应该选择什么样的组织结构才会大化测试效率呢?答案是没有定论。这要结合开发的组织结构、开发模式、测试人员构成、产品复杂度、需求稳定度、组织的测试经验积累、当前产品的软肋是模块还是系统等因素综合考虑。
但是至少有两点是可以确定的:
1)上述两类典型的测试组织结构无论选取哪一种,都与测试组织的成熟度没有必然的关系;
2)无论选取上述的哪一种,甚或是第三种、第四种,组织结构都不是一成不变的。实际上,有的组织会经常在这两种组织结构形式之间来回变换,以适应不同的历史形势。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11