Files
StellarX-kaifa/开发记录/功能变更/Feature-20260418-0010-当前阶段测试用例矩阵与定位.md
T

157 lines
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 功能变更 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 或第二阶段专项行为。
- 阶段定位:
- 保留用例,不纳入当前主回归集。
### KEY4Dialog / 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`