# 阅读任务模块 - 完整测试计划

> 版本: v1.0
> 创建日期: 2026-03-20
> 测试范围: 阅读任务模块三端功能测试（教师端/家长端/学校端）

---

## 一、测试概述

### 1.1 模块背景

阅读任务模块是连接教师、家长、学校三端的核心功能，实现了从任务发布到学生完成的完整闭环：

```
教师创建任务 → 家长提交完成 → 教师评价反馈 → 学校监督查看
```

### 1.2 核心设计原则（必须验证）

| 原则 | 说明 | 验证方法 |
|------|------|---------|
| **学校端只读** | 学校端不能创建/编辑/删除任务 | 确认无相关按钮和API调用 |
| **教师端闭环** | 创建 → 查看 → 评价 → 推送反馈 | 验证完整流程 |
| **家长端简洁** | 查看 → 提交 → 接收反馈 | 验证操作简洁性 |

### 1.3 状态流转验证

**完成记录状态**:
```
PENDING（待提交）→ SUBMITTED（已提交）→ REVIEWED（已评价）
```

**评价结果枚举**:
```
EXCELLENT（优秀）/ PASSED（通过）/ NEEDS_WORK（需改进）
```

### 1.4 测试账号

| 角色 | 账号 | 密码 | 说明 |
|------|------|------|------|
| 教师 | teacher1 | 123456 | 测试教师 |
| 家长 | parent1 | 123456 | 测试家长1 |
| 家长 | parent2 | 123456 | 测试家长2 |
| 学校 | school1 | 123456 | 测试学校 |

### 1.5 测试环境

- **前端**: http://localhost:5173
- **后端**: http://localhost:8480 (Spring Boot)
- **数据库**: MySQL 8.0
- **浏览器**: Chrome（推荐）

---

## 二、测试执行策略

### 2.1 测试顺序

由于三端之间存在数据依赖关系，必须按以下顺序执行测试：

```
┌─────────────────────────────────────────────────────────────┐
│                    阅读任务测试流程                          │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  ┌──────────────────┐                                       │
│  │ 1. 教师端测试     │  ← 创建任务、查看完成、评价反馈        │
│  └────────┬─────────┘                                       │
│           │                                                 │
│           ▼                                                 │
│  ┌──────────────────┐                                       │
│  │ 2. 家长端测试     │  ← 查看任务、提交完成、查看评价        │
│  └────────┬─────────┘                                       │
│           │                                                 │
│           ▼                                                 │
│  ┌──────────────────┐                                       │
│  │ 3. 学校端测试     │  ← 只读查看、多维度筛选、统计          │
│  └────────┬─────────┘                                       │
│           │                                                 │
│           ▼                                                 │
│  ┌──────────────────┐                                       │
│  │ 4. 跨端流程测试   │  ← 完整业务闭环验证                    │
│  └──────────────────┘                                       │
│                                                             │
└─────────────────────────────────────────────────────────────┘
```

### 2.2 测试阶段划分

| 阶段 | 内容 | 预计时间 | 优先级 |
|-----|------|---------|-------|
| 第一阶段 | 教师端功能测试 | 45分钟 | P0 |
| 第二阶段 | 家长端功能测试 | 30分钟 | P0 |
| 第三阶段 | 学校端功能测试 | 30分钟 | P0 |
| 第四阶段 | 跨端业务流程测试 | 30分钟 | P0 |
| 第五阶段 | 回归测试 | 20分钟 | P1 |

---

## 三、教师端测试方案

### 3.1 测试范围

| 功能模块 | 测试点 | 优先级 |
|---------|--------|-------|
| 任务列表 | 列表展示、状态筛选、类型筛选、搜索 | P0 |
| 创建任务 | 基础信息、关联绘本、目标选择 | P0 |
| 编辑任务 | 修改任务内容 | P0 |
| 删除任务 | 确认删除 | P0 |
| 完成情况 | 列表展示、状态筛选、统计 | P0 |
| **评价功能** | **查看提交、评价弹窗、评语评分** | **P0** |

### 3.2 详细测试用例

#### 3.2.1 任务列表 (T-LIST)

