开发人员和测试人员呆在一块,似乎有一种与生俱来的优越感。这种优越感和人的品性无关,这是一种知识差距带来的满足感。也许这纯粹是我的敏感。
很多情况下,测试通过行为分析出异常,这只是一种停留在表面的感性认知。这种异常,可能是相同根源的不同行为,也可能是的的确确的问题。但这一切在开发人员未定位之前,都只能是推测,不看代码,不了解设计,测试人员的推测开发有一万种理由反驳。这是测试人员天生的弱势。
这么说似乎开发和测试过于敌对,但开发和测试分工的不同决定了两者行为方式和思考方式的不同。测试的主要工作就是发现问题,找出问题的复现场景。开发的主要工作就是解决问题,进行代码和设计级别的修复。一般公司,测试和开发分别隶属不同的部门,不同的主管。比如说我呆的这个破公司,开发和测试同归一个研发部门,同归属一个经理领导。这种情形下测试纯粹沦为开发的保姆,任何问题都以开发能否解决,是否需要解决作为提单依据。不具有独立性,相对的话语权就小。更现实一点的是,测试的奖金和给开发找了多少麻烦强相关,也就是说要多找问题。开发的奖励和解决问题多少有关,也和版本的稳定度有关。从这个角度看,测试要拿多的奖金必须不断的尝试去找出问题,开发更是找各种理由反驳测试提出的问题以证明他们作出来产品的稳定性。
本来打算多写一点的,但是描述过程就过于琐碎了,不如总结性的语言有意义。两年的测试经验让我明白,依赖开发的测试永远成长不起来,看不到代码的测试永远只能板砖。所以业内有所谓的黑盒测试,这种测试不但能发现问题,更能针对性的找到问题的根源。找到问题的根源,面对开发的反驳才更有底气。
也许这么说显得测试的格局有点太小了,但是普通的测试人员根本不具有统筹和把握产品方向的能力。所谓屁股决定脑袋,测试人员的价值只有在你地位上升到一定高度才能显现。普普通通的测试人员,只能和具体的问题纠缠。
一句话,测试要想不被开发忽悠,首先得自身知识过硬,其次对问题要深究,最后还要有强的逻辑能力。开发和测试好比辩论,你辩不赢,那就只能是输。