8 月搭的个人工作台,12 条测试全绿之后我就没再碰它。今晚 10 点半把它翻出来重跑了一遍------红了两条。
代码一行没动过。这是这个故事里此刻能确定的事,其他都得重新查。
第一轮:12 条全挂
22 点 37 分,命令敲下去。12 条测试,全挂。
头一个念头是完了,两个月没管,烂了。压着慌看报错------没有一条提到我的代码。
报错原文:Executable doesn't exist,路径指向 ffmpeg。测试配置里带录像回放,渲染视频要 ffmpeg,本机缓存里没有这个件。

环境问题,不是代码问题。装上 ffmpeg,重跑。
第二轮:10 过,2 挂
22 点 39 分,第二轮跑完:10 过 2 挂,12 条跑完 48 秒。这回没法赖环境了。

挂的两条都在学习区。一条测每周学习导航,一条测笔记编辑器。
点开错误详情,报的是 strict mode violation:一个定位器,一次抓到了两张「E2E 学习任务」卡。
一张是测试今晚刚建的。另一张,带着 11 月 3 号的日期------那是上次跑测试留下的数据,没清干净。

测试是按「每次都从干净状态开始」写的。头一次跑,是干净的;再跑一次,页面上就有上一次的痕迹。定位器抓到旧卡,断言就挂了。
两条挂的,没一条是产品坏了。一条是环境漂了,两条是数据攒了------上次跑测试的自己,干扰了这次跑测试的自己。
代码一行没动,绿已经不是那个绿
把两轮放一起看:8 月那天的「全绿」,是 8 月那天的环境、8 月那天的干净数据。放两个月,同样的命令,先全挂再 2 挂。
「全绿」是有保质期的。环境在漂,数据在攒,检查的结果里掺着时间。
工作台本体是好的------今晚这一趟从敲命令到找到红的原因,12 分钟。要是等上线之后用户反馈才知道,就不是 12 分钟的事了。

以前我塞过 999,今晚它自己红
早些时候我用过一个更主动的办法。10 月 1 号,一张表的 45 项自检全过,我不放心,往表里塞了个必然错的 999------它红了 2 项,证明管这格数的检查在真干活。
今晚这两条红,不用我塞。它们自己暴露了检查的盲区:测试以为自己是头一次来,忘了上一次来过。
红不可怕。全绿才需要多看一眼------它是真查过了,还是压根没碰到变化。
修法明确,但今晚不动它
修法是明确的:定位器加个范围锁定新卡,或者测试开头把残留清干净。动的是测试代码,不是产品。
今晚先记下不动。红色不是工单,是证据------我先留证据,改天再动手。
反证三步,拿走就能用
把这个做法整理成三步,成本也就一两分钟:
第一步,挑一处你知道必然错的数------合计、分母、名单数都行。
第二步,把它改错,跑一遍你的检查。
第三步,看它红不红。红了,这项检查可信;不红,这项检查是摆设。
想让 WorkBuddy 给你配一套,可以直接抄这句:
「给这张表写一个自检脚本,检查项覆盖空值、合计、口径冲突。写完后,故意把一格合计改成错的,验证脚本能否报错。报不出来就改,直到报得出来。」
注意末尾那半句------让脚本自己过反证,整句话里值钱的就是这半句。

三步和这句话我收进了一份「看板自检清单」,公众号后台回复「看板」能领。
想解决的问题 → 可以先试 → 提醒
| 你想做的 | 可以先试 | 提醒 |
| 核对成绩名单 | 挑合计和分母做反证 | 全绿只说明没撞到它在查的事 |
| 放了一阵的旧工具 | 先重跑一遍测试再信 | 环境会漂,数据会攒 |
| 检查别人的报表 | 看检查项盯的是哪一段 | 报警也可能是检查自己的问题 |
做运营核数据的,先从合计下手。带团队的,把「造一个错数」写进交接动作里。做行政盘台账的,数量那一列先试。
收个尾
还有一件事它替不了你:哪些事值得进你的测试。
今晚挂的那两条,盯的是学习区的任务卡和笔记。哪里常被点错、哪份数据常被改乱,只有天天用它的人知道。测试项立错了,查得越勤越跑偏。
我是码农飞哥,10 年 Java 开发,现在做 AI 应用开发与落地。系列第 23 篇,一篇一个能拿走的东西。
下一篇讲:每天早上八点半,它自己起来干活。
我是码农飞哥,10 年 Java 开发,现在做 AI 应用开发与落地。同系列更多内容见我的 CSDN 主页:https://blog.csdn.net/u014534808