| ID | 测试项 | 前置条件 | 测试步骤 | 预期结果 |
|----|--------|---------|---------|---------|
| T-LIST-01 | 列表加载 | 教师登录 | 进入阅读任务页面 | 显示任务卡片列表，每个卡片显示标题、类型、状态、时间、完成率 |
| T-LIST-02 | 状态筛选 | 有多个任务 | 选择"进行中"状态 | 只显示状态为PUBLISHED的任务 |
| T-LIST-03 | 类型筛选 | 有不同类型任务 | 选择"阅读"类型 | 只显示taskType为READING的任务 |
| T-LIST-04 | 关键字搜索 | 有测试任务 | 输入任务标题关键字 | 搜索结果包含关键字的任务 |
| T-LIST-05 | 统计标签 | 有任务数据 | 查看列表顶部统计 | 显示待提交/已提交/已评价数量 |
| T-LIST-06 | 完成率显示 | 有已分配任务 | 查看任务卡片 | 显示完成率进度条和百分比 |

#### 3.2.2 创建任务 (T-CREATE)

| ID | 测试项 | 前置条件 | 测试步骤 | 预期结果 |
|----|--------|---------|---------|---------|
| T-CREATE-01 | 打开创建弹窗 | 在任务列表页 | 点击"新建任务"按钮 | 弹出创建任务表单 |
| T-CREATE-02 | 必填校验 | 打开创建弹窗 | 不填必填项，点击保存 | 显示"请填写xxx"错误提示 |
| T-CREATE-03 | 填写基础信息 | 打开创建弹窗 | 填写标题、描述、类型 | 输入正常 |
| T-CREATE-04 | **关联绘本名称** | 打开创建弹窗 | 在"关联绘本名称"输入框填写"好饿的毛毛虫" | 输入正常，字段保存到relatedBookName |
| T-CREATE-05 | 选择目标类型 | 打开创建弹窗 | 选择"班级"类型 | 显示班级选择列表 |
| T-CREATE-06 | 选择目标-班级 | 目标类型选班级 | 勾选一个或多个班级 | 显示已选班级名称 |
| T-CREATE-07 | 选择目标-学生 | 目标类型选学生 | 勾选一个或多个学生 | 显示已选学生名称 |
| T-CREATE-08 | 设置时间 | 打开创建弹窗 | 选择开始日期和截止日期 | 日期选择正常 |
| T-CREATE-09 | 关联课程（可选） | 打开创建弹窗 | 选择关联课程包 | 可选择已授权课程 |
| T-CREATE-10 | 保存任务 | 填写完整信息 | 点击"保存"按钮 | 保存成功，列表刷新显示新任务 |
| T-CREATE-11 | 从模板创建 | 有任务模板 | 点击"从模板创建" | 加载模板内容到表单 |

#### 3.2.3 编辑任务 (T-EDIT)

| ID | 测试项 | 前置条件 | 测试步骤 | 预期结果 |
|----|--------|---------|---------|---------|
| T-EDIT-01 | 打开编辑弹窗 | 有测试任务 | 点击任务卡片"编辑"按钮 | 弹出编辑表单，加载已有数据 |
| T-EDIT-02 | **加载关联绘本** | 任务有relatedBookName | 查看编辑表单 | 显示已有的关联绘本名称 |
| T-EDIT-03 | 修改任务内容 | 打开编辑弹窗 | 修改标题、描述等 | 修改正常 |
| T-EDIT-04 | 保存修改 | 修改完成 | 点击"保存"按钮 | 保存成功，列表更新 |
| T-EDIT-05 | 编辑已截止任务 | 任务已过截止日期 | 尝试编辑 | 不允许编辑或提示"任务已截止" |

#### 3.2.4 删除任务 (T-DELETE)

| ID | 测试项 | 前置条件 | 测试步骤 | 预期结果 |
|----|--------|---------|---------|---------|
| T-DELETE-01 | 删除确认 | 有测试任务 | 点击"删除"按钮 | 弹出确认对话框 |
| T-DELETE-02 | 确认删除 | 确认对话框 | 点击"确定" | 删除成功，列表移除该任务 |
| T-DELETE-03 | 取消删除 | 确认对话框 | 点击"取消" | 不删除，对话框关闭 |

#### 3.2.5 完成情况列表 (T-COMPLETION)

| ID | 测试项 | 前置条件 | 测试步骤 | 预期结果 |
|----|--------|---------|---------|---------|
| T-COMP-01 | 打开完成情况 | 有已分配任务 | 点击"查看完成情况"按钮 | 弹出完成情况列表 |
| T-COMP-02 | 状态统计 | 打开完成情况 | 查看顶部统计 | 显示待提交/已提交/已评价数量标签 |
| T-COMP-03 | 状态筛选 | 有多个学生 | 选择"已提交"状态 | 只显示状态为SUBMITTED的学生 |
| T-COMP-04 | 学生列表显示 | 打开完成情况 | 查看学生列表 | 显示学生姓名、班级、头像、状态标签 |
| T-COMP-05 | **提交内容预览** | 学生已提交 | 查看已提交学生行 | 显示照片数量、视频/音频图标、内容预览 |
| T-COMP-06 | **评价状态显示** | 有已评价学生 | 查看已评价学生 | 显示评价结果标签（优秀/通过/需改进） |

#### 3.2.6 提交详情与评价 (T-FEEDBACK) - **核心功能**

| ID | 测试项 | 前置条件 | 测试步骤 | 预期结果 |
|----|--------|---------|---------|---------|
| T-FB-01 | 查看提交详情 | 学生已提交 | 点击"查看详情"按钮 | 打开提交详情弹窗 |
| T-FB-02 | **照片展示** | 有提交照片 | 查看详情弹窗照片区域 | 显示照片网格，点击可放大预览 |
| T-FB-03 | **视频播放** | 有提交视频 | 查看详情弹窗视频区域 | 显示视频播放器，可播放视频 |
| T-FB-04 | **音频播放** | 有提交音频 | 查看详情弹窗音频区域 | 显示音频播放器，可播放音频 |
| T-FB-05 | **文字心得展示** | 有提交内容 | 查看详情弹窗文字区域 | 显示家长提交的文字心得 |
| T-FB-06 | 打开评价弹窗 | 查看提交详情 | 点击"评价"按钮 | 打开评价表单弹窗 |
| T-FB-07 | **评价结果选择** | 打开评价弹窗 | 选择"优秀"/"通过"/"需改进" | 选中状态高亮显示 |
| T-FB-08 | **评分组件** | 打开评价弹窗 | 点击星星选择1-5星 | 星星选中状态正确 |
| T-FB-09 | **评语输入** | 打开评价弹窗 | 输入评语文字 | 输入正常，最多500字 |
| T-FB-10 | 提交评价 | 填写评价内容 | 点击"提交"按钮 | 提交成功，学生状态变为"已评价" |
| T-FB-11 | 评价结果回显 | 已评价学生 | 再次查看详情 | 显示已保存的评价结果、评分、评语 |
| T-FB-12 | 修改评价 | 已评价学生 | 点击"修改评价" | 可修改评价内容并保存 |
| T-FB-13 | 评价后状态更新 | 完成评价 | 关闭详情弹窗 | 完成情况列表中该学生状态变为"已评价" |

---

## 四、家长端测试方案

### 4.1 测试范围

| 功能模块 | 测试点 | 优先级 |
|---------|--------|-------|
| 任务列表 | 列表展示、状态显示、截止倒计时 | P0 |
| **提交功能** | **照片上传、视频链接、音频链接、文字心得** | **P0** |
| **查看评价** | **评价详情弹窗、评价结果、评分评语** | **P0** |

### 4.2 详细测试用例

#### 4.2.1 任务列表 (P-LIST)

| ID | 测试项 | 前置条件 | 测试步骤 | 预期结果 |
|----|--------|---------|---------|---------|
| P-LIST-01 | 列表加载 | 家长登录，有孩子关联 | 进入任务中心 | 显示孩子的任务列表 |
| P-LIST-02 | **状态标签显示** | 有不同状态任务 | 查看任务卡片 | 显示正确的状态：待提交/已提交/已评价 |
| P-LIST-03 | **关联绘本显示** | 任务有关联绘本 | 查看任务卡片 | 显示"绘本：《xxx》"信息 |
| P-LIST-04 | **已提交内容预览** | 已提交任务 | 查看已提交任务卡片 | 显示照片数量、视频/音频图标 |
| P-LIST-05 | **教师评价显示** | 已评价任务 | 查看已评价任务卡片 | 显示评价结果标签和评分星星 |
| P-LIST-06 | **状态驱动按钮** | 有不同状态任务 | 查看任务操作按钮 | 待提交→显示"提交完成"，已提交→显示"修改提交"，已评价→显示"查看评价详情" |
| P-LIST-07 | 截止时间显示 | 有即将截止任务 | 查看任务卡片 | 显示"X天后截止"或"即将截止" |
| P-LIST-08 | 多孩子切换 | 家长关联多个孩子 | 切换孩子选择器 | 显示对应孩子的任务列表 |

#### 4.2.2 任务提交 (P-SUBMIT) - **核心功能**

| ID | 测试项 | 前置条件 | 测试步骤 | 预期结果 |
|----|--------|---------|---------|---------|
| P-SUB-01 | 打开提交弹窗 | 待提交任务 | 点击"提交完成"按钮 | 打开提交表单弹窗 |
| P-SUB-02 | **照片上传** | 打开提交弹窗 | 点击上传照片按钮，选择照片 | 照片上传成功，显示缩略图 |
| P-SUB-03 | **照片数量限制** | 已上传9张 | 尝试上传第10张 | 提示"最多上传9张照片" |
| P-SUB-04 | **照片预览** | 已上传照片 | 点击照片缩略图 | 放大预览照片 |
| P-SUB-05 | **照片删除** | 已上传照片 | 点击照片删除按钮 | 照片从列表移除 |
| P-SUB-06 | **视频链接输入** | 打开提交弹窗 | 在视频链接输入框粘贴URL | 输入正常 |
| P-SUB-07 | **音频链接输入** | 打开提交弹窗 | 在音频链接输入框粘贴URL | 输入正常 |
| P-SUB-08 | **文字心得输入** | 打开提交弹窗 | 在阅读心得输入框输入文字 | 输入正常，最多500字 |
| P-SUB-09 | 提交校验-无内容 | 打开提交弹窗 | 不填任何内容，点击提交 | 提示"请至少上传照片或填写心得" |
| P-SUB-10 | 提交成功 | 填写内容 | 点击"提交"按钮 | 提交成功，任务状态变为"已提交" |
| P-SUB-11 | **修改提交** | 已提交任务 | 点击"修改提交"按钮 | 打开提交表单，加载已有内容 |
| P-SUB-12 | 修改后保存 | 修改提交内容 | 点击"保存"按钮 | 修改成功，内容更新 |
| P-SUB-13 | 截止后提交 | 任务已过截止日期 | 尝试提交 | 不允许提交，提示"任务已截止" |

#### 4.2.3 查看评价 (P-FEEDBACK) - **新功能**

| ID | 测试项 | 前置条件 | 测试步骤 | 预期结果 |
|----|--------|---------|---------|---------|
| P-FB-01 | 打开评价详情 | 已评价任务 | 点击"查看评价详情"按钮 | 打开评价详情弹窗 |
| P-FB-02 | **评价结果显示** | 打开评价详情 | 查看评价结果区域 | 显示"优秀/通过/需改进"标签，颜色正确 |
| P-FB-03 | **评分显示** | 教师有评分 | 查看评分区域 | 显示1-5星评分，金色星星 |
| P-FB-04 | **评语显示** | 教师有评语 | 查看评语区域 | 显示教师评语全文 |
| P-FB-05 | 教师信息 | 打开评价详情 | 查看教师信息 | 显示评价教师姓名 |
| P-FB-06 | 评价时间 | 打开评价详情 | 查看评价时间 | 显示评价日期时间 |
| P-FB-07 | **提交内容回顾** | 打开评价详情 | 查看提交内容区域 | 显示已提交的照片网格、链接、文字 |
| P-FB-08 | **图片预览** | 有提交照片 | 点击照片 | 放大预览照片 |
| P-FB-09 | 未评价提示 | 已提交未评价 | 查看任务状态 | 显示"等待教师评价"提示 |

---

## 五、学校端测试方案

### 5.1 测试范围

| 功能模块 | 测试点 | 优先级 |
|---------|--------|-------|
| 统计卡片 | 全部任务、进行中、已提交、已评价统计 | P0 |
| **多维度筛选** | **关键字、类型、状态、日期范围、排序** | **P0** |
| 任务列表 | 卡片展示、完成率、创建人 | P0 |
| **任务详情** | **基本信息、关联绘本、完成统计** | **P0** |
| **完成情况列表** | **学生信息、提交状态、筛选分页** | **P0** |
| **提交详情** | **照片、视频、音频、文字、教师评价** | **P0** |

### 5.2 只读模式验证（关键）

> **重要**：学校端必须验证不能进行任何写操作

