举个我实际遇到的例子,有位客户部署之后的几个月内一直很稳定,有天突然向我们反馈系统故障,排查了老半天发现是对方运维升级了网关,没给我们的产品域名开白名单。你再委屈也没用,客户一定要服务,这种情况下测试几乎是全程贴身重保。况且企业采购之前基本都要你出具各种测试报告,你要是跟客户说我们先进团队没有测试,客户会说不好意思我不要你的产品。
还有一个事实是,这类测试需求都偏低端,不同客户之间 80% 的测试内容是重复的,就是不停地回归。剩下的 20% 那可是金主爸爸的定制化需求,而且以大多数产品的架构现状,这些定制能改到连那 80% 的代码都变得不稳定,你还不敢不全量回归。我曾经问过一位 P10 前辈对测试职业是怎么看的,答曰:很多企业对软件问题的自主判断和解决能力是缺失的,所以测试的存在也就成为一种必然。
如果你以为今天我要表达的是:哪怕你只是个点工也不要担心,因为还有大把低端岗位等着你?当然不是。我们的数字化转型可不只是随便说说,而是以一定速度在推进,信息产业更是首当其冲。上面我列举的几个影响因素,尽管较为缓慢,也在持续淡化,具体对测试的影响会是什么?
不是说测试整个群体会消失,而是一个尾部淘汰的过程。上面画了一个示意图,虽然从业人员的能力分布一直会是个波形,然而这个波在持续往右推进,如果个体水平没有变化,就意味着生存空间会被不断挤占,直至消失在尾部。假设你现在在中位线,这个时间我估计大约是 10 年。其实也不绝对,因为总会有些变量出现,比如大家都关心的 ChatGPT。
这么说可能没有概念,我举个例子。有了电子计算器之后,算盘基本就没用了,但会计职业不会消失,失业的是学不会(或不想学)电子计算器的会计。而且这是有个过程的,不是说“啪”得一声尾部群体齐刷刷的原地失业。他们先去用不起电子计算器的地方,等这些地方也普及了,再去更边远的小镇或乡村。放在测试职业身上,这个淘汰链大概就是:大厂->中小厂->外包。也许不是很严谨,就是这么个意思。
上一段的例子也说明了另外一个问题:对单一细分技能的依赖是极其危险的。因为没法预料什么时候会突然出现一个取代这项技能的东西。我们可以看看运维行业,或多或少有我们未来的影子。前面说的某名厂,去测试化没搞明白,去运维化倒是很成功。原本的系统运维人员,有开发能力的发展成为 SRE,没有的要么转岗,要么淘汰。
和去测试化不同的是,去运维化的成果是实在的。开发人员依赖界面系统自己就可以完成全套运维工作,碰到实在不懂的,再去问 SRE。那你要问运维消失了吗?也没有。头部企业都在上云,中小厂还有不少传统运维(想想上面说的淘汰链)。为什么去测试化不能成功?因为要是软件工程能力不够成熟,测试大把的工作就得放在沟通上,或者这么讲,测试的工作包含更多的非确定性问题。相对运维来说,测试的运气真的很好。
至于 ChatGPT,目前就是个内容理解+生成的工具。打个比喻,有个专人在帮你搜 Google,搜得又快又全,还能自动整理输出,你说爽不爽?爽,但也就仅此而已。所以它会是个很厉害的提效工具,还远远取代不了现有的测试能力。稍微专业一点的测试,都不会把 Google 的答案直接拿来无脑使用,更多的是检索和参考。要是 ChatGPT 真的那么灵,StackOverflow 封它干吗。
这类“智能”的局限性在于非常依赖知识库的正确性,如果你在一些知名的开放资料库里编造少量虚假内容,搞不好哪天就会变成 ChatGPT 的“真理”(韩国人的福音?)。还有一点,真正高价值的内容都藏在企业的内部存储中,是不会给它去做训练的,这点可能会决定 ChatGPT 永远只能是个“二把刀”。
当然,在内容领域 ChatGPT 还是具备很强的危胁性的,不然 Google 就不会着急上火,仓促搞出来一个 Bard,首次亮相就翻车,市值端走上千亿。原来 Google 这个浓眉大眼的家伙也有搞倒排期的时候,最终也给我们证明了:不管你是多大的厂,不尊重科学规律,终究还是不行滴。
源自公众号 测试开发修炼之道