Files
Qt_DesktopPet/docs/test-records/2026-07-17_pre-release_d0d1de4-dirty.md
T

12 KiB
Raw Blame History

QtDesktopPet 预发布测试记录

构建信息

项目 内容
测试日期 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 待补充
测试人 用户手动测试

自动化摘要

检查 结果 摘要
核心逻辑 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

已执行手测

用例 结果 实际结果 / 备注
启动 PASS 用户确认通过
拖动 PASS 用户确认通过
置顶及重启保持 PASS 用户确认通过
托盘隐藏 / 显示 PASS 用户确认通过
单实例唤醒 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 应用设置与开机自启动 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 中文安装器、运行库闭合、安装启动、覆盖安装及卸载均通过

性能状态

实际 QtDesktopPet 性能场景尚未执行。QA 脚本自检结果不得作为产品性能结论。

缺陷与复测

缺陷 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)

当前结论

  • 已执行手测:72 项 PASS,0 项 FAIL,1 项 WAIVED。
  • 已执行自动化:核心逻辑 C++ 测试 43 项 PASS,静态检查 14 项 PASS。
  • T07 因缺少官方联网 Key 处于 BLOCKED,不是已发现的功能失败;产品性能场景尚未执行。
  • 0.2.0 可作为预发布版本发布;已知限制为联网模式未实测、安装器未数字签名,公开分发时应明确说明。