peixue-dev/Archive/peidu-temp-files/docs/[一次性]家长端打卡功能-测试指南-2026-01-26.md

372 lines
7.1 KiB
Markdown
Raw Normal View History

2026-02-28 17:26:03 +08:00
# 🧪 家长端打卡功能 - 测试指南
**测试日期**: 2026-01-26
**功能**: 家长端查看陪伴员打卡记录
---
## 📋 测试前准备
### 1. 数据准备
确保数据库中有以下测试数据:
- ✅ 用户账号(家长角色)
- ✅ 订单数据(已完成的订单)
- ✅ 打卡记录数据check_in_record表
### 2. 测试账号
- 家长账号:手机号 + 密码
- 确保该家长有已完成的订单
---
## 🎯 测试场景
### 场景1订单详情页面查看打卡记录
#### 测试步骤
1. 使用家长账号登录
2. 进入"我的订单"
3. 选择一个已完成的订单
4. 点击进入订单详情
5. 滚动到"服务记录"部分
#### 预期结果
- ✅ 显示"服务记录"标题
- ✅ 显示签到记录卡片
- 绿色图标 ✓
- 签到时间格式2026-01-26 09:00
- 签到地点(显示地址)
- 签到照片(可点击)
- ✅ 显示签退记录卡片
- 蓝色图标 ✓
- 签退时间
- 签退地点
- 签退照片(可点击)
- ✅ 显示服务时长卡片
- ⏱️ 图标
- 服务时长2小时30分钟
#### 测试点
- [ ] 签到时间显示正确
- [ ] 签退时间显示正确
- [ ] 地址信息显示正确
- [ ] 照片可以点击查看大图
- [ ] 服务时长计算正确
- [ ] 如果没有签到记录,不显示该部分
---
### 场景2打卡记录列表页面
#### 测试步骤
1. 使用家长账号登录
2. 在浏览器地址栏输入:
```
/user-package/pages/checkin/records
```
3. 或在个人中心添加入口后点击进入
#### 预期结果
- ✅ 显示顶部统计卡片
- 总服务次数
- 本月服务次数
- 累计时长
- ✅ 显示筛选栏
- 日期选择器
- 清除筛选按钮
- ✅ 显示记录列表
- 每条记录包含:
- 日期徽章(日+月)
- 陪伴员姓名
- 服务名称
- 签到时间
- 签退时间
- 服务时长
- 签到地点
- 签到/签退照片
- 服务状态(服务中/已完成)
#### 测试点
- [ ] 统计数据显示正确
- [ ] 记录列表显示正确
- [ ] 记录按时间倒序排列
- [ ] 照片可以点击查看大图
- [ ] 点击记录跳转到订单详情
---
### 场景3日期筛选功能
#### 测试步骤
1. 进入打卡记录列表页面
2. 点击"选择日期"
3. 选择一个日期2026-01-20
4. 查看筛选结果
5. 点击"清除筛选"
#### 预期结果
- ✅ 选择日期后,只显示该日期的记录
- ✅ 清除筛选后,显示所有记录
- ✅ 如果该日期没有记录,显示空状态
#### 测试点
- [ ] 日期选择器正常工作
- [ ] 筛选结果正确
- [ ] 清除筛选功能正常
- [ ] 空状态显示正确
---
### 场景4分页加载
#### 测试步骤
1. 进入打卡记录列表页面
2. 滚动到列表底部
3. 触发加载更多
4. 查看新加载的记录
#### 预期结果
- ✅ 滚动到底部时自动加载更多
- ✅ 显示"加载中..."提示
- ✅ 新记录追加到列表末尾
- ✅ 没有更多数据时显示"没有更多了"
#### 测试点
- [ ] 自动加载功能正常
- [ ] 加载提示显示正确
- [ ] 数据不重复
- [ ] 到达最后一页时停止加载
---
### 场景5照片查看功能
#### 测试步骤
1. 在订单详情或记录列表中
2. 点击签到照片
3. 查看大图
4. 点击签退照片
5. 查看大图
#### 预期结果
- ✅ 点击照片后全屏显示
- ✅ 可以缩放查看
- ✅ 可以关闭大图
- ✅ 照片清晰可见
#### 测试点
- [ ] 照片可以点击
- [ ] 大图显示正常
- [ ] 可以缩放
- [ ] 可以关闭
---
### 场景6空状态显示
#### 测试步骤
1. 使用没有订单的家长账号登录
2. 进入打卡记录列表页面
#### 预期结果
- ✅ 显示空状态图标 📋
- ✅ 显示提示文字"暂无服务记录"
- ✅ 统计数据显示为0
#### 测试点
- [ ] 空状态显示正确
- [ ] 提示文字清晰
- [ ] 统计数据为0
---
## 🔍 API测试
### 测试1获取用户打卡记录列表
**请求**:
```
GET /api/checkin/user/records?userId=1&page=1&size=10
```
**预期响应**:
```json
{
"code": 200,
"message": "success",
"data": {
"records": [
{
"id": 1,
"orderId": 123,
"userId": 1,
"teacherId": 10,
"checkType": "in",
"checkTime": "2026-01-26T09:00:00",
"address": "北京市朝阳区xxx",
"photoUrl": "https://xxx.jpg",
"latitude": 39.9,
"longitude": 116.4
}
],
"total": 50,
"page": 1,
"size": 10
}
}
```
**测试点**:
- [ ] 返回状态码200
- [ ] 数据结构正确
- [ ] 记录数量正确
- [ ] 分页参数正确
---
### 测试2获取打卡统计数据
**请求**:
```
GET /api/checkin/user/statistics?userId=1
```
**预期响应**:
```json
{
"code": 200,
"message": "success",
"data": {
"totalRecords": 50,
"thisMonth": 8,
"totalHours": 0
}
}
```
**测试点**:
- [ ] 返回状态码200
- [ ] 统计数据正确
- [ ] 总次数准确
- [ ] 本月次数准确
---
### 测试3日期筛选
**请求**:
```
GET /api/checkin/user/records?userId=1&page=1&size=10&date=2026-01-26
```
**预期响应**:
- 只返回2026-01-26的记录
**测试点**:
- [ ] 筛选结果正确
- [ ] 日期格式正确
- [ ] 没有其他日期的记录
---
## 🐛 异常测试
### 异常1用户未登录
- 访问打卡记录列表
- 预期:跳转到登录页面或首页
### 异常2网络错误
- 断开网络
- 访问打卡记录列表
- 预期:显示"加载失败"提示
### 异常3照片加载失败
- 照片URL无效
- 预期:显示默认占位图
### 异常4数据为空
- 用户没有任何打卡记录
- 预期:显示空状态
---
## ✅ 测试检查清单
### 功能测试
- [ ] 订单详情显示打卡记录
- [ ] 打卡记录列表显示
- [ ] 统计数据显示
- [ ] 日期筛选功能
- [ ] 分页加载功能
- [ ] 照片查看功能
- [ ] 跳转订单详情
- [ ] 空状态显示
### UI测试
- [ ] 页面布局正确
- [ ] 颜色搭配合理
- [ ] 字体大小适中
- [ ] 图标显示正确
- [ ] 照片显示清晰
- [ ] 响应式布局
### 性能测试
- [ ] 列表加载速度
- [ ] 照片加载速度
- [ ] 滚动流畅度
- [ ] 内存占用合理
### 兼容性测试
- [ ] iOS系统
- [ ] Android系统
- [ ] 微信小程序
- [ ] 不同屏幕尺寸
---
## 📝 测试记录
### 测试环境
- 测试时间____年__月__日
- 测试人员________
- 测试设备________
- 系统版本________
### 测试结果
| 测试项 | 结果 | 备注 |
|--------|------|------|
| 订单详情显示 | ☐ 通过 ☐ 失败 | |
| 记录列表显示 | ☐ 通过 ☐ 失败 | |
| 日期筛选 | ☐ 通过 ☐ 失败 | |
| 分页加载 | ☐ 通过 ☐ 失败 | |
| 照片查看 | ☐ 通过 ☐ 失败 | |
| API接口 | ☐ 通过 ☐ 失败 | |
### 发现的问题
1.
2.
3.
---
## 🚀 测试通过后
1. ✅ 标记所有测试项为通过
2. ✅ 记录测试结果
3. ✅ 提交测试报告
4. ✅ 通知开发团队
5. ✅ 准备上线部署
---
## 📞 问题反馈
如果测试中发现问题,请记录:
- 问题描述
- 复现步骤
- 预期结果
- 实际结果
- 截图或录屏
联系开发人员进行修复。