Files
gplan-2/reports/QA-harness三批-缺陷与覆盖遗漏报告-2026-11-06.md

4.9 KiB
Raw Permalink Blame History

QA harness 三批——缺陷与覆盖遗漏报告(2026-11-06)

接收方:待办清单「QA harness 三批缺陷与覆盖遗漏收口」条目(P0)。 来源:合并 d3c85390(批 1 探针真输入化+覆盖登记/批 2 覆盖总览面板+本体枚举器/批 3 自动试玩扩展)三批实施过程的真实跑批读数。 口径:本报告只列发现且未解决的缺陷与测试遗漏(实施期已自修的环境/机制坑不在列,见 qa-harness 讨论文档 §10–§12);明细可查出处逐条标注。

一、产品缺陷(2 类)

A1 开局被开始层盖住(大门开局开始层滞留盖屏+输入锁死)

  • 现象:大门确认开局冒险后,开始层(start_overlay)滞留可见;它以栈内模态身份直入输入锁谓词(game/presentation/modal_flow.gd:77 的 start_visible_get 项),战斗全程 locks_input()==true,玩家无法操作。
  • 发现:C 自动试玩首跑(journey_player)即机器复现——上报 2 条(同缺陷双指纹),归因字段在案(game/tests/.gates/coverage/journey_report.js)。
  • 现状:营地交互修复批已修未合(camp-interact 分支 0977a548,main.gd 大门两出口补隐藏句)——该分支合回 master 后本缺陷即消,C 的对应上报自然消失。
  • 归属:随 camp-interact 合回即消,无需新批。

A2 终局面板关闭路径引擎报错噪声

  • 现象:game/presentation/views/battle_end_overlay.gd:194 的 get_meta(&"celebrate_tw", null) 在 meta 缺失时仍触发引擎 SCRIPT ERROR 打印(当前引擎版对显式 null 缺省值照样报错);关闭动线功能不受影响,属持续输出的日志噪声。
  • 发现:批 1 探针直跑日志在案(screen_flow_probe 终局段每次触发)。
  • 修法(一行级,未实施):改 has_meta() 前置判断。归属=需求性工程条目(改游戏行为),走写卡通道。

二、测试覆盖遗漏(6 类)

B1 停手钮(AP 条)零真输入覆盖

  • 现象:两探针与 C 均未以真输入点过「停手」钮——emit 时代信号直发绕过 disabled 掩盖了驱动空洞;停手使能位=alive∧digging 投影(game/presentation/views/ap_bar_view.gd:147、hud_presenter.gd:92)。
  • 登记处:覆盖面板控件下钻(ui_click 探针 seen 91/命中 27 的缺口之一);probe_hits_ui_click.js 零停手键。

B2 视图层测试方法面未真输入化

  • 现象:弃图刷新确认链(press_refresh_for_probe/press_confirm_for_probe)、地图候选(press_candidate)、节点与三选一停点(press_continue/press_card/press_confirm)等驱动走视图方法口,非输入管线——保「逻辑通」不保「玩家点击可达」。
  • 登记处:待办清单「测试面真输入化分期与存量断言逐条精锚」条目①余项;C 的两方法口在归因字段如实标注通道。

B3 存量 996 条断言判据出处精锚

  • 现象:链式锚已保可核(capability_audit 链断 0),逐条出处粒度精锚未做。
  • 登记处:同上条目②,原样在案。

B4 本体对账缺口 212 条/62 类

  • 现象:游戏本体实体(data/tables 行集、schema 词表与字段、场景按钮、自绘命中类、屏模态清单,共 865 实体)在测试断言文料中零关联 212 条——「游戏做了但从未被验证」的候选面。
  • 诚实边界:grep 关联有假阳假阴(断言测了实体但文本没带 id=假缺口;文本带 id 但断言弱=假覆盖)——须人工逐条复核后再立事项,禁直接照单开工。
  • 登记处:覆盖面板第四节(tools/coverage_report.html);game/tests/.gates/coverage/ontology_gaps.js。

B5 控件级零真输入命中缺口(ui_click 64 处/screen_flow 97 处)

  • 现象:探针真输入登记的「存在但零命中」控件缺口——大头=未被探针打开过的屏(完备性边界在案:控件级视图只对被打开过的屏负责),其中混有 B1 类真空洞。
  • 登记处:覆盖面板第三节;probe_hits_ui_click.js/probe_hits_screen_flow.js 的 seen−hit 差集。

B6 C 判据收紧轮未做

  • 现象:全三关推进约 8 分钟(冒险段帧预算 60000 兜底);契约条款「连 3 批零真缺陷→判据收紧一轮」的触发权与执行归用户复核轮。
  • 登记处:journey_report.js meta(上报数/静默数/fatal/屏到达进回执)+qa-harness 讨论文档 §5。

三、处置归属(汇总)

组 项 通道
随合即消 A1 camp-interact 分支合回,无需新批
写卡通道 A2、B1、B2 需求性工程条目(改游戏行为/测试驱动)→ 需求卡片
既有义务 B3、B6 衔接条目②+用户复核轮
人工复核 B4、B5 面板逐条复核后按性质分流(真缺口立事项/假缺口面板豁免清单核销)