最近微软 Windows 10 十月份的 1809 大版本更新,出现了严重的 bug,会导致用户个人文件丢失,以及各种严重 bug。而微软是之前最高调宣布裁撤测试岗位的大公司,测试工作由高级研发工程师兼职。
所以,我觉得有必要梳理一下测试岗位的必要性。
如果是以前,我会认为团队不需要专职的测试人员。所有的质量控制由研发人员自己承担即可。类似于微软的做法。
但是,在最近半年的团队项目中,我发现专职测试人员的重要性非常之高。我必须承认之前对测试工作的理解是有问题的。
面向普通用户的产品必须有测试人员负责产品质量
并不是所有的研发团队都需要测试,例如,整个团队都是后台开发,服务对象是三方开发者,那么这种服务产品,即使没有测试人员,也不是什么大问题。因为研发团队基本能理解跟其类似行业用户的诉求。
但是一旦面对普通用户,研发人员就很容易想当然的做一些不合理的功能体验。例如,宁可让用户点击十次,也懒得实现一键处理的功能。
而这种情况,专职的测试人员就很容易把问题提出来,并记录、跟踪。并推动开发人员去解决。
测试人员是敏捷开发团队交流的催化剂
敏捷开发一直用橄榄球团队配合做例子,球权只有在团队队员之前相互传递时,才能打出团队配合。才能更高效。
而测试人员恰好是开发人员之间的交流催化剂,特别是不善于交流的程序员。举个例子,共同负责一个项目的两个程序员,一个负责前端,另一个负责后台。我仔细观察,两者甚至出现两三天内在同一个办公区内没有任何面对面沟通的情况。这就非常糟糕。因为我很难想象不面对面沟通接口,及流程,如何能写出逻辑严谨、交互体验良好的产品。这就相当于橄榄球比赛中没有任何传球。
而测试人员在职责上就能很轻松打破这种僵局,测试人员只要开动测试,就一定要了解产品的整套流程,那么就不得不去找开发人员了解具体的逻辑流程,在一方说不明白的情况下,就需要拉着双方进行讨论。此时,交流的问题就解决了!
团队研发人员的主动性无法保证
公司内部制定标准流程的目的,就是规避人的因素造成的不确定性。例如,你不能完全指望大家靠责任感去主动承担项目的维护,如果没有明确的标准,维护的工作基本就是摆设。
同样的道理,产品的质量也无法完全指望研发人员的主动性和责任感。
拿我自己来看,我平时感觉自己还挺在乎产品质量的,但是一旦某一天忙起来,有几个项目需要并行处理时,我自己肯定也会偷懒。这时,测试人员的监督作用就非常的明显。
这就好像没有监管和制衡一定会滋生腐败,一样的道理。
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式