大家好,我是阿萨。相信大家都知道,软件开发流程会让大家每个人按照流程去执行,确保流程的每一个步骤都不出错,最后确保上线质量。
今天阿萨想和大家聊一聊如果软件测试也完全按照标准流程来,那么上线就一定不会有bug了吗?
阿萨认为不会的,即使有了完美的流程,即使测试每个人都做得非常标准和到位,也不一定会上线无bug。
因为上线是一个整体团队的合作过程,不是某一个人,某一个角色的任务。是一个分工合作的过程,需要每一个合作者都齐心协力去合作完成的。
如果每一个合作完成的人,都尽职尽责。那可能没有问题。但是如果工作变成了走流程,为了让数据或者流程好看,就只是在检查项目上打对勾,说自己做完了。那这样的团队合作其实也很危险。
因为大家都是为了流程而去工作啦,就看流程走到哪里了,从来不会考虑最终的质量结果。只要流程到位了就认为是质量达标了。但是流程到位了就真的质量达标了吗?
凡事发生,必有前因后果。当所有人一起拔萝卜的时候,因为最后一个小兔子到位加入,萝卜拔出来了,所以功劳就是小兔子的吗?肯定不是。
反之,拔萝卜的时候小兔子最后一个来拔的,使了全身的力气,萝卜都没拔出来,那么都是小兔子的错吗?不会的。
大家都懂得道理,延伸到软件测试领域。需求开发了,测试完成了,开发修缺陷,导致了基本功能有问题了,问题遗漏到线上了,这个靠测试走标准流程就能解决问题吗?肯定不行的,因为测试不会引入缺陷,也不能阻止缺陷引入。
测试作为软件开发全流程中唯一不会引入缺陷的角色,为什么会在任何出现质量问题的时候都要求测试改进呢?
需求分析遗漏场景,开发代码画蛇添足,这些都是典型的软件质量的隐患,但是谁会真正拔开这层产品和开发的遮羞布,直接找出那关键以及致命的问题来切实解决问题呢?
所以是大家意识问题还是测试推脱。阿萨觉得所有软件开发团队里的人都知道是咋回事,就看关键时刻是大家一起承担责任还是每次把测试丢出去背责任,不停让测试改进,而不追究真正搞坏事情的人。
毕竟测试是软件开发流程中唯一不会对产品质量产生负向结果的人。因为缺陷引入永远都不可能是测试的责任。也因为测试永远是个吃力不讨好的岗位,软件成功了,测试名字都不会出现在表扬信里,失败了,测试会第一时间被拉出来背锅。