1
0
mirror of https://github.com/tw93/Mole.git synced 2026-03-22 15:00:07 +00:00
Files
Mole/RELEASE_TEST_CHECKLIST.md

5.2 KiB
Raw Blame History

Mole V1.29.0 发布前测试清单

1. 基础功能测试

1.1 主菜单和导航

  • mo - 主菜单正常显示
  • 方向键 ↑↓ 导航正常
  • Enter 进入子菜单正常
  • M 键显示帮助信息
  • Q 键退出正常

1.2 版本和帮助

  • mo --version - 显示 1.29.0
  • mo --help - 帮助信息完整
  • mo version - 显示详细版本信息macOS版本、架构、SIP状态等

2. Clean 功能测试

2.1 基础清理

  • mo clean - 交互式清理正常
  • mo clean --dry-run - 预览模式显示正确
  • mo clean --whitelist - 白名单管理正常

2.2 新增功能: Xcode DeviceSupport

  • 清理旧的 Xcode DeviceSupport 版本(而不是仅缓存)
  • 保留当前使用的版本

2.3 Bug修复验证

  • Go cache 清理时尊重 whitelist
  • Homebrew dry-run 模式尊重 whitelist
  • pip3 是 macOS stub 时跳过 pip 缓存清理
  • 修复后的 ICON_WARNING 显示正确

3. Analyze 功能测试

3.1 基础分析

  • mo analyze - 交互式分析正常
  • mo analyze /path - 分析指定路径
  • mo analyze /Volumes - 分析外部磁盘

3.2 新增功能: JSON 输出 (PR #533)

  • mo analyze --json - JSON 格式输出
  • mo analyze --json /path - 指定路径 JSON 输出
  • 非 TTY 环境自动使用 JSON如管道: mo analyze | cat
  • JSON 包含字段: path, total_size, file_count, items[]

4. Status 功能测试

4.1 基础状态

  • mo status - 显示系统健康状态
  • CPU、内存、磁盘、网络数据显示正常

4.2 新增功能: JSON 输出 (PR #529)

  • mo status --json - JSON 格式输出
  • 非 TTY 环境自动使用 JSON: mo status | cat
  • JSON 包含网络数据 (PR #532 fix)
  • JSON 字段验证: cpu, memory, disk, network, load_avg, uptime

5. Uninstall 功能测试

  • mo uninstall - 应用卸载界面正常
  • mo uninstall --dry-run - 预览卸载
  • mo uninstall --whitelist - 白名单管理
  • 卸载后能正确发现相关文件

6. Optimize 功能测试

  • mo optimize - 系统优化正常
  • mo optimize --dry-run - 预览模式
  • mo optimize --whitelist - 白名单管理

7. Purge 功能测试

  • mo purge - 项目清理正常
  • mo purge --dry-run - 预览模式
  • mo purge --paths - 配置扫描目录
  • dry-run 不计入失败移除 (bug fix验证)

8. Installer 功能测试

  • mo installer - 安装包清理正常
  • mo installer --dry-run - 预览模式

9. TouchID 功能测试

  • mo touchid - TouchID 配置界面
  • mo touchid enable --dry-run - 预览模式

10. Update 功能测试

10.1 基础更新

  • mo update - 检查更新(当前已是最新版)
  • mo update --force - 强制重新安装

10.2 新增功能: Nightly 更新 (PR #517)

  • mo update --nightly - 安装 nightly 版本
  • nightly 安装后 mo --version 显示 commit hash
  • nightly 安装后 mo version 显示 "Channel: Nightly (xxxxxx)"
  • Homebrew 安装时 mo update --nightly 应被拒绝

10.3 Bug修复验证

  • 更新时保持 sudo 会话活跃
  • 避免 SIGPIPE 在 Homebrew 检测中

11. Completion 功能测试

  • mo completion - 补全脚本安装
  • mo completion --dry-run - 预览模式

12. Remove 功能测试

  • mo remove --dry-run - 预览移除 Mole

13. 边界情况测试

13.1 安全性

  • 不删除 /System、/Library/Apple 等受保护路径
  • 不删除 com.apple.* 系统文件
  • dry-run 模式绝不执行实际删除

13.2 并发和超时

  • 长时间运行的命令有超时处理
  • 网络请求有超时处理

13.3 错误处理

  • 网络不可用时的优雅降级
  • 权限不足时的正确提示
  • 文件不存在时不报错

14. 多场景测试

14.1 不同安装方式

  • 脚本安装的功能正常
  • Homebrew 安装的功能正常(如果可测)

14.2 不同 macOS 版本

  • 在支持的 macOS 版本上测试

14.3 不同架构

  • Apple Silicon (arm64) - 测试通过
  • Intel (x86_64) - 如可测

15. JSON 输出格式验证

15.1 Analyze JSON 结构

mo analyze --json /tmp 2>/dev/null | jq '.'

应包含:

  • path
  • total_size
  • file_count
  • items (name, path, size, size_human, count)

15.2 Status JSON 结构

mo status --json 2>/dev/null | jq '.'

应包含:

  • cpu (usage, cores)
  • memory (total, used, free, cached, usage_percent)
  • disk (total, used, free, usage_percent)
  • network (interfaces with rx_bytes, tx_bytes)
  • load_avg (1min, 5min, 15min)
  • uptime

快速验证命令

# 1. 版本检查
mo --version  # 应为 1.29.0

# 2. 核心功能快速测试
mo clean --dry-run
mo analyze --json /tmp 2>/dev/null | head -20
mo status --json 2>/dev/null | jq '.'

# 3. 测试脚本验证
./scripts/test.sh

# 4. 代码格式检查
./scripts/check.sh --format

测试通过标准

  • 所有勾选测试通过
  • 无崩溃、无异常退出
  • JSON 输出格式正确
  • dry-run 模式安全
  • 测试脚本全部通过: 464 tests, 0 failures