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

435 lines
8.4 KiB
Markdown
Raw Permalink 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-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