最近一直在想一个问题,为什么测试总是疲于奔命,在互联网企业高速迭代的情况下,测试可以说是最苦的一群人了:
说到底,在目前互联网公司如此快速迭代开发,又有很多流程不规范情况,大部分的测试就是没有能力去做好通常意义上面测试应该做的事情,比如线上 bug 少,比如按时交付,比如少加班,比如可以一定程度上保证质量;要想做好一个测试,或者达到老板期望的一个测试,其实这个测试的综合能力包括了代码能力,项目管理能力,对于业务的理解能力,对于流程管理,风险分析的能力是需要高于开发的,才可能在 1:3 或者资源更少的情况下做好测试的活。见过太多开发埋头开发,不管需求是否合理,不管是否有人需要知道功能的上下文,总之就先码上代码再说,好了就给测试测,至于需不需要给被人解释一下,同步一下情况,基本上是不问不说,问了嫌烦的状态;这也就要求测试有比较好分析能力,可以提问,可以一步步自己分解问题,同时还需要比较好的沟通技巧和技术背景,和开发沟通,开发经常出一些莫名其妙的名词和黑话来,如何去理解它,如何去深入的沟通其实不是一个非常初级的工程师有能力做到的。
所以我认为大部分的我们成为测试的路径错了,至少我们应该做了几年开发,了解了不少项目之后再来做测试或许比一开始没有代码基础做测试会好一点,有技术,有沟通经验;这样才有可能做好或者承担起质量的重担,否则我不认为大部分的测试有能力担当保证质量 (QA) 的角色,最多就是产品质量的一个替罪羊而已;如果只是当替罪羊,那么这个职位的职业发展又在哪里呢?
我的观点是测试在承担的压力,责任上面其实有可能超过了一般的开发,但是我们的技能可能不如开发,这点我觉得是不合理的;测试需要更有技术能力的人,更有经验的人担当,而不是让因为编码能力不足而来做测试的人去当测试。