自盘古开天辟地,有了软件之后,就有了软件开发流程,然而在测试群,测试社区中偶尔总会听到测试变成了背锅侠的问题,这个问题在现在大部分公司中已经成为了一个非常突出的问题,也影响着一代又一代的新人,像那么测试应该是怎样的呢
笔者至今工作6载有余,至此只想告诉广大测试者,如果你沦为了背锅侠被辞退,请不要伤心,因为这个团队也难以赚钱了。那么为什么会这样,问题在哪里。根本原因其实还是在于软件测试流程。毫无疑问,一名测试沦为背锅侠,是因为漏测了,漏测从而导致了线上事故,公司的损失带来了离职。可是为什么开发同学却能安然无恙呢,这时候,开发同学会保持沉默,而hr却会告诉你,你就走吧,你走了,测试好找,开发可不好找。。。。。。这就是所有的问题的关键了,测试究竟有什么用,与开发有什么关系
总所周知,一个软件,一个网站的诞生是一个团队的结晶,一个团队,它会包括后台开发工程师,前端开发工程师,DBA,运营工程师,测试工程师等等。而测试确实整合整个所有代码的关键,尽管是功能测试,那个被所有人看不起的职业,却在默默地分析需求,写测试用例,把整个的网站一点一点盘活了。所以可以毫无疑问的说,一个团队中,如果要说最懂业务的,那肯定不是开发,绝对是测试,开发更加能理解部分代码的实现方式(前端不管后台代码,后端不管前端代码的),可以肯定的说,一开始测试和开发同时拿到了需求,开发正向思维,将代码写出,而异常情况确实由测试通过等价类划分,边界值方式写出测试用例,然后不停地点点,将bug提交到bug管理工具,从而完善代码的,那么从这个角度来说,可以看出来,如果说开发是深度写代码的,那么测试就是负责横向扩展的,可以看到测试的难度并不比开发的小,那为什么却在整个研发过程中变成背锅侠呢。这个与国人的眼睛有关,一般我们生活中,如果谁给你付出了什么,(比如说你成功地上线了几次,为公司赚了多少钱)他是看不见,但是如果你犯了错误,那就是很明显的,而测试作为最后一关的把关者,只要犯了错误,几乎就是致命的,这时候,所有的测试都要去喊冤了,为什么你开发犯了那么多错误,我提交了那么多bug,不会被辞退,而我就犯了一个错误,就导致了失业。这就是现在一个很平常的社会现象了。
我们继续进一步分析,为什么会这样呢,其实这就与现在大家所接触的公司的团队凝聚力有关了,刚才也说到了,测试犯了一个错误,导致了失业,而研发被提交了那么多bug,却活的好好的,关键问题在于测试经理,测试经理是一个很神奇的职位,他属于管理岗,是有权利去要求开发配合做某种事情的。但是他却意识不到,研发犯错,不会被辞退,而测试犯错却被辞退的变态现象,如果你被辞退了,那么测试经理也有不可推卸的责任的。他不去为你积极争取,或者说,他自己就根本不懂测试。虽然拿了各种各样的文本证书。而这类的测试经理基本上属于是功能测试直接转化为管理岗位的。在测试部门没有产出一些有价值的工具或者内容来壮大测试部门的价值,如果测试部门的价值被放大了,那么测试工程师自然也就会被看的很重,那么怎么会变成背锅侠呢。所以大家投递中级测试工程师职位的时候,很多测试经理都会直接问大家,如何去保证项目的质量,提高项目的质量,这时候,自动化测试,性能测试又进入了大家的眼睛,很多公司都把期望寄托在了自动化测试上面,甚至于觉得自动化测试可以解决这些问题。其实自动化测试只会辅助大家去测试一些重复的工作,而对测试的广度没有任何的作用!
测试作为背锅侠确实是很不正常的事情,测试教科书上也提到过,测试本质是提高产品的质量,而不应该为产品的质量负责,这句话说的很有意思,测试工程师只是提高产品的质量,但是不是QA,QA才是软件产品质量的负责人。但是作为开发来说,他却认为测试漏测了,是测试的问题,这时候大家不要怂,直接问,我漏测了,你的bug难道不是露出来的问题吗。一切bug的源头都是开发,代码是开发写的!这个在薪水上也得到了相应的验证,大家可以在各种招聘往上查看到,普通的功能测试,薪水甚至于只有开发工程师的一半,如果说都是拿8k薪水的测试负主体责任,那么拿1万6的开发应该是什么样的责任呢。难道说,测试是主体责任,不应该是测试的薪水是研发的两倍吗????
所以作为测试经理来说,其实是应该能看到一件事情的正确性的!如果作为测试经理,你意识不到这点,我不知道是该为你的员工悲哀呢,还是为你悲哀。那么测试部门应该是怎样的,测试部门应该是要有测试工具以及测试覆盖率的提高的,从而来证明自己的价值,而漏测不应该作为辞退一个测试工程师的理由!
至于如何去提高测试的范围以及广度,这个是非常有学问的一个东西,正规的测试流程应该是 写测试用例-执行测试用例-UAT测试-用户使用。而作为国内大部分公司从节省成本的角度来说,自动忽略了UAT测试这么一个重要的环节,而压力直接冲到了测试工程师面前。这时候,测试工程师就会有一种因为害怕甚至发抖着去测试系统的问题,那么这样的公司不倒闭,什么公司会倒闭呢!而这个问题的核心也在于测试经理,他没有办法去争取到公司的资源做UAT测试,那么是否应该将公司的其他部门(比如产品部门)的人员拉拢过来进行测试,从而扩大测试的广度,减少线上bug爆发的可能性呢。
、