测试右移体系

测试右移体系

  • 测试右移定义
    右移是在实际条件下在生产中执行测试、质量和性能评估的做法。右移方法确保在生产中运行的应用程序可以承受真实的用户负载,同时确保同样高水平的质量。 通过右移,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