症状分流
崩溃、卡住、空白与权限弹窗的症状词典
给四类表现明确可观察判定,不写泛化失败。 本文给出可复核步骤、状态边界、脱敏记录方法与复核路径。
崩溃、卡住、空白与权限弹窗应按可观察表现分别定义。崩溃是应用或浏览器进程退出或回到系统界面;卡住是界面仍在但在规定观察时间内无响应;空白是页面区域呈现无内容,同时需记录是否有加载指示;权限弹窗则要抄录请求的权限类型和触发动作。症状卡可包含symptom_type、trigger_step、screen_state、elapsed_time、repeat_count和observed_at。若只是用户感到很慢但没有计时,类型可写UNKNOWN或性能迟缓,不归入卡住。一次操作可能先弹权限再空白,应按时间建立两条记录,不能合成应用失败。截图去除账号、通知与设备编号。未知描述文件、管理请求或安全告警不进入普通症状复测,而直接停止。统一词典让不同人描述同一现象时可以比较,也避免泛化为全部失效;示例只是诊断定义。词典可附最短复现句式,但每类使用不同观察字段;例如卡住必须有等待时长,崩溃则要记录返回到哪个界面。
移动端排障先把自然语言抱怨翻译成可观察事件。进程退出、界面冻结、内容空白、权限请求和单纯迟缓属于不同类型,各自需要不同的计时与证据。词典不使用“坏了”“不能用”这类总括句,而记录触发手势、前一个界面、等待阈值、系统返回位置以及是否还能滚动或点击。一个操作可以形成连续事件,例如先弹出权限请求、关闭后出现空白;事件保持顺序,不能压成一个结论。类别判断不清时写UNKNOWN并保留原文字。
以进程去向定义崩溃
只有浏览器或应用从前台消失、回到系统界面,或系统明确显示进程终止,才记录为崩溃。普通标签页关闭、跳回上一页和页面重载要使用其他名称。
记录崩溃前最后一个动作、返回到哪个界面、是否出现系统报告,以及再次打开时是否恢复旧页面。不要求读取完整崩溃转储,更不能安装不明分析组件。崩溃卡应加入foreground_exit和return_surface。前者说明进程何时离开,后者区分回到桌面、系统设置或浏览器标签列表。若只是页面脚本报错但浏览器仍在,不归入进程退出。系统提供报告编号时可记匿名编号,完整调用栈和设备标识不进入共享材料。
- 进程离开前台才归入崩溃
- 返回界面与触发动作被记录
- 完整设备转储不被收集
用响应窗口定义卡住
卡住指界面仍在,但在预先设定的观察时间内,对滚动、返回或指定按钮没有可见反馈。等待阈值必须在测试前确定,不能因焦虑反复点击。
若加载动画持续、部分区域仍更新或系统手势有效,应分别写明,可能属于慢响应而非完全冻结。计时器来源和起止点也要记录;只凭体感则分类为UNKNOWN。冻结测试可使用三个无破坏探针:一次滚动、一次系统返回手势和等待指示观察。每个探针只做一次,防止堆积点击在恢复后同时触发。若其中一个仍有反馈,就把事件改为局部无响应,并写清哪个区域失去交互,避免“全屏卡死”的夸张描述。
- 观察阈值在动作前确定
- 系统手势与页面反馈分开
- 主观缓慢不冒充冻结
把空白拆成视觉状态
空白需要描述颜色、框架是否存在、文字是否完全缺失、顶部控件能否显示,以及是否还有占位图或加载标记。白色区域并非唯一形式,深色主题下也可能是无内容。
截图应保留页面边界和必要状态栏时间,同时遮住通知与账号。若无障碍朗读仍读到内容,就记录“视觉空白但语义存在”,不要把两种通道合并。空白卡可分为结构存在无正文、完全空画布、占位持续和局部图像缺失四种视觉子类。辅助阅读通道若能获得标题,说明内容可能已到设备但未正常绘制;该观察只引导渲染线索,不能保证语义完整。截图使用测试内容,避免朗读私人通知。
- 空白区域边界被描述
- 加载标志与框架状态另记
- 视觉和辅助通道不混为一谈
按权限种类抄录弹窗
权限事件必须使用系统显示的实际类别,例如相机、位置、通知或文件访问,并记录是哪一个可见功能触发。页面自制提示与系统弹窗分开标注。
请求出现后先保留拒绝或关闭状态,不为继续复现而一次性允许。若弹窗涉及管理配置、根证书或设备控制,则离开普通词典,直接进入安全停止路径。权限弹窗卡除permission_name外,还要记request_surface,区分系统层窗口、浏览器站点提示和页面自制遮罩。用户关闭弹窗后若页面恢复,仍不能写“授权请求是原因”;只记录事件顺序。请求涉及管理控制时,词典标签改为安全事件并停止复现。
- 权限名称按系统文字记录
- 触发功能和弹窗来源分栏
- 管理类请求立即转入停止
描述迟缓而不误报卡死
性能迟缓需有首个反馈时间、内容完成时间和可交互时间,至少选择一个可重复指标。网络等待与界面绘制可能交叠,因此只写测到的阶段。
一次极慢样本不代表稳定问题。可在相同条件再观察一轮,若时长差异很大,就报告范围而非平均数。设备温度、低电量模式等未核因素保留在限制栏。迟缓记录可用time_to_first_feedback与time_to_stable_view两个指标,并说明计时从哪个手势开始。若一轮为八秒、一轮为三十秒,报告范围与样本数,不用平均值掩盖波动。蜂窝信号、低数据模式或后台更新未核时进入context_gap,不随意关闭。
- 迟缓使用可测时间点
- 单次样本不概括长期表现
- 未核背景条件进入限制栏
把连续症状写成事件序列
同一次操作若依次出现弹窗、短暂空白、卡住和进程退出,应建立带顺序号的四条事件,每条保存自己的开始与结束。后一个事件不覆盖前一个。
序列中可以标明“关闭弹窗后”这种可见关系,但不能写成弹窗导致崩溃。若时间次序模糊,使用并列或UNKNOWN,不强排。该方法也能发现重复点击制造的次生表现。事件序列可采用E1、E2、E3编号,并用“紧随”“间隔约十秒”“顺序不清”表达关系。比如E1关闭相机请求,E2出现灰色区域,E3返回桌面;任何“因为”字样都留待单变量复测。序列中缺失的开始时间不会由后一事件倒推。
- 每个症状拥有独立序号
- 时间先后不等于因果
- 重复操作造成的事件被区分
用标准症状卡完成交接
症状卡最后汇总类型、触发步骤、观察阈值、前后界面、重复次数、设备类别、网络类别和安全状态。字段没有证据时明确留为UNKNOWN。
交接前让另一位复核者仅看卡片判断应如何复现;若仍需猜测,就补充动作而不是补充个人资料。统一词典用于提高描述一致性,不意味着已经找到原因。交接词典附一个最短复现句和一个停止句。最短句只包含页面代号、手势、阈值与表现;停止句说明何种安全或隐私条件会终止。复核者若能把同一证据分到两个类别,卡片应保留双标签和UNKNOWN,而不是强行选择更严重的一类。每次改名都保留原始用户描述供对照。
- 症状卡字段粒度一致
- 复现无需暴露个人身份
- 分类结果不冒充原因


