peixue-dev/peidu/docs/fixes/2026-01-23-家长端成长记录功能实现/🧪测试指南.md

435 lines
8.4 KiB
Markdown
Raw Permalink Normal View History

# 家长端成长记录功能测试指南
**更新时间**: 2026-01-23 12:16
**状态**: ✅ 代码已完成,数据库已修复,后端已编译,等待重启服务测试
---
## ⚡ 最新进展
### ✅ 已完成
- ✅ 后端接口开发完成
- ✅ 前端页面开发完成
- ✅ SQL字段名修复完成 (`student_name`, `user_id`)
- ✅ 前端参数传递修复完成
- ✅ Service层异常处理修复完成 (学生不存在返回空列表)
- ✅ 数据库deleted字段修复完成 (已执行SQL)
- ✅ 后端重新编译完成
### ⚠️ 待执行
- ⚠️ 重启后端服务
- ⚠️ 刷新小程序
- ⚠️ 执行测试验证
---
## 📋 测试前准备
### 1. 确保数据库有测试数据
```sql
-- 检查成长记录数据
SELECT
id,
student_id,
student_name,
teacher_id,
record_type,
record_date,
content,
images,
videos,
status
FROM growth_record
WHERE student_id = 1
ORDER BY record_date DESC
LIMIT 10;
```
### 2. 确保后端服务运行
```bash
# 检查后端服务状态
curl http://localhost:8080/api/health
# 或访问
http://localhost:8080/swagger-ui.html
```
### 3. 确保前端已编译
```bash
cd peidu/uniapp
npm run build:mp-weixin
```
## 🧪 测试用例
### 测试用例 1成长记录列表 - 全部记录
**测试步骤:**
1. 打开小程序
2. 进入家长端
3. 点击"成长记录"菜单
4. 默认显示"全部"标签
**预期结果:**
- ✅ 显示所有类型的成长记录(每日/周/月)
- ✅ 每条记录显示:日期、类型标识、学生姓名、陪伴员姓名
- ✅ 显示内容预览最多80字
- ✅ 显示照片预览最多3张
- ✅ 显示服务时长
**测试数据:**
```
studentId: 1
recordType: all
```
---
### 测试用例 2成长记录列表 - 每日反馈
**测试步骤:**
1. 在成长记录列表页面
2. 点击"每日反馈"标签
**预期结果:**
- ✅ 只显示每日反馈记录
- ✅ 类型标识显示蓝色"每日反馈"
- ✅ 记录按日期倒序排列
**测试数据:**
```
studentId: 1
recordType: daily
```
---
### 测试用例 3成长记录列表 - 周反馈
**测试步骤:**
1. 在成长记录列表页面
2. 点击"周反馈"标签
**预期结果:**
- ✅ 只显示周反馈记录
- ✅ 类型标识显示紫色"周反馈"
- ✅ 记录按日期倒序排列
**测试数据:**
```
studentId: 1
recordType: weekly
```
---
### 测试用例 4成长记录列表 - 月反馈
**测试步骤:**
1. 在成长记录列表页面
2. 点击"月反馈"标签
**预期结果:**
- ✅ 只显示月反馈记录
- ✅ 类型标识显示橙色"月反馈"
- ✅ 记录按日期倒序排列
**测试数据:**
```
studentId: 1
recordType: monthly
```
---
### 测试用例 5成长记录详情
**测试步骤:**
1. 在成长记录列表页面
2. 点击任意一条记录
**预期结果:**
- ✅ 跳转到详情页面
- ✅ 显示完整的反馈内容
- ✅ 显示所有照片(可点击预览)
- ✅ 显示所有视频(可播放)
- ✅ 显示陪伴员信息
- ✅ 自动标记为已读
**测试数据:**
```
recordId: 从列表中选择
```
---
### 测试用例 6照片预览
**测试步骤:**
1. 在成长记录详情页面
2. 点击任意照片
**预期结果:**
- ✅ 打开照片预览
- ✅ 可以左右滑动查看所有照片
- ✅ 可以缩放照片
- ✅ 可以保存照片
---
### 测试用例 7视频播放
**测试步骤:**
1. 在成长记录详情页面
2. 点击视频播放按钮
**预期结果:**
- ✅ 视频开始播放
- ✅ 可以暂停/继续
- ✅ 可以调整进度
- ✅ 可以全屏播放
---
### 测试用例 8下拉刷新
**测试步骤:**
1. 在成长记录列表页面
2. 下拉页面
**预期结果:**
- ✅ 显示刷新动画
- ✅ 重新加载第一页数据
- ✅ 刷新完成后隐藏动画
---
### 测试用例 9上拉加载更多
**测试步骤:**
1. 在成长记录列表页面
2. 滚动到底部
**预期结果:**
- ✅ 显示"加载中..."提示
- ✅ 加载下一页数据
- ✅ 新数据追加到列表末尾
- ✅ 如果没有更多数据,不再触发加载
---
### 测试用例 10空状态
**测试步骤:**
1. 使用没有成长记录的学生ID
2. 打开成长记录列表
**预期结果:**
- ✅ 显示空状态图标 📚
- ✅ 显示"暂无成长记录"文字
- ✅ 显示"陪伴员服务后会提交成长记录"提示
---
### 测试用例 11服务反馈列表已更新
**测试步骤:**
1. 打开小程序
2. 进入家长端
3. 点击"服务反馈"菜单
**预期结果:**
- ✅ 显示每日反馈列表
- ✅ 数据来自成长记录接口
- ✅ 显示学生姓名、陪伴员姓名
- ✅ 显示反馈内容预览
- ✅ 显示照片预览
- ✅ 点击查看详情正常跳转
---
## 🔍 接口测试
### 1. 测试获取成长记录列表
```bash
# 使用curl测试
curl -X GET "http://localhost:8080/api/growth-record/parent/list?studentId=1&recordType=daily&page=1&size=10" \
-H "Authorization: Bearer YOUR_TOKEN"
# 预期返回
{
"code": 200,
"message": "success",
"data": {
"records": [
{
"id": 1,
"studentId": 1,
"studentName": "小明",
"teacherId": 1,
"teacherName": "张老师",
"recordDate": "2026-01-23",
"recordType": "daily",
"recordTypeName": "每日反馈",
"content": "今天学习状态很好...",
"imageList": ["url1", "url2"],
"videoList": ["url1"],
"durationText": "120分钟"
}
],
"total": 10,
"size": 10,
"current": 1,
"pages": 1
}
}
```
### 2. 测试获取成长记录详情
```bash
# 使用curl测试
curl -X GET "http://localhost:8080/api/growth-record/parent/1" \
-H "Authorization: Bearer YOUR_TOKEN"
# 预期返回
{
"code": 200,
"message": "success",
"data": {
"id": 1,
"studentId": 1,
"studentName": "小明",
"teacherId": 1,
"teacherName": "张老师",
"recordDate": "2026-01-23",
"recordType": "daily",
"recordTypeName": "每日反馈",
"content": "今天学习状态很好,完成了所有作业...",
"imageList": ["url1", "url2", "url3"],
"videoList": ["url1"],
"durationText": "120分钟"
}
}
```
### 3. 测试标记为已读
```bash
# 使用curl测试
curl -X POST "http://localhost:8080/api/growth-record/parent/1/read" \
-H "Authorization: Bearer YOUR_TOKEN"
# 预期返回
{
"code": 200,
"message": "标记成功",
"data": true
}
```
## 📊 性能测试
### 1. 列表加载性能
**测试指标:**
- 首次加载时间 < 2秒
- 翻页加载时间 < 1秒
- 下拉刷新时间 < 1.5秒
### 2. 详情加载性能
**测试指标:**
- 详情页加载时间 < 1.5秒
- 照片加载时间 < 1秒/
- 视频加载时间 < 3秒
### 3. 照片预览性能
**测试指标:**
- 预览打开时间 < 0.5秒
- 切换照片时间 < 0.3秒
## 🐛 常见问题排查
### 问题 1列表显示为空
**排查步骤:**
1. 检查数据库是否有数据
2. 检查studentId是否正确
3. 检查后端日志是否有错误
4. 检查前端控制台是否有错误
### 问题 2照片无法显示
**排查步骤:**
1. 检查图片URL是否正确
2. 检查图片服务器是否可访问
3. 检查小程序域名白名单配置
### 问题 3视频无法播放
**排查步骤:**
1. 检查视频URL是否正确
2. 检查视频格式是否支持
3. 检查小程序域名白名单配置
### 问题 4接口返回401
**排查步骤:**
1. 检查token是否过期
2. 检查用户是否已登录
3. 重新登录获取新token
## ✅ 测试检查清单
- [ ] 成长记录列表 - 全部记录
- [ ] 成长记录列表 - 每日反馈
- [ ] 成长记录列表 - 周反馈
- [ ] 成长记录列表 - 月反馈
- [ ] 成长记录详情
- [ ] 照片预览
- [ ] 视频播放
- [ ] 下拉刷新
- [ ] 上拉加载更多
- [ ] 空状态显示
- [ ] 服务反馈列表
- [ ] 接口测试 - 列表
- [ ] 接口测试 - 详情
- [ ] 接口测试 - 标记已读
- [ ] 性能测试
- [ ] 常见问题排查
## 📝 测试报告模板
```
测试日期2026-01-23
测试人员:[姓名]
测试环境:[开发/测试/生产]
测试结果:
✅ 通过:[数量]
❌ 失败:[数量]
⚠️ 警告:[数量]
详细说明:
1. [测试用例名称] - [通过/失败] - [备注]
2. ...
问题列表:
1. [问题描述] - [严重程度] - [解决方案]
2. ...
总结:
[测试总结]
```
---
**编写日期:** 2026-01-23
**编写人员:** Kiro AI Assistant