1.1. 故事背景:大促前夕的“生死考”
公司某核心业务要进行史上最大的版本迭代,离上线只剩3天。老板(君主)火急火燎地找到老孙,问:“老孙,这次上线,咱们能成吗?”
老孙不急不慢,掏出一本厚厚的《测试兵法·始计》,微微一笑:“老板,上不上,得看‘五事七计’。”
1.2. 第一部分:测试界的“五事”(五大核心维度)
老孙开始对着大屏幕,把测试现状拆解成五个维度:
- 道(一致性):
-
- 兵法原意: 令民与上同意。
- 测试改编: “产品、开发、测试真的在对齐同一个需求吗?”
- 故事: 老孙说:“道者,PRD也。如果PM想做个‘五彩斑斓的黑’,开发写成‘透明的红’,测试测成‘闪耀的白’,这叫‘道不同不相为谋’。现在三方拉齐了需求,大家‘同生共死’,此为‘道’成。”
- 天(时机/外部环境):
-
- 兵法原意: 阴阳、寒暑、时制。
- 测试改编: “发布窗口期和用户并发高峰。”
- 故事: 老孙指着日历:“三天后是情人节大促,凌晨流量是平时的10倍,这叫‘天时’。如果我们在用户下单最高峰去更新数据库索引,那就是顶着大雪强行行军,必败。”
- 地(基础设施/环境):
-
- 兵法原意: 远近、险易、广狭。
- 测试改编: “测试环境、压测链路和机型兼容性。”
- 故事: “地者,环境也。咱们的预发布环境和生产环境是不是1:1?弱网环境模拟了吗?如果只在光纤下测,不顾2G用户的‘险地’,上线就是送死。”
- 将(测试领头人):
-
- 兵法原意: 智、信、仁、勇、严。
- 测试改编: “QA经理的素质。”
- 故事: 老孙拍着胸脯:“带头的要智(能看出隐藏Bug)、信(承诺上线就得稳)、仁(心疼熬夜的测试小妹)、勇(敢于驳回不合格的PRD)、严(漏测必复盘)。带头的人稳了,军心就稳。”
- 法(流程与工具):
-
- 兵法原意: 曲制、官道、主用。
- 测试改编: “自动化脚本、CI/CD流水线、测试规范。”
- 故事: “法者,规矩也。提测有没有准入?冒烟测试通没通过?代码覆盖率够不够?没这些‘法’,靠人肉去点,那叫散兵游勇。”
1.3. 第二部分:测试界的“诡道”(出奇制胜)
老板听完点头,又问:“那咱们现在的Bug还没修完,怎么赢?”
老孙低声说:“兵者,诡道也。 测试也要讲究战术。”
- 能而示之不能: “咱们自动化脚本覆盖了90%,但要跟开发说,我们只测了重点模块。让他们保持敬畏,别随便乱改代码。”
- 利而诱之: “给开发悬赏,修一个P0 Bug奖一杯奶茶,这叫‘利而诱之’。”
- 攻其无备,出其不意: “大家都在测正向流程时,我偷偷写了几个‘骚操作’的脚本,专门在凌晨两点测边缘 case,果然抓到了几个隐藏的死锁Bug。”
1.4. 第三部分:庙算(未战先算的结论)
老孙最后拿出那份长达50页的《测试评估报告》,做了总结:
“夫未测而胜者,得算多也。 咱们经过三轮冒烟、五场评审、两轮全链路压测,我们的‘得算’已经很多了。而竞争对手现在还在手动测需求,他们的‘得算’少。多算胜,少算不胜,何况无算乎? ”
老板大腿一拍:“准了!上线!”
1.5. 结局
三天后,产品平稳上线,经受住了百万并发的考验。老孙收起《孙子兵法》,默默在工作周报里写下:
“胜负已见。下次发布,记得提前三周‘庙算’,别老在发布前三天找我。”
1.6. 总结
- 道: 需求共识。
- 天: 流量高峰/发布窗口。
- 地: 测试/生产环境差异。
- 将: 测试负责人的判断力。
- 法: 测试自动化与标准化流程。
核心道理: 所有的线上事故,其实在提测前,通过这五个维度的“计算”,就已经能预见胜负了。