文字内容
1. 猫眼全流程质量保障体系 付瑶 猫眼测试开发工程师
2. 个人简介 14 年加入原美团,负责猫眼业务测试工作,和猫眼一起见证了业 务的飞速迭代和快速成长,参与猫眼质量保证体系从 0 到 1 的建 立,目前负责猫眼选座交易业务的测试。
3. 目录 01 全流程质量保障体系概述 02 项目管理和流程规范体系 03 测试技术体系 04 质量度量和运营
4. 业务介绍 交易平台 • 电影票务 • 其他票务 • 衍生品 媒体信息平台 • 电影资讯 大数据平台 • 票房分析 • 社区影评 • 用户画像 • 影视数据 • 消费行为 • 营销推广 • 行业报告 多场景交易 泛娱乐化分发 大数据服务与工具 宣发平台 • 宣发策略 • 地推执行 • 科学排片 泛文娱数字营销
5. 问题和挑战
6. 猫眼质量体系建设
7. 项目管理和流程规范体系
8. 全流程质量保证
9. 项目管理和流程规范
10. 全流程规范
11. 上线规范 上线前 上线中 上线后 提前预防 安全操作 故障运营 • 上线流程规范 • 上线步骤标准化 • 上线风险评估 • 风险预防测策略 • 线上敬畏意识 • 敬畏每一行代码 • 故障责任 • 运维把控 • 上线权限控制 • 平滑上线 • 所测即所发 • 分支管理 • 线上线下一体化 • 全角色跟进 故障结果分析反推流程优化&完善质量保证体系 •值班制度 •监控&报警 •故障等级 •故障处理流程 •优先止损 •第一时间处理 •CaseStudy
12. 测试技术体系
13. 自动化与持续集成 Jenkins ⼿手动触发 ⾃自动化测试 App自动 化 Web 自 动化 平台化结果展示 App 版 HTTP 接口自动化 Web 版 详细请求日志查询 自动化运行错误原 因分析 猫眼 Rest-API 预发布环境 定时触发 部署项目触发 线上环境 Thrift 接口自动化 自动化运行成功率 接口覆盖率 猫眼核心服务 测试环境 单元测试 代码覆盖率 ✓ 分层自动化测试体系 ✓ 开发测试共同保障质量 ✓ 运营自动化测试关键指标 ✓ 手工->平台
14. 接口自动化建设 结构化接口自动化用例框架架构 测试用例 测试用例层 模板层 运行参数 用例模板 ✓ 框架平台化 模板参数 ✓ Case 编写模版化 接口测 试框架 工具层 组件层 被测对象 数据运营 请求封装 结果解析方 法封装 数据比对方 法封装 用例生成方 法 Http or Thrift Mysql FastJson FreeMarker Rest-API 报警机制 结果度量 数据展示 实时报警 接口覆盖率 测试报告 邮件报告 代码覆盖率 用例通过率 ✓ 公共支持插件化 扩展性强、可读性强、易维护 RPC 接口 调度策略 执行环境 手动触发 Dev 环境 周期构建 Test 环境 上游构建触发 Staging 环境 持续集成 pipeline Prod 环境 测试数据大盘 Kibana
15. 接口自动化结果度量和展示
16. 发布流程规范化 Jenkins Job 构建 测试环境端口监控报警 分支规范检查,合并master分支 到提测分支 触发 test 环境发布 失败 case 报警 部署成功 触发线下接口测试 job Case通过 测试(test & stage) 测试通过 上线 是否过 test 环境检查
17. 客户端自动化和持续集成 自动化测试持续集成流程 分层 UI 自动化测试框架 用例层 录制回放 操作层 对象层 基础层 测试脚本 触发自动 化任务 执行自动 化测试 问题自动 创建task 生成测试 报告 业务逻辑处理 页面对象库 手动触发 下载App 失败重试 问题创建 邮件通知 定时构建 安装App 异常截图 相关人员周知 大象通知 元素对象库 基础操作封装 工具类 上游构建触发 框架层 待测App 就绪 Appium Robotium 自动化 case 应用场景: • 核心功能 • 埋点验证 • Scheme 跳转验证 UIAutomator 报告存储
18. 客户端自动化结果度量和展示
19. 性能测试建设 高峰档期前常规全链路压测 特征: 特征: 特征: ✓ 单模块性能 ✓ 环境维护成 本高 ✓ 单模块性能 ✓ 读压测 ✓ 压测流量屏蔽 ✓ 系统性能 ✓ 读压测 ✓ 压测流量屏 蔽 ✓ 压测流量比 例 当前: ✓ ✓ ✓ ✓ 业务整体性能 读写压测 工具支持 代码侵入低 业务迭代常规全链路压测 架构迭代常规全链路压测 暴露系统链路瓶颈 线下压测 策略: ✓ QA驱动, RD共建 ✓ QA搭建性 能环境 线上单接口 压测 线上系统级 压测 策略: 策略: ✓ RD提需求 ✓ QA协助 ✓ QA主导 ✓ RD协作 猫眼压测演进 全链路压测 评估线上容量 验证降级机制及监控报警体系 策略: ✓ QA、RD协 作 ✓ 猫眼&美大 共建 ✓ QA协助容 量评估 ✓ 业务试点& 推广 保障服务高可用 平稳度过多个高峰档期 猫眼压测现状
20. 性能测试规划 全链路压测 01 全链路压测生态 • 全部核心链路覆盖 • CI 或定时触发 • 业务代码无侵入 • 监控自动化 • 流量隔离 • 自动出报告、终止 • 错峰压测 • 自动化弹性扩容 02 03 初期全链路压测 全链路常规化 • 业务逐步覆盖 • 白天压测 • 写数据-压后清理 • 定期压测 • 投入成本高 • 压测报告可视化&聚合 04 方向: ✓ 压测常规化 ✓ 提升自动化程度,减少人工干预
21. 质量度量和运营
22. 质量度量指标 过程度量 静态代码检查 代码覆盖率 接口覆盖率 缺陷原因分布 代码 bug 率 千行代码缺陷率 ReOpen 缺陷 测试环境稳定性 违规发布占比 … 业务功能 性能指标 结果度量 Crash 率 数据准确度 自动化通过率 服务稳定性、响应时间 反馈及客诉数 问题原因分析统计
23. 质量度量平台 ✓ 业务质量数据展示平台 ✓ 服务端质量度量平台 ✓ 核心运营指标数据平台 ✓ Crash 监控平台
24. Crash 指标运营 监控度量 分析定位 防范治理 实时 Crash 监控 静态代码检查 热修复 分析定位 Crash 异常报警 代码规范 兼容性测试 Crash 统计平台 异常分类及总结 稳定性测试 探索性测试 灰度测试 防范治理 监控度量 客户端 Crash 闭环质量保障
25. 单位:‰ Crash 质量总结 版本: 行业 Crash 率分布 • 猫眼系客户端线上 Crash 率均在 0.2% 以下,优于行业内均值 • Crash 运营因地制宜,专业版 Crash 率走势稳步下降
26. 总结和规划
27. 总结和规划
28. Q&A