首页/开发/软件测试速查/测试左移(Shift Left)
测试基础与分层67 条

测试左移(Shift Left)

把测试活动前移到需求、设计与编码阶段:评审需求可测试性、测试与开发并行设计、提交即触发自动化检查,缩短缺陷发现周期。

软件测试速查开发更新于 2026-10-13

测试左移是什么

测试左移(Shift Left)是把测试活动前移到需求、设计与编码阶段:需求评审时盯可测试性、开发提交即触发自动化检查、测试与开发并行设计集成与验收用例。动机是缺陷发现越早、修复代价越低,反馈周期越短。衡量左移是否见效,看的是缺陷发现阶段的分布变化,而不是测试人员在更早阶段做了更多人工执行。

左移的典型动作

  • 需求评审时补充验收标准与边界条件,把可判定性写进需求。
  • 开发编写单元测试,测试同步设计集成与验收用例。
  • 提交前钩子跑静态检查与单元测试,秒级拦住低级错误。
  • CI 流水线在合并前执行分层检查,阻断缺陷进入主干。
  • 缺陷数据分析反哺设计规范与编码规约,从源头减少同类问题。
  • 契约先行:接口定义与样例数据先评审,测试提前准备。

基本信息

衡量方式对比版本间缺陷发现阶段的分布变化
配套机制需求模板内置可测试性检查项,提交前检查进 CI
常见误解等于把人工测试提前堆量,或等于缩小测试范围
起步动作从需求评审清单与提交前检查两项低成本动作开始
责任分工开发、测试、产品共同承担早期质量活动

左移时间线示意

左移时间线示意
需求:可测试性评审 + 验收标准确认   # 用三件套写清判定条件
编码:pre-commit 静态检查 + 单元测试 # 秒级反馈,问题不过夜
合并:CI 分层回归阻断缺陷进主干      # 最后一道自动闸门
上线:监控与灰度兜底,线上问题回收   # 发现遗漏的检查项反哺上游
左移的收益以缺陷发现时间是否提前来衡量,而不是测试人员在更早阶段做更多人工执行。
评审要有清单与结论记录:没有检查项与遗留问题的评审会,等于把左移做成了走过场。
左移不是加班:把质量活动揉进日常节奏(提交即检查、评审即补标准),持续才有效。

易错点

  • 把左移理解为测试提前写用例、其余流程不变:缺陷仍集中在末端发现,投入打水漂。
  • 评审会没有检查清单与结论记录:左移变成走过场,问题照样流到测试期。
  • 只喊口号无配套工具:提交前检查、CI 门禁一个没落,动作全靠自觉。
  • 指标反过来奖惩个人:为了「发现阶段分布好看」瞒报或压级缺陷,数据失真。
  • 左移与右移对立起来:放弃生产验证与监控,线上问题无人回收,闭环断裂。

数据来源与参考

  • ISTQB CTFL 4.0 大纲(shift-left 相关章节)
  • Google Engineering Practices(代码评审与测试)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