导读:
在AI以十倍速生成代码的时代,传统测试工程师正面临前所未有的职业焦虑。当AI代码的行为逻辑无法被完全预测,曾经引以为傲的测试用例模板和基于静态需求的测试策略瞬间失灵。问题的本质已从“已知的未知”转变为“未知的未知”,测试工程师仿佛拿着精确地图,却站在了一片实时生长的森林面前,连“问题可能在哪”都无法预见。
AI时代的质量保障核心战场已从“测试执行层”转移至“意图定义层”。真正的瓶颈不再是“如何测试”,而是“定义什么是值得验证的行为”。老贺认为,测试工程师的终点不是成为更快、更强的“找Bug的人”,而应进化为一名“系统质量设计师”,构建一个能自动感知、反馈并修复问题的“验证生态”。
这一生态由三大核心构成:意图定义层,用纯粹的商业语言定义系统“正常”工作的标准;观测信号层,设计传感器实时捕捉系统是否偏离意图;反馈回路层,建立机制让观测信号自动触发修正或预警。这要求测试工程师从微观的“用例覆盖”思维,跃迁至宏观的“系统设计”思维,将宝贵的人类注意力投入到定义“正确”和设计“让系统自我宣告错误”的机制上。
上周五下午,一个干了七八年的测试主管给我打电话,声音都有点抖。
他说,他们项目上线了一个服务网格,AI根据新业务规则自动生成了200多个API节点。产品经理轻飘飘地回了一句“我也不知道,这不AI自动生成的嘛”,就把问题扔了回来。
他盯着拓扑图,脑子里一片空白,问我:“贺老师,我连从哪开始测都不知道了。”
我听了,一点都没意外。说实话,过去一年,这种电话我接得越来越多。
曾经,我们测试工程师是团队里最“胸有成竹”的人。需求文档是地图,用例库是武器,边界值、等价类是我们百试百灵的战术。你问我会不会焦虑?我说不怕,因为我知道“问题”在哪。它是已知的未知。
但现在,AI写的代码就像一个自己会进化的活物。它今天写的逻辑,明天可能就自己优化了。你还在用上周的用例去测它,就像一个猎人拿着上周的猎物脚印去追猎,结果猎物已经换了好几个山头。
我们最核心的焦虑,不是怕找不到Bug,而是怕“连问题长什么样都不知道了”。 这才是真正的职业恐惧。
为什么必须要动手
去年参加CT-GenAI大纲讨论,关于“提示词工程”那章。
有位专家觉得,让测试工程师知道怎么用AI就够了,理解到“K2”层面就停。我说不行,必须动手,要到“H2”。
他说:“贺老师,你是不是太保守了?AI时代,学那些操作细节没用。”
我说:“你问问自己,你让DeepSeek帮你写个测试点,你写的提示词能拿到你想要的结果吗?你写‘帮我分析这个用户故事’,AI给你的绝对是空话套话。你连基本的‘拆解提示链’都不会,你连‘人工核验AI结果’的意识都没有,你凭什么说你会用AI?”
我坚持的原因很简单:人只有亲手做过,才知道什么是真的。 你背一百遍“提示词工程”的定义,不如自己花半小时,写一个“帮我拆解‘用户注册’这个用户故事,找出所有非功能性验收标准”的提示词,然后看着AI吐出来的东西,再手动去修正。
那个过程,才会让你真正理解:AI不是你的替代者,而是你思维的放大器。 但前提是,你的思维本身得是清晰的。
而这场变革的本质,根本不是AI会不会替代我们,而是我们愿不愿意重新思考:在这个时代,什么才叫“足够好”。
我的顿悟:从“点灯人”到“造风者”
十年前,我带一个刚入行的测试新人。他每天干得特别勤快,早上第一个来,晚上最后一个走,一个人点了所有模块的测试灯。我问他:“你觉得自己最值钱的地方在哪?”
他想都没想,说:“我找Bug最快。”
我笑了笑,没说话。
十年后,我再问他同样的问题。他想了很久,说: “我觉得自己最值钱的地方,是能设计一套机制,让Bug根本藏不住。”
你看,这就是我的顿悟。 我们的角色,不是在代码森林里举着火把找蘑菇的“点灯人”,而应该是设计和维护整个森林生态平衡的“造风者”。森林里有没有蘑菇,不是你该关心的。你该关心的是,这片森林的水、空气、光照,是不是天然就不利于蘑菇生长。
所以,智能体优先模式,真正挑战的不是我们的技术,而是我们关于“质量”的认知框架。
质量是什么?是一个测试用例覆盖率的数字吗?是零缺陷的无聊执念吗?质量,是系统在持续变化中,依然能稳定交付商业价值的能力。
想通了这一点,你就该清楚,你需要的根本不是更快的测试引擎。你需要的是一个 “反馈生态”。
这个生态,只有三层:
-
意图定义层:
用大白话说清楚,这个系统“正常”到底意味着什么?别再写技术词汇了。比如:“用户能在一分钟内下单,并且付款成功,钱不会多扣。” 这就是意图。任何一个业务小白都能看懂。 -
观测信号层:
装上“听觉”和“嗅觉”,看系统是否偏离了我们的意图。比如:监控API耗时是否超过1分钟,支付成功率是否低于99.5%。这些,就是系统的“生命体征”。 -
反馈回路层:
信号不能白响,要让它自己“说话”和“行动”。比如支付成功率跌到99%,自动触发一个警报,或者降级一些非核心功能。
当AI生成的代码像一个新物种流进这个生态时,你不需要预判它每一步会做什么。你只需要看它是否破坏了整个生态的平衡。 这不比写几千个用例轻松多了?
一个真实的AI测试案例
我拿一个最简单的“库存扣减”来跟你聊。
以前,我认识的一个团队遇到一个Bug:双十一大促,库存扣多了,导致超卖了。开发查了半天,后来发现是AI“优化”了扣减逻辑,把分布式锁给干掉了,因为“性能更好”。你说这Bug是人能预见的吗?
如果按旧的思路,他们肯定要写一堆“并发扣减”的用例,然后祈祷不出事。但这次,他们换了个思路。
第一步:定义意图。 没写“调用deductStock接口”,而是写:“同一件商品,在任何情况下,都绝对不能出现可售库存大于0,但实际已售数量超过了库存总量的情况。” 这,就是核心的商业意图。
第二步:设计观测点。 建了一个定时任务,每分钟跑一次:
SELECT item_id, (initial_stock - sold_stock) as calculated_stock, current_stock FROM inventory WHERE calculated_stock != current_stock
只要有一个返回值,就是红色警报。 这就是系统的“眼睛”和“耳朵”。它不看代码,只看结果。
第三步:构建反馈。 当这个警报触发,系统自动执行一个校准任务,尝试从订单日志里逆向修正。如果修不了,就发一个紧急通知到我手机上,并且附带最近10个相关订单的全链路追踪数据。
你问效果? 从那以后,他们再也没有因为库存扣减出过线上故障。他们把精力从“设计并发测试用例”上,解放了出来,转而投入到“优化这个观测逻辑”上。这,才是系统设计带来的杠杆效应。
所以,你问如何证明这套方法有效? 我根本不看你发现了多少个Bug。我只看两个指标:问题平均修复时间(从发现到解决) 和 未知问题发现占比。前者越短,后者越高,你的生态就越好。
今天下班前,做这一件事就够了
我跟很多年轻人聊,他们说:“贺老师,道理我懂了,但感觉门槛好高,无从下手。”
我说,没那么玄乎。从一个最小化的实验开始。今天下班前,就做这一件事:
打开你手头正在测的一个功能模块的文档。忘掉所有技术细节,拿出一张白纸。
用一句话,向你妈(或你那个完全不靠谱的室友)解释:“这个功能,怎样才算正常工作了?”
比如,“用户上传头像”这个功能。你别写“调用OSS接口,生成缩略图”。你就写:“用户能成功上传一张照片当头像,而且头像在手机和电脑上都能正常显示,不会变形。”
然后,基于这句话,列三个最关键的“健康指标”:
上传接口成功率 > 99.9%。 头像从上传到在各个端显示,最长不能超过3秒。 不同尺寸的屏幕上,头像不变形。
写完之后,你会发现,你的脑子完全变了。你思考的不再是“我得写哪些用例去测那些可能出现的失败情况”,而是“我如何建立一个持续的监控,让我永远知道这个功能是健康的”。
人类最宝贵的不是执行力,而是注意力。 在AI时代,你宝贵的注意力不该耗费在无穷无尽的用例执行上,而应该投入到更上游、杠杆更大的地方:定义什么是“正确”,并设计一套让系统自己告诉你“我不正确”的机制。
这条路,就是老贺看到的终局——从“测试工程师”到“系统设计师”。
它一点都不高冷。起点,就在你那张白纸上的第一句话,以及你愿意放下对“找Bug”的执念,转向对“设计正确”的渴望。
现在,你愿意动笔吗?


文章评论