知识卡片

测试能拦截监控才能发现的问题

普通读书笔记卡 · 1609

内容

监控能发现系统中的 Bug,但发现速度受限于报警规则的检测周期,此时 Bug 已进入生产环境造成 影响;平均修复时间(MTTR)衡量的是事后修复所需时间。测试则可以把 MTTR 压到零:当某项系统级 测试提前捕捉到本该由监控事后才发现的同一个 Bug,就能在发布前直接拦下这次变更,让该 Bug 根本 不会进入生产环境。零 MTTR Bug 越多,服务的平均无故障时间(MTBF)越长。

参考来源

- 位置:《SRE:Google运维解密》第17章《测试可靠性》(源文件:_epub-src/OEBPS/Text/0009_0008.xhtml) - 结论依据:原文区分了监控和测试对 MTTR 的不同影响——监控受限于报警间隔只能事后发现问题,而 系统级测试若能提前检测到监控本应发现的同一个 Bug,就可以在发布前阻止它,从而把该 Bug 的 MTTR 降为零,这类零 MTTR Bug 越多,MTBF 越长。 - 原始内容:“一个监控系统也可以发现系统中的Bug,但是仅限于汇报机制的速度……平均修复时间 (MTTR)是衡量运维团队通过回滚或者其他动作修复某个Bug的时间……那么这项测试可以被用来阻挡 这个Bug的发布,使得这个Bug根本不会进入生产环境……你发现的0 MTTR Bug越多,你服务的平均 失败时间(MTBF)就越长。”