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