# 功能变更 ID: Feature-20260418-0010 > 适用场景:记录小到中等规模的功能、接口、行为、默认值或配置变化。 > 不适用场景:新增核心模块、重大模块重构、架构级设计,请使用“新增功能模块”模板。 ## 基本信息 - ID: Feature-20260418-0010 - 标题: 当前阶段测试用例矩阵与定位 - 状态:已完成 - 类型:修改 - 级别:L1 轻量 - 模块: 测试用例 / 回归策略 - 版本 / 分支: 当前工作区 - 环境: Windows + EasyX - 负责人: Codex 协作修改 ## 变更背景 - 背景: - 第二阶段主线、布局策略公开 API、`KEY2` 迁移以及近期重绘 / tooltip / overlay / `TabControl` / `Table` 修复已基本收口。 - 当前项目中同时存在 `KEY1 ~ KEY5` 多组测试入口,但各自负责覆盖什么、哪些是主集、哪些是专项补充,若不显式记录,后续容易继续依赖聊天上下文记忆。 - 目标: - 把当前阶段各测试入口的职责、覆盖范围和预期行为正式写成测试矩阵。 - 明确本阶段建议主回归集与补充专项。 - 不做什么:[可选] - 不新增测试逻辑。 - 不修改运行时代码。 - 不把测试矩阵扩成自动化测试体系。 ## 变更内容 - 变更摘要: - 新增当前阶段测试矩阵记录。 - 同步 `KEY1 ~ KEY5` 的阶段定位与行为预期。 - 新增项:[可选] - 当前阶段建议主回归集:`KEY1 + KEY2 + KEY5` - Dialog / MessageBox 补充专项:`KEY4` - 修改项:[可选] - 无代码修改,仅补充测试约定与阶段定位。 - 删除 / 废弃项:[可选] - 无 - 受影响的文件 / 类 / 函数: - [`z-testDome.cpp`](D:/programming/imGUI-easyX/imGui-easyX/z-testDome.cpp) - 对外 API / 属性变化:[可选] - 无 ## 行为对照 - 变更前: - `KEY1 ~ KEY5` 的职责划分主要依赖源码注释和聊天上下文。 - 很难快速判断“当前阶段主回归集”与“专项补充集”分别是什么。 - 变更后: - 每个 `KEY` 入口的阶段定位、覆盖重点和行为预期都有正式记录。 - 可以按矩阵组织回归,而不再只靠记忆。 - 兼容性说明:兼容 - 迁移说明:[可选] - 无需迁移,属于当前阶段测试约定落地。 ## 验证与落地 - 验证方式: - 对照当前 [`z-testDome.cpp`](D:/programming/imGUI-easyX/imGui-easyX/z-testDome.cpp) 中 `KEY1 ~ KEY5` 的实际结构与近期修复范围进行人工核对。 - 验证结果: - 当前矩阵与现有测试入口和阶段主线一致。 - 关联 BUG / Fix:[可选] - [Module-20260415-0004-布局系统第二阶段验收与封口.md](D:/programming/imGUI-easyX/imGui-easyX/开发记录/模块/Module-20260415-0004-布局系统第二阶段验收与封口.md) - [Module-20260416-0005-布局策略公开API落地.md](D:/programming/imGUI-easyX/imGui-easyX/开发记录/模块/Module-20260416-0005-布局策略公开API落地.md) - Commit: - PR:[可选] - 发布版本:[可选] - 备注:[可选] - resize 过程中若开启高频 console 日志,可能出现一帧视觉延迟;当前判断属于调试态 I/O 现象,不按 bug 处理。 ## 当前阶段测试矩阵 ### KEY1:旧页签链路 + Table 超界残留回归 - 覆盖目标: - `TabControl` 重复激活同一页签 - 切页 / 关页后的快照与清理链 - 页内容超出页范围时的残影与恢复 - 当前预期: - 外部重复激活当前页签,不再扰动当前页快照链。 - 页签 1 中 `Table` 超出页区域的部分,在切页或关闭页签时不会残留。 - 正常全量重绘后,不应再出现额外残影或层级错乱。 - 阶段定位: - 当前主回归集之一。 ### KEY2:公开布局 API 首个迁移样例 - 覆盖目标: - 新公开布局 API 的真实使用 - 位选择区容器化重构 - 显示区统一刷新链 - 顶层区块拉伸铺满 - 当前预期: - 32 位选择区中的“位号 + 位按钮”以单元整体位移,窗口拉伸后保持对齐。 - 位按钮点击、位取反、左移、右移、一键置 0/1、签名切换,会统一刷新十六进制、十进制、上次值、本次值和 `initData`。 - 顶层五个区块在正常拉伸 / 最大化后继续铺满窗口。 - 当前更偏重横向铺满验证;极窄窗口下功能区进一步自适应,不作为本阶段硬指标。 - 阶段定位: - 当前主回归集之一。 - 同时是新布局 API 的首个迁移示例。 ### KEY3:旧业务大场景保留用例 - 覆盖目标: - 保留老业务页示例 - 观察新主线是否把旧业务场景直接打坏 - 当前预期: - 登录页、`TabControl`、旧业务页基本行为保持可运行。 - 不要求覆盖新布局 API、overlay、tooltip 或第二阶段专项行为。 - 阶段定位: - 保留用例,不纳入当前主回归集。 ### KEY4:Dialog / MessageBox 专项回归 - 覆盖目标: - 模态 / 非模态 `Dialog` - 遮挡交互 - 关闭后 hover 恢复 - 拖拽 resize - 当前预期: - 非模态 `Dialog` 遮挡底层按钮时,不应出现 hover / tooltip 穿透或残留。 - 模态 `Dialog` 打开后拖拽窗口,标题、关闭按钮和底层恢复链保持稳定。 - 对话框关闭后,底层按钮 hover 能及时恢复。 - 阶段定位: - 当前补充专项,不纳入每轮主回归集。 ### KEY5:第二阶段专项主回归 - 覆盖目标: - 三层 `Canvas` 嵌套 - 跨容器 hover / tooltip - overlay 补画与 coverage 链 - `TabControl` - `Table` - 页码与分页按钮 - 当前预期: - 三层 `Canvas` 嵌套下,深层按钮 hover / press / release / tooltip 都能正确刷新。 - `Window / Canvas / TabControl` 的 overlay 补画与 coverage 链闭合,不再出现遮挡错层。 - `TabControl` 页签按钮与页面层级正确;页签 tooltip 不会再被页面盖掉。 - `Table` 分页按钮、页码标签、与上层浮层相交时的重绘链保持正确。 - 阶段定位: - 当前主回归集之一。 - 第二阶段及重绘主线的核心专项入口。 ## 当前建议 - 当前阶段建议主回归集: - `KEY1 + KEY2 + KEY5` - 当前补充专项: - `KEY4` - 暂不纳入每轮主集: - `KEY3`