397 lines
9.7 KiB
Markdown
397 lines
9.7 KiB
Markdown
# 提现功能测试清单
|
||
|
||
## 🧪 测试环境准备
|
||
|
||
### 前置条件
|
||
- [x] 后端服务已启动(http://localhost:8080)
|
||
- [x] 前端服务已启动(http://localhost:5173)
|
||
- [x] 数据库迁移已执行
|
||
- [x] 财务角色和权限已配置
|
||
|
||
---
|
||
|
||
## 📝 用户端测试
|
||
|
||
### 1. 收款账号管理测试
|
||
|
||
#### 1.1 添加支付宝账号
|
||
- [ ] 访问 `/wallet/payment-accounts`
|
||
- [ ] 点击"添加收款账号"
|
||
- [ ] 选择"支付宝"
|
||
- [ ] 输入账户名(需与实名认证姓名一致)
|
||
- [ ] 输入支付宝账号
|
||
- [ ] 点击"添加"
|
||
- [ ] **预期结果**:成功添加,显示在列表中,账号已脱敏
|
||
|
||
#### 1.2 添加微信账号
|
||
- [ ] 选择"微信"
|
||
- [ ] 输入账户名
|
||
- [ ] 输入微信号
|
||
- [ ] 点击"添加"
|
||
- [ ] **预期结果**:成功添加
|
||
|
||
#### 1.3 添加银行卡账号
|
||
- [ ] 选择"银行卡"
|
||
- [ ] 输入账户名
|
||
- [ ] 输入银行卡号
|
||
- [ ] 输入银行名称(如:中国工商银行)
|
||
- [ ] 输入开户支行(可选)
|
||
- [ ] 点击"添加"
|
||
- [ ] **预期结果**:成功添加,银行信息显示
|
||
|
||
#### 1.4 实名验证测试
|
||
- [ ] 使用未实名认证的账号添加收款账号
|
||
- [ ] **预期结果**:提示"请先完成实名认证"
|
||
- [ ] 使用已实名账号,但账户名与实名不一致
|
||
- [ ] **预期结果**:提示"账户名必须与实名认证姓名一致"
|
||
|
||
#### 1.5 账号数量限制测试
|
||
- [ ] 添加第5个收款账号
|
||
- [ ] **预期结果**:成功添加
|
||
- [ ] 尝试添加第6个收款账号
|
||
- [ ] **预期结果**:按钮变为"已达账号数量上限",无法添加
|
||
|
||
#### 1.6 设置默认账号
|
||
- [ ] 点击某个账号的"星星"图标
|
||
- [ ] **预期结果**:该账号标记为默认,其他账号取消默认
|
||
|
||
#### 1.7 编辑账号
|
||
- [ ] 点击某个账号的"编辑"按钮
|
||
- [ ] 修改支行信息(银行卡)
|
||
- [ ] 点击"更新"
|
||
- [ ] **预期结果**:信息更新成功
|
||
|
||
#### 1.8 删除账号
|
||
- [ ] 点击某个账号的"删除"按钮
|
||
- [ ] 确认删除
|
||
- [ ] **预期结果**:账号删除成功
|
||
|
||
---
|
||
|
||
### 2. 提现申请测试
|
||
|
||
#### 2.1 正常提现流程
|
||
- [ ] 访问 `/wallet/withdrawal`
|
||
- [ ] 查看钱包余额显示正确
|
||
- [ ] 选择收款账号
|
||
- [ ] 输入金额 100
|
||
- [ ] 查看到账金额显示为 100(手续费0%)
|
||
- [ ] 点击"提交申请"
|
||
- [ ] 确认提现
|
||
- [ ] **预期结果**:提现申请提交成功,在提现记录中显示"待审核"
|
||
|
||
#### 2.2 最低金额限制测试
|
||
- [ ] 输入金额 5
|
||
- [ ] **预期结果**:按钮禁用,或提示"提现金额低于最小限额"
|
||
|
||
#### 2.3 最高金额限制测试
|
||
- [ ] 输入金额 6000
|
||
- [ ] **预期结果**:提示"提现金额超过最大限额"
|
||
|
||
#### 2.4 余额不足测试
|
||
- [ ] 输入金额大于可用余额
|
||
- [ ] **预期结果**:显示红色警告"余额不足,可用余额:¥xxx"
|
||
|
||
#### 2.5 无收款账号测试
|
||
- [ ] 删除所有收款账号
|
||
- [ ] 访问提现页面
|
||
- [ ] **预期结果**:显示"还没有收款账号",引导添加
|
||
|
||
#### 2.6 取消提现测试
|
||
- [ ] 在提现记录中找到"待审核"状态的提现
|
||
- [ ] 点击"取消"按钮
|
||
- [ ] 确认取消
|
||
- [ ] **预期结果**:状态变为"已取消",余额解冻
|
||
|
||
#### 2.7 无法取消已审核提现
|
||
- [ ] 尝试取消"处理中"或"已完成"状态的提现
|
||
- [ ] **预期结果**:没有"取消"按钮
|
||
|
||
---
|
||
|
||
## 🔐 管理员端测试
|
||
|
||
### 3. 提现审核测试
|
||
|
||
#### 3.1 登录财务账号
|
||
- [ ] 使用财务管理员账号登录
|
||
- [ ] 访问 `/admin/withdrawals`
|
||
- [ ] **预期结果**:可以正常访问
|
||
|
||
#### 3.2 权限测试
|
||
- [ ] 使用非财务角色管理员登录
|
||
- [ ] 访问提现管理页面
|
||
- [ ] **预期结果**:无权限或看不到相关菜单
|
||
|
||
#### 3.3 查看提现列表
|
||
- [ ] 查看提现列表
|
||
- [ ] **预期结果**:显示所有提现申请,包含用户信息、金额、收款方式、状态
|
||
|
||
#### 3.4 状态筛选
|
||
- [ ] 选择"待审核"状态
|
||
- [ ] 点击"查询"
|
||
- [ ] **预期结果**:只显示待审核的提现
|
||
|
||
#### 3.5 用户筛选
|
||
- [ ] 输入用户ID
|
||
- [ ] 点击"查询"
|
||
- [ ] **预期结果**:只显示该用户的提现记录
|
||
|
||
#### 3.6 查看提现详情
|
||
- [ ] 点击某条记录的"详情"按钮
|
||
- [ ] **预期结果**:
|
||
- 显示完整的提现信息
|
||
- 显示用户信息(昵称、手机号)
|
||
- 显示完整的收款账号(未脱敏)
|
||
- 显示金额信息
|
||
- 如有银行卡,显示开户支行
|
||
|
||
#### 3.7 审核通过
|
||
- [ ] 在待审核的提现详情中点击"通过审核"
|
||
- [ ] 输入审核备注(可选)
|
||
- [ ] 确认
|
||
- [ ] **预期结果**:
|
||
- 状态变为"处理中"
|
||
- 显示审核人和审核时间
|
||
- 显示操作提示"请手动转账到用户收款账号"
|
||
|
||
#### 3.8 审核拒绝
|
||
- [ ] 在待审核的提现详情中点击"拒绝"
|
||
- [ ] 输入拒绝原因
|
||
- [ ] 确认
|
||
- [ ] **预期结果**:
|
||
- 状态变为"已拒绝"
|
||
- 显示审核人和审核时间
|
||
- 用户余额解冻
|
||
|
||
#### 3.9 确认打款
|
||
- [ ] 手动转账到用户收款账号
|
||
- [ ] 在"处理中"的提现详情中点击"确认打款"
|
||
- [ ] 输入打款备注(如:已通过支付宝转账)
|
||
- [ ] 确认
|
||
- [ ] **预期结果**:
|
||
- 状态变为"已完成"
|
||
- 显示打款人和打款时间
|
||
- 用户冻结余额扣除
|
||
|
||
#### 3.10 完整账号可见性测试
|
||
- [ ] 查看提现详情
|
||
- [ ] **预期结果**:管理员可以看到完整的收款账号(未脱敏)
|
||
|
||
---
|
||
|
||
## 💰 钱包余额测试
|
||
|
||
### 4. 余额流转测试
|
||
|
||
#### 4.1 提现冻结测试
|
||
- [ ] 记录提现前的可用余额和冻结余额
|
||
- [ ] 提交提现申请
|
||
- [ ] 查看钱包余额
|
||
- [ ] **预期结果**:
|
||
- 可用余额减少(提现金额)
|
||
- 冻结余额增加(提现金额)
|
||
|
||
#### 4.2 审核拒绝解冻测试
|
||
- [ ] 管理员拒绝提现
|
||
- [ ] 查看钱包余额
|
||
- [ ] **预期结果**:
|
||
- 冻结余额减少(提现金额)
|
||
- 可用余额增加(提现金额)
|
||
|
||
#### 4.3 用户取消解冻测试
|
||
- [ ] 用户取消待审核提现
|
||
- [ ] 查看钱包余额
|
||
- [ ] **预期结果**:余额解冻(同上)
|
||
|
||
#### 4.4 打款完成扣除测试
|
||
- [ ] 管理员确认打款
|
||
- [ ] 查看钱包余额
|
||
- [ ] **预期结果**:
|
||
- 冻结余额减少(提现金额)
|
||
- 总余额减少(提现金额)
|
||
|
||
#### 4.5 钱包流水测试
|
||
- [ ] 访问钱包流水页面
|
||
- [ ] **预期结果**:可以看到以下流水记录
|
||
- `withdraw_freeze` - 提现冻结
|
||
- `withdraw_reject` - 提现拒绝(如有)
|
||
- `withdraw_cancel` - 用户取消提现(如有)
|
||
- `withdraw_complete` - 提现完成
|
||
|
||
---
|
||
|
||
## 🔄 业务流程完整性测试
|
||
|
||
### 5. 端到端测试
|
||
|
||
#### 场景1:正常提现流程
|
||
```
|
||
1. 用户添加收款账号 ✓
|
||
↓
|
||
2. 用户发起提现 ✓
|
||
↓
|
||
3. 余额冻结 ✓
|
||
↓
|
||
4. 管理员审核通过 ✓
|
||
↓
|
||
5. 管理员手动转账 ✓
|
||
↓
|
||
6. 管理员确认打款 ✓
|
||
↓
|
||
7. 冻结余额扣除 ✓
|
||
```
|
||
|
||
#### 场景2:提现被拒绝
|
||
```
|
||
1. 用户发起提现 ✓
|
||
↓
|
||
2. 余额冻结 ✓
|
||
↓
|
||
3. 管理员审核拒绝 ✓
|
||
↓
|
||
4. 余额解冻 ✓
|
||
```
|
||
|
||
#### 场景3:用户取消提现
|
||
```
|
||
1. 用户发起提现 ✓
|
||
↓
|
||
2. 余额冻结 ✓
|
||
↓
|
||
3. 用户取消提现 ✓
|
||
↓
|
||
4. 余额解冻 ✓
|
||
```
|
||
|
||
---
|
||
|
||
## 🎨 UI/UX 测试
|
||
|
||
### 6. 界面和交互测试
|
||
|
||
#### 6.1 响应式测试
|
||
- [ ] 桌面端显示正常
|
||
- [ ] 平板端显示正常
|
||
- [ ] 手机端显示正常(如已适配)
|
||
|
||
#### 6.2 加载状态
|
||
- [ ] 列表加载时显示 loading
|
||
- [ ] 提交操作时按钮显示 loading
|
||
- [ ] 数据为空时显示空状态
|
||
|
||
#### 6.3 错误提示
|
||
- [ ] 网络错误时显示友好提示
|
||
- [ ] 表单验证错误显示清晰
|
||
- [ ] 操作失败时显示具体原因
|
||
|
||
#### 6.4 确认对话框
|
||
- [ ] 删除账号需要确认
|
||
- [ ] 提交提现需要确认
|
||
- [ ] 取消提现需要确认
|
||
- [ ] 审核操作需要确认
|
||
|
||
#### 6.5 状态标签
|
||
- [ ] 待审核:黄色警告标签
|
||
- [ ] 处理中:蓝色主题标签
|
||
- [ ] 已完成:绿色成功标签
|
||
- [ ] 已拒绝:红色危险标签
|
||
- [ ] 已取消:灰色信息标签
|
||
|
||
---
|
||
|
||
## 🔒 安全性测试
|
||
|
||
### 7. 安全测试
|
||
|
||
#### 7.1 账号脱敏
|
||
- [ ] 用户端收款账号列表显示脱敏账号
|
||
- [ ] 提现记录显示脱敏账号
|
||
- [ ] 管理员端显示完整账号
|
||
|
||
#### 7.2 权限验证
|
||
- [ ] 未登录用户无法访问提现页面
|
||
- [ ] 用户只能查看自己的收款账号
|
||
- [ ] 用户只能查看自己的提现记录
|
||
- [ ] 非财务管理员无法访问提现审核
|
||
|
||
#### 7.3 实名验证
|
||
- [ ] 未实名用户无法添加收款账号
|
||
- [ ] 账户名不匹配无法添加
|
||
|
||
#### 7.4 金额验证
|
||
- [ ] 最低金额限制生效
|
||
- [ ] 最高金额限制生效
|
||
- [ ] 余额不足无法提现
|
||
|
||
---
|
||
|
||
## 📊 数据一致性测试
|
||
|
||
### 8. 数据库验证
|
||
|
||
#### 8.1 收款账号
|
||
- [ ] 账号加密存储(后端数据库检查)
|
||
- [ ] 默认账号只有一个
|
||
- [ ] 删除是软删除(status=disabled)
|
||
|
||
#### 8.2 提现记录
|
||
- [ ] 提现单号唯一
|
||
- [ ] 账号信息快照正确
|
||
- [ ] 状态流转正确
|
||
- [ ] 审核信息记录完整
|
||
- [ ] 打款信息记录完整
|
||
|
||
#### 8.3 钱包流水
|
||
- [ ] 每次操作都有对应流水
|
||
- [ ] 流水金额正确
|
||
- [ ] 余额计算正确
|
||
- [ ] 业务类型标记正确
|
||
|
||
---
|
||
|
||
## ✅ 测试结果
|
||
|
||
### 通过标准
|
||
- [ ] 所有核心功能测试通过
|
||
- [ ] 无阻塞性 Bug
|
||
- [ ] UI/UX 友好
|
||
- [ ] 安全性验证通过
|
||
- [ ] 数据一致性正确
|
||
|
||
### 发现的问题
|
||
|
||
| 编号 | 问题描述 | 严重程度 | 状态 |
|
||
|------|----------|----------|------|
|
||
| 1 | | | |
|
||
| 2 | | | |
|
||
| 3 | | | |
|
||
|
||
---
|
||
|
||
## 📝 测试报告
|
||
|
||
**测试日期**:
|
||
**测试人员**:
|
||
**测试环境**:
|
||
**测试结果**:
|
||
|
||
**备注**:
|
||
|
||
---
|
||
|
||
## 🚀 上线前检查清单
|
||
|
||
- [ ] 所有测试通过
|
||
- [ ] 生产环境加密密钥已更新
|
||
- [ ] 数据库迁移已在生产环境执行
|
||
- [ ] 财务管理员账号已创建
|
||
- [ ] 财务角色权限已配置
|
||
- [ ] 备份数据库
|
||
- [ ] 准备回滚方案
|
||
- [ ] 监控和告警配置
|
||
|
||
---
|
||
|
||
**测试完成后,系统即可上线使用!**
|