线上问题排查流程
线上问题的跟进,修复,排期,由测试录入Wone,记录为线上bug。然后指给产品,由产品进行排期修复(注意:如果是紧急问题,则立即修复)。
刚刚发布或切流量之后线上出现大面积反馈的,一般和发布有关,如果不具备条件重现,需要第一时间同步给相关的同事和 leader,并做好回滚准备。日常的线上问题,可以按照以下流程排查问题。
Step1 信息收集
要求客服联系用户提供以下信息:
- uid
- 机型
- 系统版本
- App 版本
- 现场截图
- 网络情况
- 尽可能多的现象描述
Step2 用户引导
如果用户比较着急,引导用户做其他操作:
- 杀进程重试
- 切网络重试
- 重新登录
- 使用微信公众号、使用 web 渠道
Step3 处理问题
1.复现
- 找相同设备复现
当你不能独自完成这一步时,可以寻求支持 —— 寻求团队和测试团队共同复现
2.基本判断
- 点击按钮无反应:兼容性问题 80%
- 点击按钮有请求发出 (网络菊花) 或弹出了异常:服务问题 80%
- 页面白屏:兼容性/服务 50%
- 原生 webview 打开 ok,planck 打开有问题:和客户端一起排查,如判断大概率服务端问题,立即寻求服务端一起排查
3.快速区分问题
判断问题发生的前端系统
可根据 quip文档|理财项目信息汇总 初步判断主流程所在工程:
- 利用日志
根据问题所在的项目,如果是 Node 项目,可根据日志快速区分是兼容性问题、Node 或是 java 接口问题 - 利用埋点
如果有埋点,到查看用户埋点链路,分析用户卡在哪一步 - 接口复现
从 Node 和 Java 日志里捞用户的请求和响应数据,在工程里 mock 数据,看能否复现
4.精确排查问题
如果客户的问题已经解决,线上问题已经修复,但问题原因尚未查明,需要做精确排查
- 代码 review
- 是否有 bi 埋点干扰
- 是否有明显异常边界未处理
- 是否有分支情况未处理
- Chrome、原生 webview 和客户端分别打开,区分是否是 兼容性或 webview-bridge 的问题
- 线上资源文件本地代理,charles
- 客户端协助调试
- 客户端可以协助 Inspect 到 App 中的 WebView,使得前端可以在 Chrome 的控制台中调试问题。
- 客户端可以协助定位前端无法界定边界的问题,例如点击按钮后无请求发出,可以寻求客户端断点 native 代码
- 依托埋点和临时发布
- 在页面中埋神策点,发布上线,定位用户 js 卡在哪一步
- 将疑似异常的地方加 try catch 并将 error 上报
网友评论