Skip to content

测试右移

霍格沃兹测试开发学社 ceshiren.com


测试右移定义

右移是在实际条件下在生产中执行测试、质量和性能评估的做法。右移方法确保在生产中运行的应用程序可以承受真实的用户负载,同时确保同样高水平的质量。 通过右移,DevOps 团队测试构建的应用程序以确保性能、弹性和软件可靠性。目标是检测和修复在开发环境中难以预料的问题。


测试右移主要实践

  • 应用监控
  • 综合监控 质量监控 Continuous Quality Monitoring
  • A/B 测试
  • 金丝雀部署 Canary releases
  • TIP 线上测试
  • 故障注入 混沌工程 Chaos testing


测试右移案例 百度前端性能监控


测试右移案例 App崩溃监控


监控系统搭建


为什么要搭建监控系统

  • 测试数据收集
  • 测试数据分析
  • 测试数据可视化与分析

常用架构 ELK ElasticStack


ELK ElasticStack 应用


发布后的质量监控

(测试右移)


全流程质量监控

- 研发自测 - 内部测试 - 公测 - 线上监控
- 监控分析测试覆盖度 - 定位问题 - 监控使用人数 - 监控使用深度

移动端监控

  • 移动端插桩
    • 埋点:硬编码
    • AOP 编程:AspectJ
    • 插桩框架:ASM、JavaAssist
  • 数据收集回传
    • logstash
    • kafka
    • filebeat

插桩技术

  • 基于编译插桩,需要植入 sdk,NewRelic
  • 基于 dex 插桩:Appetizer
  • Hook:XPosed、Frida

常见质量维度的监控类型

  • app 崩溃监控(Bugly)
  • 应用性能监控(APM)
  • 业务监控(TalkingData、友盟)
  • 质量监控(缺位)
  • 精准化测试平台

常见数据存储平台

  • 数据同步:logstash、flume
  • 数据存储:elasticsearch、influxdb、prometheus
  • 前端展现:kibana、grafana

数据检索


数据统计


数据分析


测试执行分析


漏测分析


关联分析


更多数据收集

  • 用户反馈分析:
  • 核心用户在产品内的反馈
  • 应用商店评论
  • 进行汇总分析
  • 产品反馈
  • 外部平台:Bugly 友盟 Flurry

业务建模

  • 建模
    • UI 模型
    • 接口模型
    • 性能数据
    • 代码流模型
  • 分析
    • 基于规则
    • diff 算法
    • 机器学习+AI

> 过去⼏⼗年的测试⾏业⼀直没有很好的对测试⼯作 > 进⾏有效的数据化建设,在当代的数据分析科学的蓬勃发展 > 下,测试⼯作将迎来新机遇,发挥出更⼤价值 > 祝大家在这短短几个月里飞快成长与发展