测试人员的价值是什么
早些年就有人喊出了“测试已死”的口号,主张开发人员交叉测试。他们想说的,并不是“测试已死”,而是“测试人员已死”。没有人否认测试的价值,他们只是认为不再需要专门的测试人员了。
2010年初,我大四来上海实习。算一算快七年,已经是一名测试老兵了。测试人员的价值是什么?我一直在思考。这个问题是在从业的第五年,也就是去年才逐渐清晰明朗起来。
测试的核心价值,我认为是持续地进行技术调查,尽可能快而全面地提供质量反馈。拆成几个关键词:“持续”,“技术调查”,“尽可能快而全面”,“质量反馈”。
“持续”意味着测试是一个迭代的过程。把某一个版本分支测试好了,大多没什么难度,问题在于做长远打算,做好测试数据和用例管理,还有自动化脚本,性能和安全测试方面的规划。必要时,测试人员需要承担过程改进的角色。
“技术调查”,是我对测试过程的一种类比。因为是调查,所以应该自发地收集信息,早期介入。因为是技术岗位,所以不会抗拒学习代码,不会害怕与开发做技术讨论。会时常更新自己的测试技术和工具箱,时常提醒自己,不断用知识来武装自己。
“尽可能快而全面”,意思是测试人员不可能发现百分之百的问题,难免会有一些考虑不周和遗漏的情况;再加上时间有限,如何提高测试效率,也是我们需要反复学习思考的问题。测试与开发技术一样,也有专业的工具和框架;测试与产品设计一样,也需要用户思维,深入了解业务。如果能兼具“开发”和“产品”之长,那么离“快而全面”的测试目标就越近。
“质量反馈”,意思是测试人员主要产出是质量反馈。发现了 Bugs,要不要修,什么时候修,这不是测试人员来决定的。质量是需要整个产品团队一起构建起来的,不是测试测出来的。质量好,不会只有测试的功劳;质量糟糕,也不会只有测试人员出了问题。
以上这些表述,我不知道会引起多少同行的共鸣。其实每一点的背后都可以讲出很多故事。或许有一天,我会重拾心情,把烂尾的职业修炼系列的文章再写起来。