既然测试也要求写代码,那干脆让开发兼任测试不就好了吗?
太贵。这个思潮早就有了,敏捷思想刚刚提出的时候,XP实践里就要求所有人拥有所有代码,模糊各个工种之间的界限,并且用测试驱动开发来强调单元测试的重要性。这个思潮深刻的影响了全世界的软件开发者,我一直认为2015年雅虎裁撤整个QA团队是一个里程碑式的事件,代表一种对手工测试极端的蔑视。然而这个事儿演化到现在,变成了开发、测试和测试平台三者的动态平衡。最近这几年,明显是测试平台胜出了,开发和测试的能力和投入都在下降。开源的测试平台越来越多。本质从管理上来讲,测试团队存在的唯一目的就是给老板省钱。测试团队并不产生价值,只是在消除风险,相当于老板花钱给自己产品买的保险。如果你的测试团队是外包的,这种感觉就更加明显。甚至,这种保险还不赔付,只管查,不管治。测试团队相当于体检中心,而不是医院。你不可能拿着一个产品跑到测试团队说,来,帮我看看有啥毛病,都给我搞定。然后布帘子挑开一个须发花白的老测试颤颤巍巍的走了出来,摸着你的产品说,幸亏你来得早啊,你再来晚一会儿……我他么就死了。你还记得去体检中心的感觉吗?年轻人可能没感觉,我自打过了35,每年去体检中心,内心都是矛盾的。一方面怕这帮孙子查出啥问题来,另一方面又怕他们啥问题都没查出来。这种别扭的心态完全可以套用在老板对测试团队的心态上。之所以是老板而不是产品经理,或者研发经理,或者项目经理,是因为他们都是中层、基层,练就了一身纯熟的甩锅手艺,压根不怕事儿大。出了大bug影响了发版,大不了研发往产品头上甩锅,说产品设计问题;产品往研发头上甩锅,说bug是你们写出来的,这么明显的逻辑都想不到?然后俩人一起喷测试,测试用例怎么写的,测试理直气壮的说,你们都评审过,一个都他么别想干净!我上次带一个客户的产研团队做生产缺陷复盘,我抓着一个生产缺陷,领着他们一起过了一遍,所有的质量管理措施,他们一个都没干。我问他们,假如我们要低成本地增加一个措施,你们认为应该增加啥?这帮人加一起一个月从公司拿20万薪水,给我的回答是,现在就是成本最低的方式,没法增加了。老板没地儿甩锅,客户不签了就是不签了,尾款收不回来就是收不回来,没客户就没钱,没钱就开不了工资,没工资,一只下金蛋的鸡就死了,树倒猢狲散,各回各家,各找各妈。
测试是个烧钱的必要保障,所以测试的使命,就是低成本地尽可能保障质量底线。2015年测试团队向我汇报,我给他们定的计划就是,老老实实地把成本降下去,贴近业务,少他么掺和研发的事儿。我给他们设计的接口测试平台,一行代码不需要写,只要鼠标点一点就可以了,功能用例自动生成,业务用例拖拽生成。可惜他娘的没有预算,一直没成行。但是测试人员有自己的想法,他们有极大的职业危机感,希望能学一些开发知识,未来去当测试开发工程师。我嗤之以鼻。后来我走了,我的好兄弟负责测试团队的规划,他跟我说,今年我搞来钱了,能干了。我问他,你怎么规划的?他说,自动化是我的一个方向,接口测试、UI测试、单元测试,全面自动化。我问,你打算怎么搞?他说,我招两个测开,让XX带着去搞接口自动化测试平台;让XX去搞UI自动化。我说,哥们,这里头就接口测试有价值,其他两个投入产出比太低了。他说,没事儿,我有钱。我说,哥们,接口测试平台我有设计,不需要测试人员写代码,你找俩开发干了这个平台,现有的团队直接就能用。他说,没事儿,我有钱。我说,哥们,XX和XX都他么功能测试出身,压根不会开发,你让他们去搞自动化,能行吗?他说,没事儿,我有钱。我说,你妈的,祝你幸福吧。下次通电话都一年以后了,他跟我说,要保住自己的位置,然而没保住。我还特别奇怪,他当时汇报的CTO是我朋友,我还特意问CTO,到底咋回事儿,他咋混到这个地步了?当年不是搞了好多工地,要干自动化吗?CTO说,可别提了,瞎几把搞,用的人都不对,到了Q3我一问,啥也没出来。还是我赶紧给指条路,这才混过去年底汇报。CTO指的那条路,就是我当初的那个设计,他们给翻出来,实现了。我在的时候,测试开发比是1:3,后来我哥们给干成了1:2,我的这个平台用了三年,变成1:8了。我哥们当初的策略,就是让自己的手工测试团队,都慢慢变成测试开发工程师。这是自寻死路。测试开发,什么鬼岗位,我他么嗤之以鼻。测试开发就是,当测试平台不完备的时候,用来补充的。这个岗位,论业务,没功能测试懂业务;论技术,没人家正经研发懂技术。就是个四不像,横跨测试、开发、业务,三门学科,样样都会,样样稀松。大公司玩儿得起,一个测试开发三万多,可以把手工测试全砍了,一比一地用测试开发替代。中小公司跟人家学?你他么给得起吗?2017年,我当时的下属又要搞自动化测试那个年代,中国金融行业于P2P的余晖之中,有钱没地方花,我让她调研这个公司到底有多少个自动化测试平台,结果发现有四个。你能想象吗?一个公司,四个自动化测试平台?一个都他么没用起来?这个下属属于比较务实的,抓着当时一个有人维护的平台,硬是在这个项目里用起来了。有了这个经验,她后来去某著名税筹公司,给他们搞自动化测试。招人都是月薪三万起。我俩就这个事情也有过一次大辩论。我说,测试开发你招来做什么?到底是工具开发,还是测试脚本开发?她说,两个都做。那么工具开发为啥不直接交给开发干?你们提需求就好了。她说,因为开发不懂测试,开发出来的东西不好用。我说他奶奶的你们还不懂开发呢,你们开发出来的那玩意儿就是一坨屎啊。她说,屎至少能用啊。我说你们也是钱多了烧的。她说,对,我们有钱。到了2020年,我们再聊这个话题的时候,她跟我说,现在自己基本上没啥活了。我说,你不是搞自动化测试吗?你们那个平台怎么样了?她说,做得很好了。我说有多好?需要测试人员写代码吗?她说,不需要,拖拖拽拽,就搞定了。我说,你这不就是走到了我说的那条路上吗?她说,是啊,所以我现在没啥好干的了。我说,早知今日,何必当初?她说,反正公司当时有钱,造呗。后来这公司也没钱了,造没了,也是大裁员。我可以说,这些年,就是一直在扒所谓测试开发的裤衩子。这个东西尴尬到,你想用他干个啥都不成。你要用他们去做测试吧,你发现人太贵,你招不起。就那么小猫两三只,覆盖的业务线太多,业务学不过来,自动化比例上不去,维护成本巨高。你要用他们去做开发吧,你发现,人太废,你用不起。都不是啥正经开发出身,一般都是架构给他们设计好,甚至连接口都定义好,就让他们写一些基本的东西还成。你让他们给你从头搭测试平台,就是在造屎山,而且是从一开始就屎。2020年,我知道好几家公司,测试开发团队都被干掉了。有一家公司,是测试写用例,交给开发,开发实现成接口测试脚本,放到集成环境里。有一家公司,干脆退回到手工测试,加上极少数的自动化测试。2022年,更惨了,测试开发,单纯的用不起。薪水比开发都高一大截,巨头都在裁员,搞什么搞。所以,用程序员干测试,有啥干不了的,只不过,人家都能干程序员了,为啥还要回来干测试?一个饭店里,最重要的始终是那个厨子,不是门口尝菜的,门外传菜的。一个研发团队,最重要的始终是那群开发,不是什么测试运维安全IT之类的。不要自欺欺人,这是很清楚的事情。
很现实 一个好的开发团队中缺失不需要测试 好的团队重在产品需求/设计,如果前面做好了,测试基本没出路了 也就是为什么好多测试都是好的产品的原因
页:
[1]