事故回放
场景:Android项目转测,内容池跳转功能无法跳转,阻塞测试用例,提致命单(后降级严重)。
时间线:
- 3/30 19:30 — 提交代码
- 3/30 — 主动确认路由整改同事,对方说他会来改
- 3/31 — 等待,对方未跟进
- 4/1 — 转测发现跳转失败
根因分析
| 原因 | 说明 |
|---|---|
| 路由整改未同步 | 项目做了路由整改,新方法替代旧方法,我的代码用的是旧方法 |
| 依赖别人未跟进 | 对方承诺会来改,实际未执行,我未主动二次确认 |
| 转测包未自验证 | 本地测过没问题,但没有用合入所有人代码后的转测包再跑一遍 |
| 后台接口干扰判断 | 同期后台接口也有问题(linkurl为空),混淆了是路由问题还是接口问题 |
| 自验证表看漏 | 用英文搜自己名字,而用例里写的是中文名,漏掉了 |
核心教训
❌ 错误认知:git merge成功 = 功能没问题
路由整改是新增一套新方法,不修改旧代码,所以 git pull 不会有冲突提示。merge成功不代表功能层面兼容。
✅ 正确做法:转测包验证是必选项
不管本地测了多少遍,合并所有人代码后的转测包和本地包是两个不同的东西。转测前,用转测包跑一遍自己负责的核心流程,不可省略。
❌ 错误认知:别人说会来改就等着
对方承诺了但没有跟进,两天没动静。依赖别人的承诺而不主动跟进,是风险。
✅ 正确做法:转测前主动确认一次
涉及其他人改动的部分(路由/接口/公共组件),在转测前确认一句”你那边改好了吗,我确认一下”。确认了才安心。
听那个”小声音”
转测前心里有个声音说”要不要再确认一下路由”,但没有行动。
以后那个小声音出现的时候,就是该暂停5分钟的时刻。
改进清单(下次转测前)
- 提前合代码,留出缓冲时间
- 涉及他人改动的功能,转测前主动确认一次
- 用转测包跑一遍核心功能(不是本地包)
- 自验证表用中文名搜索,不要用英文/拼音
踩过这个坑,以后就不会再踩了。知道了转测包验证有多重要,这个教训值钱。