了解左移
左移的目标是通过在管道早期执行测试提升质量。 它表示短语“快速失败,经常失败”,即合并测试和过程改进,从而减少运行测试所需的时间和稍后失败的影响。
目的是确保在将更改合并到主分支之前,已完成大部分测试。
许多团队发现,在开发生命周期内其测试运行时间过长。
随着项目规模的扩大,测试数量和测试本身将大幅扩大,运行完整的测试需要数小时或数天。
测试会进一步推进,尽可能地运行到最后一刻,并且生成这些测试所带来的好处要到代码提交后很久才能实现。
在实现任何价值愿景的过程中,DevOps 团队应该坚持几个基本原则。
除此之外要考虑的重要特征:
- 单元测试:这些测试需要快速可靠。
- Microsoft 一个团队在不到 6 分钟的时间内并行运行了 6 万多个单元测试,并打算将时间缩短到 1 分钟以内。
- 功能测试:必须是独立的。
- 定义测试分类:这是 DevOps 的一个重要方面。 开发人员应了解不同方案中合适的测试类型。
- L0 测试:一种广泛使用的快速内存中单元测试。 此测试仅依赖于测试的程序集中的代码。
- L1 测试:可能需要程序集和 SQL 或文件系统。
- L2 测试:针对可测试服务部署运行的功能测试。 这种功能测试需要服务部署,但可能会有关键服务依赖项被排除。
- L3 测试:针对生产运行的受限类集成测试。 测试需要完整的产品部署。
查看 Microsoft 中左移的案例研究:左移帮助测试实现快速可靠。
有关详细信息,请参阅: