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

8.4 KiB
Raw Blame History

家长端成长记录功能测试指南

更新时间: 2026-01-23 12:16
状态: 代码已完成,数据库已修复,后端已编译,等待重启服务测试


最新进展

已完成

  • 后端接口开发完成
  • 前端页面开发完成
  • SQL字段名修复完成 (student_name, user_id)
  • 前端参数传递修复完成
  • Service层异常处理修复完成 (学生不存在返回空列表)
  • 数据库deleted字段修复完成 (已执行SQL)
  • 后端重新编译完成

⚠️ 待执行

  • ⚠️ 重启后端服务
  • ⚠️ 刷新小程序
  • ⚠️ 执行测试验证

📋 测试前准备

1. 确保数据库有测试数据

-- 检查成长记录数据
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. 确保后端服务运行

# 检查后端服务状态
curl http://localhost:8080/api/health

# 或访问
http://localhost:8080/swagger-ui.html

3. 确保前端已编译

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. 测试获取成长记录列表

# 使用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. 测试获取成长记录详情

# 使用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. 测试标记为已读

# 使用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