测试模式
测试所扮演的角色或者说测试的工作方式,受到很多因素的影响。例如测试资源的充足程度,开发的模式,开发的资源充足程度等。一般常见的测试工作方式有两种,一种是固定的测试人员,固定的产品,固定的开发人员,不断的迭代一个产品或者产品的衍生版本。还有一种方式就是什么都不固定,测试,开发都是一种服务,根据服务空闲时间,随时被调用。
上面已经提到了测试工作方式的两种方式,接下来说说这两种方式的好处及不足。暂且把第一种方式叫做独占模式,第二种叫服务模式。
对于独占模式好处有以下几个:
1 产品固定,测试人员有时间从需求阶段就介入整个产品的生产过程,对产品的背景,演变过程了如指掌。对于产品的理解程度,决定着测试的效率,发现问题的层次。对于开发人员来说,由于长时间开发一款产品,对于产品的代码架构理解更深刻,代码熟悉程度更高,也就意味着代码bug率会更低,及时有问题,bug修复的速度也会是非常快的。
2 从人员主动性的角度来说,由于只做一个项目责任很明确,做的版本越多,这种责任性越强,到最后基本是以一种这是我的项目的思维来做测试或者开发,做事的效率,质量都会有很大程度的提升。另外一个项目从开始到最后上线,这个过程是一个很有节奏的过程,有快有慢,做事张弛有度,会有一定的舒缓作用。
3 由于长时间做同一个产品,无论是开发还是测试都会从技术改进,流程改进的角度去做一些工具,平台等。
4 能够有效的降低管理成本,独占模式中人员的责任心,积极性都相对来说有很大提高,自我管理会在工作过程中占据主导作用。
5 从项目的角度来说,独占模式下项目的周期可以在需要的时候,通过项目成员的努力大大缩短。
接下来再来说说独占模式的问题:
在于对于开发人员来说,长时间做一个项目会有技术疲劳,对于喜欢挑战的人来说可能是比较痛苦的,同样对于测试人员来说,长时间做一个项目也会测试疲劳。尤其是测试人员,测试疲劳可能会导致一部分问题的漏测。
服务模式来说,它的好处主要是资源利用率比较高,对于项目发展不是特别明确,但是项目又比较多的组织来说更加的节省成本。服务模式带来的好处更多的体现在资源效率上,这里说的资源效率的提高主要是指可以更好的利用开发测试人员的时间,保证项目不会因为暂时的资源缺失,导致项目进度停滞。但是从项目,人员的角度来说又会带来一些问题:
1 首先是管理成本,需要一个人来分配调度资源的使用。怎么样能够更加公平,有效的调度资源这对资源的管理人员来说是个挑战。如果不能够做到公平,服务模式的运转会受到很大影响。
2 对项目来说,开发,测试人员的变换,意味着开发效率,开发质量,测试效率的降低。
3 由于是服务性质的,高效,快速的完成项目意味着很快需要投入到另外一个项目,因此在评估项目周期的时候,会不自觉地延长。即使项目进度会比预期的好,很多情况下也不会出现提前完成这种事。所以对于项目来说,很难说服务模式是提高了效率。
4 做项目的过程中,大家应该都会遇到已经上线了的项目,出现突发情况的。出现了问题,服务模式下是不会有人主动站出来说我来搞定。这时候就需要负责资源调度的人来,紧急调度资源处理这些问题。前面提到的公平这件事,在这个时候就会体现出很大的作用,如果你之前在调度资源的时候不够公平,那么之后需要紧急处理问题的时候,再想调度资源可能就比较困难了。
5 服务模式下,大家在工作过程中大部分都会有一种很机械的感觉,对于一些有想法,想要学习更多东西的人来说,时间长了就不太能接受这种工作方式,如果团队不能够给出合理的解决方式可能会导致团队的不稳定。
以上两种模式各有优缺点,所适应的组织特点也不同。对于资源充足的公司来说,一般都会使用独占模式工作,这也是为什么大公司无论测试还是开发,还是其他角色,技术深度,广度都很不错的原因。对于服务模式来说更适合需要节省成本的公司。使用服务模式,那就需要一个优秀的资源管理者,能够平衡服务型团队的优势以及它天然的缺点。以上观点有不足之处,欢迎指正。