mirror of
https://github.com/t8y2/dbx.git
synced 2026-10-02 02:34:42 +08:00
4.2 KiB
4.2 KiB
桌面更新验收
本清单用于打包后的真实升级测试。单元测试不能证明系统安装器能够替换文件、重新启动应用或恢复窗口内容。使用测试签名与独立测试配置发布两个连续版本,避免给正式用户推送测试版本。
环境
- macOS:从安装到 Applications 的旧版应用升级。
- Windows:当前用户安装的 NSIS 版本,以及带
portable.dbx的便携版本;发布 MSI 时追加 MSI 验收。 - 两种 CPU 架构分别验证实际发布的安装产物;不支持自动更新的 Windows 7 包继续手动升级。
- 升级前记录应用版本、用户数据目录、连接列表、SQL 草稿和窗口布局;使用可丢弃的测试数据库。
静默下载与就绪
- 开启更新通知,启动旧版本,发布或提供新版本元数据。
- 不操作更新入口:确认没有通知、弹窗、工具栏下载动画,也没有安装器启动或应用退出。
- 主动打开更新面板,确认可见下载进度;关闭面板,下载继续。
- 包完成下载、验签和缓存提交后才出现红点,面板显示准确版本与“重启并更新”。
- 不点击安装,等待任务完成、关闭面板、正常退出应用,均不得开始安装。
- 就绪未安装期间发布更新的版本:后续检查应丢弃旧缓存并自动下载最新版本,红点与面板更新为新版本号。
本地缓存与失败恢复
- 下载就绪后退出应用、断网、重新启动:应恢复同一版本的就绪状态。
- 点击“重启并更新”,确认安装过程不请求更新元数据或重新下载安装包。
- 分别截断安装包、修改签名、放入未完成缓存、使用不匹配架构或已安装版本:不能显示为可安装,不能启动安装器。
- 模拟网络断开、下载超时、磁盘满:后台无提示;主动打开面板可查看原因、重试或切源。
- 下载中取消或切源,确认旧批次的进度/完成事件不覆盖新批次;缓存已经就绪时切源不重下。
- 忽略就绪版本后,重开应用不再提示或下载该版本;关闭更新通知停止未完成下载,但保留完整缓存供手动安装。
工作与草稿保护
- 分别保留新 SQL、已保存 SQL 的修改、外部 SQL 文件修改和可恢复的结构草稿;普通退出设置切换到不保留草稿,仍应在更新后恢复本次编辑。
- 在分离窗口修改 SQL;更新前必须收到该窗口的持久化成功确认,升级后核对实际内容。
- 模拟保存失败或分离窗口无响应超过 5 秒:安装不执行,已有缓存不丢失,界面恢复操作能力。
- 保留未提交网格修改、活动事务、无法恢复的配置编辑:更新被阻止,不得自动提交或丢弃内容。
- 查询、导入导出或 AI 任务运行时不能安装;任务结束后仍需主动点击。
- 在准备保存期间尝试启动任务、编辑或打开新分离窗口:不能漏过保护;准备失败后这些操作应恢复正常。
安装与重启
- macOS:点击一次后安装并立即重启;不再要求第二次点击。模拟重启失败后,再次操作只重启、不重复安装。
- Windows 安装版:只在明确点击后启动一次安装器并退出应用;安装成功后自动启动新版。
- Windows:取消系统权限请求或模拟安装器启动失败,应用不能直接退出或永久停在安装中;允许重试。
- Windows 便携版:替换并重启后继续使用原用户数据目录;模拟替换/启动失败,检查原程序回退。
- 重启后确认版本、草稿、连接列表与用户数据正确;旧缓存已清理。
记录
每次验收记录旧版/新版号、系统与架构、安装类型、结果以及失败日志。只有实际执行通过的项目才能标记通过;尚未执行的平台明确标记“未验证”。
当前保护边界
更新准备屏障覆盖主窗口、分离窗口及桌面 API 调用,不是数据库引擎的全局任务锁。独立 MCP 客户端或原生后端直接发起的工作不受这一前端屏障原子控制。没有可靠编辑基线的配置对话框会保守地阻止更新,关闭该对话框后才能继续。