171 lines
4.3 KiB
Markdown
171 lines
4.3 KiB
Markdown
# 小虾 SaaS 生产 UAT 验收清单
|
||
|
||
> 基线版本:`v0.1.18`
|
||
> 适用环境:`https://saas.xiaoxiajianji.com/`
|
||
> 创建时间:2026-06-23
|
||
|
||
---
|
||
|
||
## 1. 使用规则
|
||
|
||
- 每次生产发布后,至少按本清单跑一遍主链路。
|
||
- 如果任一步失败,不允许说“生产完成”。
|
||
- 所有失败都要记录:页面、按钮、截图、浏览器错误、API 响应、用户账号、项目名、任务 ID。
|
||
- 未开放功能必须显示“暂未开放”或禁用,不允许假成功。
|
||
|
||
---
|
||
|
||
## 2. 主链路 UAT
|
||
|
||
### 2.1 登录
|
||
|
||
- [ ] 打开 `https://saas.xiaoxiajianji.com/login`。
|
||
- [ ] 输入账号密码。
|
||
- [ ] 登录成功后进入工作空间页面。
|
||
- [ ] 刷新页面后仍保持正确登录状态。
|
||
- [ ] 如果登录态过期,能回到登录页,不出现“卡在工作空间加载失败”。
|
||
|
||
验收:用户可以稳定登录和刷新。
|
||
|
||
### 2.2 工作空间
|
||
|
||
- [ ] 打开工作空间列表。
|
||
- [ ] 能看到已有工作空间。
|
||
- [ ] 能创建新工作空间。
|
||
- [ ] 能进入工作空间详情。
|
||
- [ ] 直接刷新工作空间页面不丢状态。
|
||
|
||
验收:工作空间加载不报错。
|
||
|
||
### 2.3 项目
|
||
|
||
- [ ] 在工作空间内创建项目。
|
||
- [ ] 能进入项目详情。
|
||
- [ ] 能进入项目素材页。
|
||
- [ ] 能进入项目生成页。
|
||
- [ ] 能进入项目结果页。
|
||
- [ ] 复制项目页 URL 后重新打开,workspace/project 上下文能恢复。
|
||
|
||
验收:项目页面刷新和直接 URL 都能正常使用。
|
||
|
||
### 2.4 素材上传
|
||
|
||
- [ ] 创建或选择素材库。
|
||
- [ ] 上传 1 个素材。
|
||
- [ ] 页面显示上传成功。
|
||
- [ ] 上传多个素材。
|
||
- [ ] 每个文件有独立成功/失败提示。
|
||
- [ ] 上传时页面不被全局锁死。
|
||
- [ ] 刷新后已上传素材仍可见。
|
||
|
||
验收:单文件和批量上传都可用。
|
||
|
||
### 2.5 视频生成
|
||
|
||
- [ ] 进入生成页。
|
||
- [ ] 选择素材库。
|
||
- [ ] 发起生成任务。
|
||
- [ ] 能看到任务状态变化。
|
||
- [ ] 生成成功后能进入结果。
|
||
- [ ] 如果失败,错误提示必须说人话。
|
||
|
||
验收:生成任务可完成,失败时用户知道怎么办。
|
||
|
||
### 2.6 成片下载
|
||
|
||
- [ ] 打开结果页。
|
||
- [ ] 能看到生成结果。
|
||
- [ ] 点击下载。
|
||
- [ ] 下载得到 MP4 文件。
|
||
- [ ] 视频可以正常播放。
|
||
|
||
验收:用户能拿到可播放成片。
|
||
|
||
---
|
||
|
||
## 3. 暂未开放功能检查
|
||
|
||
以下入口如出现,必须禁用或显示“暂未开放”:
|
||
|
||
- [ ] Admin 后台。
|
||
- [ ] 账单管理。
|
||
- [ ] 订阅升级。
|
||
- [ ] 配额变更。
|
||
- [ ] 会话管理。
|
||
- [ ] 全局成员管理。
|
||
- [ ] 未完成的智能剪辑功能。
|
||
|
||
验收:没有假入口,没有假成功。
|
||
|
||
---
|
||
|
||
## 4. 权限边界 UAT
|
||
|
||
### 4.1 匿名用户
|
||
|
||
- [ ] 未登录访问工作空间,应跳转登录或返回 401。
|
||
- [ ] 未登录访问项目,应跳转登录或返回 401。
|
||
- [ ] 未登录访问上传接口,应返回 401。
|
||
|
||
### 4.2 非成员用户
|
||
|
||
- [ ] 用户 B 不能访问用户 A 的项目。
|
||
- [ ] 用户 B 不能访问用户 A 的素材库。
|
||
- [ ] 用户 B 不能上传到用户 A 的项目。
|
||
- [ ] 用户 B 不能查看用户 A 的素材列表。
|
||
- [ ] 用户 B 不能查看用户 A 的生成任务。
|
||
- [ ] 用户 B 不能查看用户 A 的生成结果。
|
||
- [ ] 用户 B 不能下载用户 A 的成片。
|
||
|
||
验收:跨账号不能越权。
|
||
|
||
---
|
||
|
||
## 5. 生产监控验收
|
||
|
||
- [ ] `https://saas-api.xiaoxiajianji.com/health` 返回 200。
|
||
- [ ] `/health` 中 `version` 等于当前生产 tag。
|
||
- [ ] `/var/lib/xiaoxia-ci/duty_report.json` 存在。
|
||
- [ ] 巡检报告 `alerts` 如非空,已记录并处理。
|
||
- [ ] API/Web/关键容器状态正常。
|
||
|
||
验收:生产版本和资源状态可观测。
|
||
|
||
---
|
||
|
||
## 6. 记录模板
|
||
|
||
```text
|
||
UAT 日期:
|
||
生产版本:
|
||
测试账号:
|
||
工作空间:
|
||
项目:
|
||
素材数量:
|
||
生成任务 ID:
|
||
结果:通过 / 不通过
|
||
问题截图:
|
||
问题描述:
|
||
API 响应:
|
||
处理结论:
|
||
```
|
||
|
||
---
|
||
|
||
## 7. 当前 v0.1.18 验证结果
|
||
|
||
自动 smoke 已通过:
|
||
|
||
- [x] `public_auth_flow=ok`
|
||
- [x] `public_upload_flow=ok`
|
||
- [x] `public_generation_flow=ok`
|
||
- [x] API health 返回 `version: v0.1.18`
|
||
- [x] `public_boundary_flow=ok`,覆盖素材列表、生成任务、生成结果、成片下载 URL 权限边界。
|
||
- [x] 生产资源巡检 cron 已启用
|
||
|
||
待真实浏览器确认:
|
||
|
||
- [ ] 老大真实账号完整 UAT。
|
||
- [ ] 成片在浏览器/播放器中人工播放确认。
|
||
- [ ] 未开放入口人工检查。
|