157 lines
6.1 KiB
Markdown
157 lines
6.1 KiB
Markdown
# 功能变更 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`
|