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

372 lines
7.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🧪 家长端打卡功能 - 测试指南
**测试日期**: 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. ✅ 准备上线部署
---
## 📞 问题反馈
如果测试中发现问题,请记录:
- 问题描述
- 复现步骤
- 预期结果
- 实际结果
- 截图或录屏
联系开发人员进行修复。