| ID | 测试项 | 测试步骤 | 预期结果 |
|----|--------|---------|---------|
| S-READONLY-01 | 无创建按钮 | 查看任务列表页面 | **不显示**"新建任务"按钮 |
| S-READONLY-02 | 无编辑按钮 | 查看任务卡片 | **不显示**"编辑"按钮 |
| S-READONLY-03 | 无删除按钮 | 查看任务卡片 | **不显示**"删除"按钮 |
| S-READONLY-04 | 无发布按钮 | 查看任务列表 | **不显示**"发布"按钮 |
| S-READONLY-05 | 完成情况无评价按钮 | 查看完成情况列表 | **不显示**"评价"按钮，只有"查看详情" |

### 5.3 详细测试用例

#### 5.3.1 统计卡片 (S-STATS)

| ID | 测试项 | 前置条件 | 测试步骤 | 预期结果 |
|----|--------|---------|---------|---------|
| S-STAT-01 | 统计数据加载 | 学校登录 | 进入阅读任务页面 | 显示统计卡片 |
| S-STAT-02 | 全部任务数 | 有任务数据 | 查看"全部任务"卡片 | 显示正确的任务总数 |
| S-STAT-03 | 进行中任务数 | 有进行中任务 | 查看"进行中"卡片 | 显示状态为PUBLISHED的任务数 |
| S-STAT-04 | 已提交数量 | 有学生提交 | 查看"已提交"卡片 | 显示状态为SUBMITTED的完成记录数 |
| S-STAT-05 | 已评价数量 | 有教师评价 | 查看"已评价"卡片 | 显示状态为REVIEWED的完成记录数 |

#### 5.3.2 多维度筛选 (S-FILTER) - **核心功能**

| ID | 测试项 | 前置条件 | 测试步骤 | 预期结果 |
|----|--------|---------|---------|---------|
| S-FLT-01 | 关键字搜索 | 有任务数据 | 输入任务标题关键字 | 搜索结果包含关键字的任务 |
| S-FLT-02 | 任务类型筛选 | 有不同类型任务 | 选择"阅读"类型 | 只显示READING类型任务 |
| S-FLT-03 | 任务类型-活动 | 有活动任务 | 选择"活动"类型 | 只显示ACTIVITY类型任务 |
| S-FLT-04 | 任务类型-作业 | 有作业任务 | 选择"作业"类型 | 只显示HOMEWORK类型任务 |
| S-FLT-05 | 任务状态-进行中 | 有不同状态任务 | 选择"进行中"状态 | 只显示PUBLISHED状态任务 |
| S-FLT-06 | 任务状态-已归档 | 有归档任务 | 选择"已归档"状态 | 只显示ARCHIVED状态任务 |
| S-FLT-07 | **日期范围筛选** | 有任务数据 | 选择日期范围 | 只显示创建时间在范围内的任务 |
| S-FLT-08 | **排序方式** | 有多个任务 | 选择"按完成率排序" | 按完成率升序或降序排列 |
| S-FLT-09 | 排序-创建时间 | 有多个任务 | 选择"按创建时间排序" | 按创建时间排列 |
| S-FLT-10 | 组合筛选 | 有任务数据 | 同时选择类型+状态+日期 | 结果同时满足所有条件 |
| S-FLT-11 | 清空筛选 | 有筛选条件 | 点击"重置"按钮 | 所有筛选条件清空，显示全部 |

#### 5.3.3 任务列表 (S-LIST)

| ID | 测试项 | 前置条件 | 测试步骤 | 预期结果 |
|----|--------|---------|---------|---------|
| S-LIST-01 | 列表加载 | 学校登录 | 进入阅读任务页面 | 显示任务卡片列表 |
| S-LIST-02 | **关联绘本显示** | 任务有关联绘本 | 查看任务卡片 | 显示"关联绘本：《xxx》" |
| S-LIST-03 | **创建人显示** | 有任务数据 | 查看任务卡片 | 显示"创建人：XXX老师" |
| S-LIST-04 | **完成情况统计** | 有学生分配 | 查看任务卡片 | 显示待提交/已提交/已评价数量 |
| S-LIST-05 | 完成率进度条 | 有已分配任务 | 查看任务卡片 | 显示完成率进度条和百分比 |
| S-LIST-06 | 分页 | 任务数超过每页数量 | 查看分页器 | 分页正常，可切换页码 |

#### 5.3.4 任务详情 (S-DETAIL)

