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