为什么要测试前移(测试左移 Shift-Left testing)

上图中表现了传统瀑布式的开发模型中缺陷、测试、修复成本的变化曲线,蓝色代表缺陷引入的阶段分布,黄色代表了缺陷发现的时间分布,红色代表了缺陷修复的成本,可以明显看出,缺陷越晚发现修复成本越高。
所以,如果能够在开发阶段,减少引入的缺陷,那么就可以极大的减少人力、时间、信誉成本。
下图就是测试左移的目标状态:

测试左移要做哪些事情
- 工程习惯,SDLC成熟度
- 测试分层
- UT,test double (mock、fake、stub)
- 代码扫描:规范、安全、异常
- 代码提交行为分析
- CR
- 自动化验收测试
开发人员需要完成其中的
- 基本功能测试
- 代码审查
- 静态代码分析
- 单元测试
- 单用户性能测试