前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《SRE google 运维解密》读书笔记 (六)

《SRE google 运维解密》读书笔记 (六)

作者头像
用户2060079
发布2022-05-25 14:22:58
1860
发布2022-05-25 14:22:58
举报

测试可靠性

预测信息准确的前提:

  1. 系统完全没有改变
  2. 充分描述整个系统的改变

测试是一个用来证明变更前系统的某些领域相等的手段。

软件测试的类型

  • 传统测试
  • 生产测试

传统测试

  • 单元测试
  • 集成测试
  • 系统测试
    • 冒烟测试
    • 性能测试
    • 回归测试

每个测试都有成本,通常来说单元测试时间成本低 如果要将完整的功能架设起来测试,通常需要几个小时。关注测试成本,是软件提升效率的重要因素。

生产测试

生产测试和一个已经部署在生产环境的业务系统直接交互,而不是运行在封闭的测试环境。有时候称为黑盒测试

  • 配置测试
  • 压力测试
  • 金丝雀测试
    • 一小部分机器先升级,保持一定的孵化期。
    • 将代码置于比较难以预测的用户流量下
    • 需要能够快速的回滚

创造一个构建和测试环境

  • 测试的重点集中在用最小力气得到最大收益的地方
    • 划分优先级
    • 寻找关键函数关键类
    • 寻找提供给其他团队的 API
  • 发布前,通过冒烟测试
  • 寻找到的 bug 变成测试用例
  • 建立良好的测试基础设施
    • 追踪代码变更
    • 每次代码改变就进行构建
  • 精确的构建,只构建修改的地方,并执行修改代码的单侧
  • 使用工具可视化或者量化测试覆盖度
  • 和钱相关的系统需要更多测试

大规模测试

单元测试需要有针对性的覆盖组件中相互依赖的部分

测试大规模使用的工具

针对灾难的测试

灾难恢复工具被精心设计为离线运行

  • 计算出一个可记录状态,等同于服务完全停止的状态
  • 将可记录的状态推送给非灾难验证工具
  • 支持常见的发布安全边界检查

对速度的渴求

有的时候测试的结果会在重复运行下发生改变。所以需要针对某些场景,重复运行一定数量的测试。

发布到生产环境

通常,生产环境的配置文件容易被测试忽略。

集成

使用解释性语言编写配置文件是有风险的。程序的执行时间没有上限,需要加入截止时间检查。

使用成熟的语法(YAML)和大量测试的解析器。

生产环境探针

测试机制是对确定的数据检验系统行为是否可以接受。 监控机制择时在未知数据输入下系统行为是否可以接受。

已知的正确请求应该成功,已知的错误请求应该失败。重放已知请求观察系统是否正常。

(感觉应该是书翻译的问题所谓的探针应该是 mock 服务。mock 服务部署在生产环境 。在确定的入参下,有确定的返回值。调用方可以使用这个探针进行测试)

小结

测试是工程师提高可靠性投入回报比较高的手段。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-05-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 犀利豆的技术空间 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 测试可靠性
    • 软件测试的类型
      • 传统测试
      • 生产测试
    • 创造一个构建和测试环境
      • 大规模测试
        • 测试大规模使用的工具
          • 针对灾难的测试
            • 对速度的渴求
              • 发布到生产环境
                • 集成
                  • 生产环境探针
                    • 小结
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档