Yanyg - Software Engineer

CI & CD (持续交付)

目录

[NOT FINISH]

1 CI

  • Code Style;
  • UT, ST, FT, Onebox;
  • Debug, Release, Asan(Memleak), Coverage;
  • X86, Arm, Mips;
  • Code Review; Member, Owner;
  • Automation, High Frequency;

2 Benefits

  • 调试更少;
  • 增强需求实现、发布的信心;
  • 更高频率的发布;

3 Google

每个自动化测试有两个维度:资源占用和验证范围;

  • 小型测试:单个进程中执行;
  • 中型测试:单台计算机运行;
  • 大型测试:

测试最重要的是速度和确定性。

3.1 硬件引入

4 Microsoft

Evolving Test Practices at Microsoft - Azure Devops

开发人员把代码扔给SDETs(Software Design Engineer Test)。SDETs把自动化测试扔给 STEs(Software Test Engineer)。不断壮大STE应对,但STE升职机会有限。测试成为了瓶颈,导致了产品的延时。

Devops:

  • NAR(Nightly Run), FAR(Full Automation Run);
  • L0/L1 Unit Tests; Like as traditional UT;
  • L2/L3 Functional Tests
    • L2 功能测试类,需要部署服务,但部分依赖服务会通过特定方式断开;
    • L3 生产环境中的受限测试,需要完整的产品部署。

5 CD

  • One branch;

6 References

  • Google: Building Secure and Reliable Systems