| ID | 测试项 | 前置条件 | 测试步骤 | 预期结果 |
|----|--------|---------|---------|---------|
| S-DET-01 | 打开任务详情 | 有任务数据 | 点击任务卡片 | 打开任务详情弹窗 |
| S-DET-02 | 基本信息显示 | 打开详情 | 查看基本信息区域 | 显示标题、描述、类型、时间等 |
| S-DET-03 | **关联绘本显示** | 任务有关联绘本 | 查看详情 | 显示"关联绘本：《xxx》" |
| S-DET-04 | 完成统计显示 | 打开详情 | 查看统计区域 | 显示目标人数、提交人数、完成率 |
| S-DET-05 | 状态统计 | 打开详情 | 查看状态分布 | 显示待提交/已提交/已评价数量 |
| S-DET-06 | 查看完成列表入口 | 打开详情 | 点击"查看完成列表" | 打开完成情况列表弹窗 |

#### 5.3.5 完成情况列表 (S-COMPLETION)

| ID | 测试项 | 前置条件 | 测试步骤 | 预期结果 |
|----|--------|---------|---------|---------|
| S-COMP-01 | 打开完成情况 | 有已分配任务 | 从任务详情点击"查看完成列表" | 打开完成情况列表弹窗 |
| S-COMP-02 | 学生信息显示 | 打开完成情况 | 查看学生列表 | 显示学生姓名、班级、头像 |
| S-COMP-03 | 状态标签显示 | 有不同状态学生 | 查看状态列 | 显示正确的状态标签和颜色 |
| S-COMP-04 | **提交内容预览** | 学生已提交 | 查看已提交学生行 | 显示照片数量、视频/音频图标 |
| S-COMP-05 | **教师评价显示** | 学生已评价 | 查看已评价学生行 | 显示评价结果标签 |
| S-COMP-06 | 状态筛选 | 有多个学生 | 选择"已提交"状态 | 只显示SUBMITTED状态学生 |
| S-COMP-07 | 分页 | 学生数超过每页数量 | 查看分页器 | 分页正常 |
| S-COMP-08 | **查看详情按钮** | 有学生数据 | 查看操作列 | 显示"查看详情"按钮（**不是评价按钮**） |

#### 5.3.6 学生提交详情 (S-SUBMISSION)

| ID | 测试项 | 前置条件 | 测试步骤 | 预期结果 |
|----|--------|---------|---------|---------|
| S-SUB-01 | 打开提交详情 | 有已提交学生 | 点击"查看详情" | 打开提交详情弹窗 |
| S-SUB-02 | 学生信息卡片 | 打开详情 | 查看学生信息 | 显示学生姓名、班级、头像 |
| S-SUB-03 | 提交状态显示 | 打开详情 | 查看状态 | 显示提交状态和提交时间 |
| S-SUB-04 | **照片网格展示** | 有提交照片 | 查看照片区域 | 显示照片网格，可点击预览 |
| S-SUB-05 | **图片预览** | 有提交照片 | 点击照片 | 放大预览照片 |
| S-SUB-06 | **视频链接** | 有提交视频 | 查看视频区域 | 显示视频链接，可点击播放 |
| S-SUB-07 | **音频链接** | 有提交音频 | 查看音频区域 | 显示音频链接，可点击播放 |
| S-SUB-08 | **阅读心得展示** | 有提交文字 | 查看心得区域 | 显示完整的文字心得 |
| S-SUB-09 | 提交时间 | 打开详情 | 查看提交时间 | 显示具体提交日期时间 |
| S-SUB-10 | **教师评价详情** | 学生已评价 | 查看评价区域 | 显示评价结果、评分、评语 |
| S-SUB-11 | 评价时间 | 有教师评价 | 查看评价区域 | 显示评价日期时间 |
| S-SUB-12 | **无编辑功能** | 查看详情弹窗 | 查看操作按钮 | **不显示**任何编辑/评价按钮 |

---

## 六、跨端业务流程测试

### 6.1 完整业务闭环测试

> 验证从教师创建任务到家长查看评价的完整流程

