聂同学

一个程序员和架构师的实践与思考

质量保障措施参考清单(三)

接上篇

业务正确性和容错性

系统不仅需要业务功能结果正确,还需要在业务发生问题的时候能够尽量多的提供诊断和恢复支持。

设计时

设计时可以识别的设计要求大致有:

  • 业务错误可以回查。
  • 业务过程可以回查。
  • 业务操作可以回查。
  • 系统故障情况下业务(一定程度上)可以持续。

为满足此要求,需要:

  • 定义业务过程、业务状态。
  • 记录业务过程和状态的变化。
  • 为各个状态定义业务备案。
  • 记录业务操作。

业务接入时

  • 业务被误用。
    • 明确的业务定位
  • 系统之间业务状态不正确或不明确。
    • 记录业务进出口状态。

日常趋势

  • 事故趋势恶化
    • 业务逻辑有问题?
    • 用户体验有问题?
      • 用户体验数据
    • 需要事故记录

事故时

  • 系统操作中断,比如可用性事故引起。
    • 需要各个状态定义业务备案。
  • 事后发现业务结果不正确。
    • 记录业务过程状态变化。
  • 系统错误
    • 大范围错误 - 归结为可用性事故
    • 局部错误 - 归结为bug。
    • 需要系统错误率实时监控和报警。
    • 需要系统错误持续记录和分析。

小结

综上,为持续保障系统正确性,需要采取的措施有:

  • 明确的业务定位。以及定期review。
  • 定义各个业务过程、业务状态。
  • 业务过程和业务状态的变化的记录。
  • 各个状态定义业务备案。
  • 业务操作的记录。
  • 业务进出口状态的记录。
  • 用户体验数据持续记录和分析。
  • 系统错误率持续监控和阙值报警。
  • 系统错误持续记录和分析。
  • 事故记录与分析。

架构, 质量

分享 -