完成 0.2.0 预发布收口与中文安装器
This commit is contained in:
@@ -4,12 +4,12 @@
|
||||
|
||||
| 项目 | 内容 |
|
||||
| --- | --- |
|
||||
| 测试日期 | 2026-07-17 |
|
||||
| 版本 / 发布阶段 | 当前开发版 / 预发布回归进行中 |
|
||||
| 测试源码基线 | `d0d1de4-dirty`;包含已确认的产品能力收缩、无用代码清理和内部 QA 基础设施 |
|
||||
| 工作树说明 | 用户手测后只新增测试记录,未再修改产品业务代码 |
|
||||
| 构建类型 | 用户未反馈,待补充 |
|
||||
| 编译器 / Qt | 待补充 |
|
||||
| 测试日期 | 2026-07-17 至 2026-07-18;2026-09-08 至 2026-09-09 复测 |
|
||||
| 版本 / 发布阶段 | `0.2.0` / 发布候选验收完成 |
|
||||
| 测试源码基线 | `90262aa` + 本记录所在提交;`90262aa` 已推送开发仓库 |
|
||||
| 工作树说明 | 连接测试、提醒按钮定位、天气城市/IP 定位、诊断脱敏、QA 扩展、中文安装器和发布脚本已完成收口 |
|
||||
| 构建类型 | Release |
|
||||
| 编译器 / Qt | Qt 6.5.3 / MSVC 19.44 |
|
||||
| 操作系统 | Windows,具体版本待补充 |
|
||||
| 显示器 / DPI | 待补充 |
|
||||
| 测试人 | 用户手动测试 |
|
||||
@@ -18,8 +18,8 @@
|
||||
|
||||
| 检查 | 结果 | 摘要 |
|
||||
| --- | --- | --- |
|
||||
| 核心逻辑 C++ 测试 | NOT_RUN | 已建立 28 个用例;尚未手动构建内部 QA 工程 |
|
||||
| 静态检查 | PASS | 13 项通过,0 项失败 |
|
||||
| 核心逻辑 C++ 测试 | PASS | 2026-09-08 使用 Qt 6.5.3 / MSVC 19.44 构建并执行隔离 QA,43 项通过,0 项失败 |
|
||||
| 静态检查 | PASS | 14 项通过,0 项失败;覆盖发布包、MSVC 运行库、中文安装器和隔离规则 |
|
||||
| 性能工具链自检 | PASS | 脱敏 fixture 和 1 秒临时进程采样均成功生成 PASS 报告;不代表产品性能 |
|
||||
| GitHub 导出隔离 | PASS | 静态确认公开导出排除 `docs/internal/reports`,发布构建和打包不依赖内部 QA |
|
||||
|
||||
@@ -34,21 +34,114 @@
|
||||
| 单实例唤醒 | PASS | 用户确认通过 |
|
||||
| 设置页居中 / 置前 | PASS | 用户确认通过 |
|
||||
| 应用设置保存及重启保持 | PASS | 用户确认通过 |
|
||||
| 开机自启动 | WAIVED | 用户于 2026-09-08 决定免测并接受当前实现,不作为技术验证 PASS |
|
||||
| 导入合法角色包 | PASS | 用户于 2026-07-18 确认通过 |
|
||||
| 切换用户角色并重启保持 | PASS | 用户于 2026-07-18 确认通过 |
|
||||
| 同 ID 用户角色取消覆盖 | PASS | 用户于 2026-07-18 确认通过 |
|
||||
| 拒绝缺少 `character.json` 的角色包 | PASS | 用户于 2026-07-18 确认通过 |
|
||||
| 拒绝缺少 `idle` 状态的角色包 | PASS | 用户于 2026-07-18 确认通过 |
|
||||
| 内置角色删除保护 | PASS | 用户于 2026-07-18 确认通过 |
|
||||
| 导出角色及文件完整性 | PASS | 用户于 2026-07-18 确认通过 |
|
||||
| 导出目标冲突确认与取消保护 | PASS | 用户于 2026-07-18 确认通过 |
|
||||
| 打开用户角色目录 | PASS | 用户于 2026-07-18 确认通过 |
|
||||
| 删除当前用户角色并回退默认角色 | PASS | 用户于 2026-07-18 确认通过 |
|
||||
| AI 配置保存并重启保持 | PASS | 用户于 2026-07-18 确认通过 |
|
||||
| 正确配置连接测试 | PASS | `AI-CONNECT-001` 修复后,用户于 2026-09-08 使用原配置复测通过 |
|
||||
| 错误 Key / Base URL 错误提示 | PASS | 用户于 2026-07-18 确认通过 |
|
||||
| 普通聊天 | PASS | 用户于 2026-07-18 确认通过 |
|
||||
| 流式回复 | PASS | 用户于 2026-07-18 确认通过 |
|
||||
| AI 忙时拒绝第二个请求 | PASS | 用户于 2026-07-18 确认通过 |
|
||||
| 取消 AI 请求 | PASS | 用户于 2026-07-18 确认通过 |
|
||||
| 本地历史保存和重启恢复 | PASS | 用户于 2026-07-18 确认通过 |
|
||||
| 历史关键词搜索 | PASS | 用户于 2026-07-18 确认通过 |
|
||||
| Provider / 模型筛选 | PASS | 用户于 2026-07-18 确认通过 |
|
||||
| 导出 Markdown | PASS | 用户于 2026-07-18 确认通过 |
|
||||
| 导出 JSON | PASS | 用户于 2026-07-18 确认通过 |
|
||||
| 关闭历史保存后不持久化新消息 | PASS | 用户于 2026-07-18 确认通过 |
|
||||
| 清空聊天历史及二次确认 | PASS | 用户于 2026-07-18 确认通过 |
|
||||
| 一次性提醒 | PASS | 用户于 2026-09-08 确认通过 |
|
||||
| 中文相对时间 | PASS | 用户于 2026-09-08 确认通过 |
|
||||
| 绝对日期 | PASS | 用户于 2026-09-08 确认通过 |
|
||||
| 每天 / 每周 / 每月重复提醒 | PASS | 用户于 2026-09-08 确认通过 |
|
||||
| 复杂重复规则拒绝 | PASS | 用户于 2026-09-08 确认通过 |
|
||||
| 提醒列表 | PASS | 用户于 2026-09-08 确认通过 |
|
||||
| 聊天取消提醒 | PASS | 用户于 2026-09-08 确认通过 |
|
||||
| 设置页编辑 pending | PASS | 用户于 2026-09-08 确认通过 |
|
||||
| 桌宠可见时触发 | PASS | 动态定位修复后,用户于 2026-09-08 复测通过 |
|
||||
| 桌宠隐藏时触发 | PASS | 用户于 2026-09-08 确认通过 |
|
||||
| AI 忙时触发 | PASS | 用户于 2026-09-08 确认通过 |
|
||||
| 拖动中触发 | PASS | 用户于 2026-09-08 确认通过 |
|
||||
| 多提醒同时触发 | PASS | 用户于 2026-09-08 确认通过 |
|
||||
| 知道了 | PASS | 用户于 2026-09-08 确认通过 |
|
||||
| 5分钟后再提醒 | PASS | 用户于 2026-09-08 确认通过 |
|
||||
| 20天历史清理 | PASS | 用户于 2026-09-08 确认通过 |
|
||||
| 自定义音效导入 / 试听 / 删除 | PASS | 用户于 2026-09-08 确认通过 |
|
||||
| 内置音效保护 | PASS | 用户于 2026-09-08 确认通过 |
|
||||
| 睡眠与系统时间变化 | PASS | 用户于 2026-09-08 确认通过 |
|
||||
| 提醒保存失败回滚与重试 | PASS | 用户于 2026-09-08 确认通过 |
|
||||
| 洛杉矶天气 | PASS | 用户于 2026-09-08 确认可识别并返回天气 |
|
||||
| 华盛顿天气 | PASS | 用户于 2026-09-08 确认可识别并返回天气 |
|
||||
| 西安天气候选 | PASS | 低价值同名候选过滤修复后,用户于 2026-09-08 完成 T06 最小清单复测 |
|
||||
| 纽约天气 | PASS | 中文海外城市别名修复后,用户于 2026-09-08 完成 T06 最小清单复测 |
|
||||
| 东京天气 | PASS | 中文别名与候选过滤修复后,用户于 2026-09-08 完成 T06 最小清单复测 |
|
||||
| 日本东京天气 | PASS | 国家限定解析修复后,用户于 2026-09-08 完成 T06 最小清单复测 |
|
||||
| 公网 IP 定位 | PASS | `ipapi.co` 失败后切换 `ipwho.is` 的备用链路通过用户复测 |
|
||||
| 文件操作已移除 | PASS | 用户于 2026-09-08 确认不再弹文件选择框或访问本地文件 |
|
||||
| 应用启动已移除 | PASS | 用户于 2026-09-08 确认不再弹 exe 选择/确认框或启动程序 |
|
||||
| 工作区 Agent 已移除 | PASS | 用户于 2026-09-08 确认不再扫描目录或打开 Agent 窗口 |
|
||||
| 本地能力菜单入口清理 | PASS | 用户于 2026-09-08 确认右键与托盘入口已清理 |
|
||||
| 本地能力设置页清理 | PASS | 用户于 2026-09-08 确认应用启动和 Agent 页面已清理 |
|
||||
| Agent 快捷键清理 | PASS | 用户于 2026-09-08 确认 `Alt+A` 不再呼出 Agent |
|
||||
| 旧本地能力配置兼容 | PASS | 用户于 2026-09-08 确认保留旧配置启动不崩溃且不恢复旧能力 |
|
||||
| `0.2.0` Release 构建 | PASS | 用户于 2026-09-08 使用 Qt 6.5.3 / MSVC Release Kit 完成构建 |
|
||||
| 中文安装器界面 | PASS | 用户于 2026-09-09 确认安装器实机验收通过 |
|
||||
| 桌面快捷方式和开机自启默认未选 | PASS | 用户于 2026-09-09 确认默认选项符合预期 |
|
||||
| 安装完成并启动 | PASS | 用户于 2026-09-09 确认通过 |
|
||||
| 覆盖安装 | PASS | 用户于 2026-09-09 确认通过 |
|
||||
| 卸载时保留用户数据 | PASS | 用户于 2026-09-09 确认通过 |
|
||||
| 卸载时删除用户数据 | PASS | 用户于 2026-09-09 确认通过 |
|
||||
|
||||
## T09 自动化验证
|
||||
|
||||
| 用例 | 结果 | 实际结果 / 备注 |
|
||||
| --- | --- | --- |
|
||||
| App 配置损坏 | PASS | 损坏文件被备份,加载默认 AppConfig |
|
||||
| AI 配置损坏 | PASS | 损坏文件被备份,回退未配置的 Custom Provider |
|
||||
| 天气配置损坏 | PASS | 损坏文件被备份,回退 Open-Meteo 默认配置 |
|
||||
| 联网配置损坏 | PASS | 损坏文件被备份,回退默认联网开关配置 |
|
||||
| 提醒数据损坏 | PASS | 损坏文件被备份,返回空提醒列表 |
|
||||
| 历史数据损坏 | PASS | 既有 ConversationStore 自动化验证备份并忽略损坏历史 |
|
||||
| 日志隐私 | PASS | 诊断上下文、JSON 摘要和错误摘要均不泄露 Key、Bearer、token、message/content 内容 |
|
||||
| 同秒重复损坏 | PASS | 连续损坏生成带后缀的独立备份,不覆盖前一份 |
|
||||
|
||||
## T10 发布与安装验收
|
||||
|
||||
| 检查 | 结果 | 实际结果 / 备注 |
|
||||
| --- | --- | --- |
|
||||
| PowerShell / JSON 语法 | PASS | QA、性能、发布和 GitHub 导出脚本均可解析 |
|
||||
| 发布包输入 | PASS | 包含 exe、Qt runtime、应用本地 MSVC x64 runtime、characters/icons/sounds、README、LICENSE |
|
||||
| 发布隔离 | PASS | 发布脚本不复制 `docs/internal/reports`,产品 CMake/打包脚本不依赖内部 QA |
|
||||
| 安装器结构 | PASS | 简体中文、per-user 安装、x64、文件递归、自启动默认未选、Run 项和卸载清理逻辑均已验证 |
|
||||
| MSVC 依赖闭合 | PASS | `MSVCP140/140_1/140_2` 与 `VCRUNTIME140/140_1` 均随包部署,依赖扫描无缺失 |
|
||||
| ZIP 发布包 | PASS | `QtDesktopPet-0.2.0-windows-x64.zip`,SHA256 `A247A6AB7EC467B2FC1EA2439611660E9E269E573860EDD587E7D65243768661` |
|
||||
| 中文安装器 | PASS | `QtDesktopPet-0.2.0-windows-x64-setup.exe`,SHA256 `0FE7E215C649E4C2175736C8798BF25F1FDEB34C1B45632CD8824F3F6DDEE709` |
|
||||
| Release / 实际打包 / 安装卸载 | PASS | 用户完成 Release 构建,并于 2026-09-09 确认中文安装、覆盖安装、启动和卸载数据选项通过 |
|
||||
| 数字签名 | ACCEPTED_LIMITATION | 当前安装器未签名,Windows SmartScreen 可能显示“未知发布者”;不作为 `0.2.0` 预发布阻断项 |
|
||||
|
||||
## 批次状态
|
||||
|
||||
| 批次 | 范围 | 结果 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| T01 | 基础窗口与托盘 | PASS | 6 项基础窗口/托盘用例通过 |
|
||||
| T02 | 应用设置与开机自启动 | IN_PROGRESS | 应用设置持久化通过;开机自启动尚未测试 |
|
||||
| T03 | 角色管理 | NOT_RUN | |
|
||||
| T04 | AI 与聊天历史 | NOT_RUN | |
|
||||
| T05 | 定时提醒 | NOT_RUN | |
|
||||
| T06 | 天气查询 | NOT_RUN | |
|
||||
| T07 | 联网模式 | NOT_RUN | |
|
||||
| T08 | 已移除能力与安全边界 | NOT_RUN | |
|
||||
| T09 | 配置损坏与隐私 | NOT_RUN | |
|
||||
| T10 | 打包、安装与卸载 | NOT_RUN | |
|
||||
| T02 | 应用设置与开机自启动 | ACCEPTED | 应用设置持久化通过;开机自启动由用户决定免测并接受 |
|
||||
| T03 | 角色管理 | PASS | 10 项全部通过 |
|
||||
| T04 | AI 与聊天历史 | PASS | 连接测试修复后复测通过;本批次全部通过 |
|
||||
| T05 | 定时提醒 | PASS | 动态按钮定位复测通过,提醒批次关闭 |
|
||||
| T06 | 天气查询 | PASS | 海外中文城市、候选过滤、国家限定和 IP 备用服务均通过最小清单复测 |
|
||||
| T07 | 联网模式 | BLOCKED | 当前没有可用的 OpenAI/Gemini 官方 Key;不是功能失败 |
|
||||
| T08 | 已移除能力与安全边界 | PASS | 用户确认全部 7 项通过 |
|
||||
| T09 | 配置损坏与隐私 | PASS | 8 项自动化验证通过,测试仅使用 Qt 测试专用配置目录 |
|
||||
| T10 | 打包、安装与卸载 | PASS | `0.2.0` 中文安装器、运行库闭合、安装启动、覆盖安装及卸载均通过 |
|
||||
|
||||
## 性能状态
|
||||
|
||||
@@ -56,11 +149,16 @@
|
||||
|
||||
## 缺陷与复测
|
||||
|
||||
当前已执行项目未发现缺陷。
|
||||
| 缺陷 ID | 首次现象 | 严重级别 | 修复状态 | 复测结果 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| AI-CONNECT-001 | 正常聊天可用,但连接测试返回 `HTTP 200: AI response content is empty.` | Medium | 已移除测试请求的 16 token 限制,并补充 token 截断提示 | PASS / CLOSED(2026-09-08) |
|
||||
| REMINDER-UI-001 | 到点提醒的“知道了”和“5分钟后再提醒”按钮距角色主体偏远 | Low | 已改为按当前角色帧 Alpha 可见边界和可见尺寸动态定位,并保留屏幕边缘回退 | PASS / CLOSED(2026-09-08) |
|
||||
| WEATHER-GEO-001 | 西安出现低价值候选,纽约/东京中文名无法稳定解析,国家限定失败 | Medium | 增加集中式中文城市别名、国家限定、人口/地点等级候选过滤,并修复中文被误判为两位国家码 | PASS / CLOSED(2026-09-08) |
|
||||
| WEATHER-IP-001 | ipapi.co 服务端错误或超时导致公网 IP 定位失败 | Medium | 改为 ipapi.co 失败或 5 秒超时后自动尝试 ipwho.is,全部失败才提示配置默认城市 | PASS / CLOSED(2026-09-08) |
|
||||
|
||||
## 当前结论
|
||||
|
||||
- 已执行手测:7 项 `PASS`。
|
||||
- 已执行静态检查:13 项 `PASS`。
|
||||
- 未执行项目仍较多,本记录状态为 `IN_PROGRESS`。
|
||||
- 当前不能据此判定可发布。
|
||||
- 已执行手测:72 项 `PASS`,0 项 `FAIL`,1 项 `WAIVED`。
|
||||
- 已执行自动化:核心逻辑 C++ 测试 43 项 `PASS`,静态检查 14 项 `PASS`。
|
||||
- T07 因缺少官方联网 Key 处于 `BLOCKED`,不是已发现的功能失败;产品性能场景尚未执行。
|
||||
- `0.2.0` 可作为预发布版本发布;已知限制为联网模式未实测、安装器未数字签名,公开分发时应明确说明。
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
| 日期 | 版本 / 阶段 | Commit | 构建 | 自动化 | 手测 | 性能 | 发布结论 | 记录 |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| 2026-07-17 | 预发布回归进行中 | `d0d1de4-dirty` | 用户构建,详情待补 | 静态 13/13;C++ NOT_RUN | 7 PASS,其余 NOT_RUN | NOT_RUN | IN_PROGRESS | `2026-07-17_pre-release_d0d1de4-dirty.md` |
|
||||
| 2026-07-17 至 2026-07-18;2026-09-08 至 2026-09-09 复测 | `0.2.0` 发布候选 | 本记录所在提交 | Release / Qt 6.5.3 / MSVC 19.44 | 静态 14/14;C++ 43/43 | 72 PASS / 0 FAIL / 1 WAIVED;T07 无 Key 未测 | NOT_RUN | PASS_WITH_LIMITATIONS | `2026-07-17_pre-release_d0d1de4-dirty.md` |
|
||||
| 2026-07-17 | QA 基础设施 | `d0d1de4-dirty` | 未构建 | 静态 13/13;C++ NOT_RUN | NOT_RUN | fixture PASS | NOT EVALUATED | `2026-07-17_qa-infrastructure_d0d1de4-dirty.md` |
|
||||
|
||||
正式记录按时间倒序添加。模板和维护规则分别见 `TEMPLATE.md` 与 `README.md`。
|
||||
|
||||
Reference in New Issue
Block a user