| 步骤 | 端 | 操作 | 验证点 |
|-----|-----|------|--------|
| 1 | 教师端 | 创建新任务，填写关联绘本"测试绘本A" | 任务创建成功，状态为PUBLISHED |
| 2 | 家长端 | 查看任务列表 | 显示新任务，显示"测试绘本A"，状态为"待提交" |
| 3 | 学校端 | 查看任务列表 | 显示新任务，显示关联绘本，显示创建人 |
| 4 | 家长端 | 提交完成：上传2张照片，填写心得 | 提交成功，状态变为"已提交" |
| 5 | 教师端 | 查看完成情况 | 显示学生状态为"已提交"，显示照片数量 |
| 6 | 学校端 | 查看完成情况 | 显示学生状态为"已提交" |
| 7 | 教师端 | 查看提交详情，评价"优秀"，5星，评语"很棒" | 评价成功，状态变为"已评价" |
| 8 | 家长端 | 查看任务 | 状态变为"已评价"，显示"优秀 ⭐⭐⭐⭐⭐" |
| 9 | 家长端 | 查看评价详情 | 显示评价结果"优秀"、5星、评语"很棒" |
| 10 | 学校端 | 查看完成情况 | 显示学生状态为"已评价"，显示"优秀" |
| 11 | 学校端 | 查看学生提交详情 | 显示照片、心得、评价内容完整 |

### 6.2 多学生场景测试

| 步骤 | 端 | 操作 | 验证点 |
|-----|-----|------|--------|
| 1 | 教师端 | 创建任务，选择整个班级（多个学生） | 任务创建成功，目标人数正确 |
| 2 | 家长1端 | 提交完成 | 提交成功 |
| 3 | 家长2端 | 不提交 | 保持待提交状态 |
| 4 | 教师端 | 查看完成情况 | 显示1个已提交，1个待提交 |
| 5 | 教师端 | 对已提交学生评价 | 评价成功 |
| 6 | 教师端 | 查看统计 | 待提交1、已提交0、已评价1 |
| 7 | 学校端 | 查看完成情况 | 统计与教师端一致 |

### 6.3 修改提交场景测试

| 步骤 | 端 | 操作 | 验证点 |
|-----|-----|------|--------|
| 1 | 教师端 | 创建任务 | 任务创建成功 |
| 2 | 家长端 | 提交：1张照片，无心得 | 提交成功 |
| 3 | 教师端 | 查看提交详情 | 显示1张照片，无文字 |
| 4 | 家长端 | 修改提交：再上传1张照片，添加心得 | 修改成功 |
| 5 | 教师端 | 查看提交详情 | 显示2张照片，有文字心得 |

### 6.4 学校端只读验证测试

| 步骤 | 端 | 操作 | 预期结果 |
|-----|-----|------|---------|
| 1 | 学校端 | 尝试创建任务 | 无创建入口 |
| 2 | 学校端 | 尝试编辑任务 | 无编辑按钮 |
| 3 | 学校端 | 尝试删除任务 | 无删除按钮 |
| 4 | 学校端 | 尝试评价学生 | 无评价按钮，只有查看详情 |
| 5 | 学校端 | 查看API调用 | 只有GET请求，无POST/PUT/DELETE |

---

## 七、测试数据准备

### 7.1 前置数据要求

| 数据类型 | 要求 | 用途 |
|---------|------|------|
| 教师账号 | 至少1个教师，关联班级 | 创建任务、评价 |
| 学生数据 | 至少2个学生，分配到班级 | 任务分配对象 |
| 家长账号 | 至少2个家长，分别关联学生 | 提交任务 |
| 班级数据 | 至少1个班级 | 任务目标选择 |
| 课程数据 | 可选，用于关联课程 | 任务关联课程 |

### 7.2 测试任务模板

```json
{
  "title": "【测试】亲子阅读任务",
  "description": "请家长陪伴孩子阅读绘本，并提交阅读照片和心得",
  "taskType": "READING",
  "relatedBookName": "好饿的毛毛虫",
  "targetType": "CLASS",
  "targetIds": [1],
  "startDate": "2026-03-20",
  "endDate": "2026-03-27"
}
```

### 7.3 测试提交数据

```json
{
  "photos": [
    "https://example.com/photo1.jpg",
    "https://example.com/photo2.jpg"
  ],
  "videoUrl": "https://example.com/video.mp4",
  "audioUrl": "https://example.com/audio.mp3",
  "content": "孩子很喜欢这本书，读了好几遍，能够复述故事内容。"
}
```

### 7.4 测试评价数据

```json
{
  "result": "EXCELLENT",
  "rating": 5,
  "comment": "阅读很认真，能够完整复述故事内容，继续保持！"
}
```

---

## 八、Bug 优先级定义

| 优先级 | 定义 | 示例 | 处理时限 |
|--------|------|------|---------|
| P0-紧急 | 阻塞核心流程，无法完成主要功能 | 无法创建任务、无法提交、无法评价 | 立即修复 |
| P1-高 | 影响重要功能，有临时解决方案 | 筛选不工作、统计错误、状态显示错误 | 24小时内 |
| P2-中 | 功能可用但有明显缺陷 | UI显示异常、提示信息不准确 | 3天内 |
| P3-低 | 细节问题，不影响使用 | 样式微调、文案优化 | 有时间再修复 |

---

## 九、测试执行检查清单

### 9.1 测试前准备

- [ ] 启动前后端服务（`./start-all.sh`）
- [ ] 确认后端服务在 8480 端口运行
- [ ] 确认前端服务在 5173 端口运行
- [ ] 确认数据库连接正常
- [ ] 确认测试账号可正常登录
- [ ] 确认有测试所需的基础数据（班级、学生、教师）

### 9.2 教师端测试检查

- [ ] T-LIST-01 ~ T-LIST-06 任务列表功能
- [ ] T-CREATE-01 ~ T-CREATE-11 创建任务功能（含关联绘本）
- [ ] T-EDIT-01 ~ T-EDIT-05 编辑任务功能
- [ ] T-DELETE-01 ~ T-DELETE-03 删除任务功能
- [ ] T-COMP-01 ~ T-COMP-06 完成情况列表
- [ ] T-FB-01 ~ T-FB-13 提交详情与评价功能

### 9.3 家长端测试检查

- [ ] P-LIST-01 ~ P-LIST-08 任务列表功能
- [ ] P-SUB-01 ~ P-SUB-13 提交功能（照片/视频/音频/文字）
- [ ] P-FB-01 ~ P-FB-09 查看评价功能

### 9.4 学校端测试检查

- [ ] S-READONLY-01 ~ S-READONLY-05 只读模式验证
- [ ] S-STAT-01 ~ S-STAT-05 统计卡片功能
- [ ] S-FLT-01 ~ S-FLT-11 多维度筛选功能
- [ ] S-LIST-01 ~ S-LIST-06 任务列表功能
- [ ] S-DET-01 ~ S-DET-06 任务详情功能
- [ ] S-COMP-01 ~ S-COMP-08 完成情况列表
- [ ] S-SUB-01 ~ S-SUB-12 学生提交详情

### 9.5 跨端流程测试检查

- [ ] 完整业务闭环测试
- [ ] 多学生场景测试
- [ ] 修改提交场景测试
- [ ] 学校端只读验证测试

### 9.6 测试后整理

- [ ] 汇总测试结果
- [ ] 统计通过率
- [ ] 整理待修复问题
- [ ] 关闭前后端服务

---

## 十、测试记录模板

```markdown
# 阅读任务模块测试记录 - YYYY-MM-DD

## 测试环境
- 前端版本：
- 后端版本：
- 浏览器：
- 测试人员：

## 测试结果汇总
- 总用例数：
- 通过数：
- 失败数：
- 阻塞数：
- 通过率：

## 详细测试记录

### 教师端
| ID | 测试项 | 结果 | 备注 |
|----|--------|------|------|
| T-LIST-01 | 列表加载 | ✅/❌ | |

### 家长端
| ID | 测试项 | 结果 | 备注 |
|----|--------|------|------|
| P-LIST-01 | 列表加载 | ✅/❌ | |

### 学校端
| ID | 测试项 | 结果 | 备注 |
|----|--------|------|------|
| S-READONLY-01 | 无创建按钮 | ✅/❌ | |

## 发现的问题
1. [问题描述] - 优先级: P0/P1/P2/P3 - ID: xxx

## 修复验证
- [ ] 问题1 - 修复验证结果

## 总结
[测试总结和改进建议]
```

---

## 十一、自动化测试建议

### 11.1 推荐自动化场景

| 场景 | 优先级 | 说明 |
|------|--------|------|
| 教师端创建任务流程 | P0 | 核心功能，高频使用 |
| 家长端提交任务流程 | P0 | 核心功能，高频使用 |
| 学校端只读验证 | P0 | 关键约束，必须保证 |
| 跨端数据同步 | P1 | 确保数据一致性 |

### 11.2 E2E 测试文件位置

```
reading-platform-frontend/tests/e2e/
├── teacher/
│   └── 06-tasks.spec.ts          # 教师端任务测试
├── parent/
│   └── tasks.spec.ts             # 家长端任务测试（需新建）
└── school/
    └── 08-tasks.spec.ts          # 学校端任务测试
```

---

*本测试计划创建于 2026-03-20*
*测试范围：阅读任务模块三端功能（Phase 1-4 开发成果）*
