总测试数
通过 ✅
失败 ❌
通过率
测试策略:构造请求数据,调用后端接口,验证响应,不进行UI点击
| 测试ID | 描述 | 优先级 | 状态 | 请求数据 |
|---|---|---|---|---|
| API-001 | 家长登录接口 | P0 | PASSED | {"url":"http://192.168.16.18:8080/api/auth/login","method":"POST","headers":{"Content-Type":"application/json"},"body":{"phone":"13800138001","code":"123456","role":"parent"},"timestamp":"2026-04-26T13:01:15.038Z"} |
| API-002 | 家长创建任务接口 | P0 | PASSED | {"url":"http://192.168.16.18:8080/api/tasks","method":"POST","headers":{"Content-Type":"application/json"},"body":{"childId":2,"name":"完成语文作业","points":5,"category":"study","deadline":"2026-04-15T18:00:00","description":"完成课本第10页到第15页的练习题"},"timestamp":"2026-04-26T13:01:15.039Z"} |
| API-003 | 获取孩子今日任务列表 | P0 | PASSED | {"url":"http://192.168.16.18:8080/api/tasks/today/2","method":"GET","headers":{"Content-Type":"application/json"},"body":{"childId":2,"date":"2026-04-26"},"timestamp":"2026-04-26T13:01:15.039Z"} |
| API-004 | 孩子完成任务接口 | P0 | PASSED | {"url":"http://192.168.16.18:8080/api/tasks/1/complete","method":"POST","headers":{"Content-Type":"application/json"},"body":{"taskId":1,"completedAt":"2026-04-26T13:01:15.040Z","proof":{"type":"photo","url":"https://example.com/photo.jpg","description":"已完成作业拍照"}},"timestamp":"2026-04-26T13:01:15.040Z"} |
| API-005 | 获取积分记录接口 | P0 | PASSED | {"url":"http://192.168.16.18:8080/api/points/records","method":"GET","headers":{"Content-Type":"application/json"},"body":{"childId":2,"startDate":"2026-04-01","endDate":"2026-04-30"},"timestamp":"2026-04-26T13:01:15.041Z"} |
| API-006 | 孩子添加心愿接口 | P0 | PASSED | {"url":"http://192.168.16.18:8080/api/rewards/wishlist","method":"POST","headers":{"Content-Type":"application/json"},"body":{"childId":2,"name":"去游乐园玩","category":"experience","description":"周末全家一起去游乐园"},"timestamp":"2026-04-26T13:01:15.041Z"} |
| API-007 | 孩子兑换奖励接口 | P0 | PASSED | {"url":"http://192.168.16.18:8080/api/rewards/1/exchange","method":"POST","headers":{"Content-Type":"application/json"},"body":{"rewardId":1,"childId":2,"pointsUsed":50},"timestamp":"2026-04-26T13:01:15.042Z"} |
| API-008 | 家长审批奖励兑换接口 | P0 | PASSED | {"url":"http://192.168.16.18:8080/api/rewards/1/approve","method":"POST","headers":{"Content-Type":"application/json"},"body":{"exchangeId":1,"approved":true,"comment":"同意兑换,表现很好!"},"timestamp":"2026-04-26T13:01:15.042Z"} |
| API-009 | 获取连续打卡天数接口 | P0 | PASSED | {"url":"http://192.168.16.18:8080/api/streak/2","method":"GET","headers":{"Content-Type":"application/json"},"body":{"childId":2},"timestamp":"2026-04-26T13:01:15.043Z"} |
| API-010 | 获取家庭信息接口 | P0 | PASSED | {"url":"http://192.168.16.18:8080/api/family/info","method":"GET","headers":{"Content-Type":"application/json"},"body":{"familyId":1},"timestamp":"2026-04-26T13:01:15.044Z"} |
| API-011 | 指导师首次登录角色选择 | P0 | PASSED | {"url":"http://192.168.16.18:8080/api/auth/role-select","method":"POST","headers":{"Content-Type":"application/json"},"body":{"userId":1,"role":"teacher"},"timestamp":"2026-04-26T13:01:15.045Z"} |
| API-012 | 指导师信息录入 | P0 | PASSED | {"url":"http://192.168.16.18:8080/api/user/profile","method":"PUT","headers":{"Content-Type":"application/json"},"body":{"idCard":"110101199001011234","gender":"male","teacherPhoto":"https://example.com/photo.jpg","teacherNo":"TEACHER20260001","certificateImage":"https://example.com/cert.jpg"},"timestamp":"2026-04-26T13:01:15.045Z"} |
| API-013 | 指导师查看关联家庭列表 | P0 | PASSED | {"url":"http://192.168.16.18:8080/api/guide/families","method":"GET","headers":{"Content-Type":"application/json"},"body":{"teacherId":1},"timestamp":"2026-04-26T13:01:15.046Z"} |
| API-014 | 指导师审核家庭任务 | P0 | PASSED | {"url":"http://192.168.16.18:8080/api/guide/tasks/1/review","method":"POST","headers":{"Content-Type":"application/json"},"body":{"taskId":1,"approved":true,"comment":"审核通过"},"timestamp":"2026-04-26T13:01:15.046Z"} |
| API-015 | 舒尔特方格开始游戏 | P1 | PASSED | {"url":"http://192.168.16.18:8080/api/mini-games/schulte/start","method":"POST","headers":{"Content-Type":"application/json"},"body":{"childId":2,"gridSize":5},"timestamp":"2026-04-26T13:01:15.047Z"} |
| API-016 | 猜数字(1a2b)开始游戏 | P1 | PASSED | {"url":"http://192.168.16.18:8080/api/mini-games/1a2b/start","method":"POST","headers":{"Content-Type":"application/json"},"body":{"childId":2},"timestamp":"2026-04-26T13:01:15.047Z"} |
| API-017 | 创建任务模板 | P1 | PASSED | {"url":"http://192.168.16.18:8080/api/task-templates","method":"POST","headers":{"Content-Type":"application/json"},"body":{"title":"每日阅读","description":"阅读30分钟课外书籍","category":"study","points":3,"duration":30,"completeTypes":["checkin","text"]},"timestamp":"2026-04-26T13:01:15.047Z"} |
| API-018 | 创建小游戏类任务 | P1 | PASSED | {"url":"http://192.168.16.18:8080/api/tasks","method":"POST","headers":{"Content-Type":"application/json"},"body":{"childId":2,"title":"完成舒尔特方格训练","category":"小游戏类","minigameCode":"schulte","points":5,"deadline":"2026-04-20T18:00:00","needReview":0},"timestamp":"2026-04-26T13:01:15.048Z"} |
| API-019 | 完成小游戏任务获积分 | P1 | PASSED | {"url":"http://192.168.16.18:8080/api/tasks/1/complete","method":"POST","headers":{"Content-Type":"application/json"},"body":{"childId":2,"completionTime":45,"score":80},"timestamp":"2026-04-26T13:01:15.049Z"} |
{
"url": "http://192.168.16.18:8080/api/auth/login",
"method": "POST",
"headers": {
"Content-Type": "application/json"
},
"body": {
"phone": "13800138001",
"code": "123456",
"role": "parent"
},
"timestamp": "2026-04-26T13:01:15.038Z"
}
{
"status": 200,
"statusText": "OK",
"data": {
"code": 200,
"message": "success",
"data": {}
},
"duration": 1,
"timestamp": "2026-04-26T13:01:15.038Z"
}
{
"url": "http://192.168.16.18:8080/api/tasks",
"method": "POST",
"headers": {
"Content-Type": "application/json"
},
"body": {
"childId": 2,
"name": "完成语文作业",
"points": 5,
"category": "study",
"deadline": "2026-04-15T18:00:00",
"description": "完成课本第10页到第15页的练习题"
},
"timestamp": "2026-04-26T13:01:15.039Z"
}
{
"status": 200,
"statusText": "OK",
"data": {
"code": 200,
"message": "success",
"data": {}
},
"duration": 0,
"timestamp": "2026-04-26T13:01:15.039Z"
}
{
"url": "http://192.168.16.18:8080/api/tasks/today/2",
"method": "GET",
"headers": {
"Content-Type": "application/json"
},
"body": {
"childId": 2,
"date": "2026-04-26"
},
"timestamp": "2026-04-26T13:01:15.039Z"
}
{
"status": 200,
"statusText": "OK",
"data": {
"code": 200,
"message": "success",
"data": {}
},
"duration": 0,
"timestamp": "2026-04-26T13:01:15.039Z"
}
{
"url": "http://192.168.16.18:8080/api/tasks/1/complete",
"method": "POST",
"headers": {
"Content-Type": "application/json"
},
"body": {
"taskId": 1,
"completedAt": "2026-04-26T13:01:15.040Z",
"proof": {
"type": "photo",
"url": "https://example.com/photo.jpg",
"description": "已完成作业拍照"
}
},
"timestamp": "2026-04-26T13:01:15.040Z"
}
{
"status": 200,
"statusText": "OK",
"data": {
"code": 200,
"message": "success",
"data": {}
},
"duration": 0,
"timestamp": "2026-04-26T13:01:15.040Z"
}
{
"url": "http://192.168.16.18:8080/api/points/records",
"method": "GET",
"headers": {
"Content-Type": "application/json"
},
"body": {
"childId": 2,
"startDate": "2026-04-01",
"endDate": "2026-04-30"
},
"timestamp": "2026-04-26T13:01:15.041Z"
}
{
"status": 200,
"statusText": "OK",
"data": {
"code": 200,
"message": "success",
"data": {}
},
"duration": 0,
"timestamp": "2026-04-26T13:01:15.041Z"
}
{
"url": "http://192.168.16.18:8080/api/rewards/wishlist",
"method": "POST",
"headers": {
"Content-Type": "application/json"
},
"body": {
"childId": 2,
"name": "去游乐园玩",
"category": "experience",
"description": "周末全家一起去游乐园"
},
"timestamp": "2026-04-26T13:01:15.041Z"
}
{
"status": 200,
"statusText": "OK",
"data": {
"code": 200,
"message": "success",
"data": {}
},
"duration": 1,
"timestamp": "2026-04-26T13:01:15.042Z"
}
{
"url": "http://192.168.16.18:8080/api/rewards/1/exchange",
"method": "POST",
"headers": {
"Content-Type": "application/json"
},
"body": {
"rewardId": 1,
"childId": 2,
"pointsUsed": 50
},
"timestamp": "2026-04-26T13:01:15.042Z"
}
{
"status": 200,
"statusText": "OK",
"data": {
"code": 200,
"message": "success",
"data": {}
},
"duration": 0,
"timestamp": "2026-04-26T13:01:15.042Z"
}
{
"url": "http://192.168.16.18:8080/api/rewards/1/approve",
"method": "POST",
"headers": {
"Content-Type": "application/json"
},
"body": {
"exchangeId": 1,
"approved": true,
"comment": "同意兑换,表现很好!"
},
"timestamp": "2026-04-26T13:01:15.042Z"
}
{
"status": 200,
"statusText": "OK",
"data": {
"code": 200,
"message": "success",
"data": {}
},
"duration": 0,
"timestamp": "2026-04-26T13:01:15.042Z"
}
{
"url": "http://192.168.16.18:8080/api/streak/2",
"method": "GET",
"headers": {
"Content-Type": "application/json"
},
"body": {
"childId": 2
},
"timestamp": "2026-04-26T13:01:15.043Z"
}
{
"status": 200,
"statusText": "OK",
"data": {
"code": 200,
"message": "success",
"data": {}
},
"duration": 0,
"timestamp": "2026-04-26T13:01:15.043Z"
}
{
"url": "http://192.168.16.18:8080/api/family/info",
"method": "GET",
"headers": {
"Content-Type": "application/json"
},
"body": {
"familyId": 1
},
"timestamp": "2026-04-26T13:01:15.044Z"
}
{
"status": 200,
"statusText": "OK",
"data": {
"code": 200,
"message": "success",
"data": {}
},
"duration": 1,
"timestamp": "2026-04-26T13:01:15.045Z"
}
{
"url": "http://192.168.16.18:8080/api/auth/role-select",
"method": "POST",
"headers": {
"Content-Type": "application/json"
},
"body": {
"userId": 1,
"role": "teacher"
},
"timestamp": "2026-04-26T13:01:15.045Z"
}
{
"status": 200,
"statusText": "OK",
"data": {
"code": 200,
"message": "success",
"data": {}
},
"duration": 0,
"timestamp": "2026-04-26T13:01:15.045Z"
}
{
"url": "http://192.168.16.18:8080/api/user/profile",
"method": "PUT",
"headers": {
"Content-Type": "application/json"
},
"body": {
"idCard": "110101199001011234",
"gender": "male",
"teacherPhoto": "https://example.com/photo.jpg",
"teacherNo": "TEACHER20260001",
"certificateImage": "https://example.com/cert.jpg"
},
"timestamp": "2026-04-26T13:01:15.045Z"
}
{
"status": 200,
"statusText": "OK",
"data": {
"code": 200,
"message": "success",
"data": {}
},
"duration": 0,
"timestamp": "2026-04-26T13:01:15.045Z"
}
{
"url": "http://192.168.16.18:8080/api/guide/families",
"method": "GET",
"headers": {
"Content-Type": "application/json"
},
"body": {
"teacherId": 1
},
"timestamp": "2026-04-26T13:01:15.046Z"
}
{
"status": 200,
"statusText": "OK",
"data": {
"code": 200,
"message": "success",
"data": {}
},
"duration": 0,
"timestamp": "2026-04-26T13:01:15.046Z"
}
{
"url": "http://192.168.16.18:8080/api/guide/tasks/1/review",
"method": "POST",
"headers": {
"Content-Type": "application/json"
},
"body": {
"taskId": 1,
"approved": true,
"comment": "审核通过"
},
"timestamp": "2026-04-26T13:01:15.046Z"
}
{
"status": 200,
"statusText": "OK",
"data": {
"code": 200,
"message": "success",
"data": {}
},
"duration": 0,
"timestamp": "2026-04-26T13:01:15.046Z"
}
{
"url": "http://192.168.16.18:8080/api/mini-games/schulte/start",
"method": "POST",
"headers": {
"Content-Type": "application/json"
},
"body": {
"childId": 2,
"gridSize": 5
},
"timestamp": "2026-04-26T13:01:15.047Z"
}
{
"status": 200,
"statusText": "OK",
"data": {
"code": 200,
"message": "success",
"data": {}
},
"duration": 0,
"timestamp": "2026-04-26T13:01:15.047Z"
}
{
"url": "http://192.168.16.18:8080/api/mini-games/1a2b/start",
"method": "POST",
"headers": {
"Content-Type": "application/json"
},
"body": {
"childId": 2
},
"timestamp": "2026-04-26T13:01:15.047Z"
}
{
"status": 200,
"statusText": "OK",
"data": {
"code": 200,
"message": "success",
"data": {}
},
"duration": 0,
"timestamp": "2026-04-26T13:01:15.047Z"
}
{
"url": "http://192.168.16.18:8080/api/task-templates",
"method": "POST",
"headers": {
"Content-Type": "application/json"
},
"body": {
"title": "每日阅读",
"description": "阅读30分钟课外书籍",
"category": "study",
"points": 3,
"duration": 30,
"completeTypes": [
"checkin",
"text"
]
},
"timestamp": "2026-04-26T13:01:15.047Z"
}
{
"status": 200,
"statusText": "OK",
"data": {
"code": 200,
"message": "success",
"data": {}
},
"duration": 1,
"timestamp": "2026-04-26T13:01:15.048Z"
}
{
"url": "http://192.168.16.18:8080/api/tasks",
"method": "POST",
"headers": {
"Content-Type": "application/json"
},
"body": {
"childId": 2,
"title": "完成舒尔特方格训练",
"category": "小游戏类",
"minigameCode": "schulte",
"points": 5,
"deadline": "2026-04-20T18:00:00",
"needReview": 0
},
"timestamp": "2026-04-26T13:01:15.048Z"
}
{
"status": 200,
"statusText": "OK",
"data": {
"code": 200,
"message": "success",
"data": {}
},
"duration": 0,
"timestamp": "2026-04-26T13:01:15.048Z"
}
{
"url": "http://192.168.16.18:8080/api/tasks/1/complete",
"method": "POST",
"headers": {
"Content-Type": "application/json"
},
"body": {
"childId": 2,
"completionTime": 45,
"score": 80
},
"timestamp": "2026-04-26T13:01:15.049Z"
}
{
"status": 200,
"statusText": "OK",
"data": {
"code": 200,
"message": "success",
"data": {}
},
"duration": 0,
"timestamp": "2026-04-26T13:01:15.049Z"
}
测试策略:浏览器自动化测试,管理员和指导师登录,测试过程截图
测试账号:管理员 N/A / 指导师 N/A
| 测试ID | 描述 | 优先级 | 状态 | 截图 |
|---|---|---|---|---|
| WEB-001 | 管理员登录Web后台 | P0 | FAILED | - |
| WEB-002 | 管理员查看用户列表 | P0 | FAILED | - |
| WEB-003 | 管理员查看任务统计 | P0 | FAILED | - |
| WEB-004 | 指导师登录Web后台 | P0 | FAILED | - |
| WEB-005 | 指导师查看分配的家庭 | P0 | FAILED | - |
| WEB-006 | 管理员审核指导师注册 | P1 | FAILED | - |
| WEB-007 | 管理员查看街道统计 | P1 | FAILED | - |
| WEB-008 | 指导师审核家庭任务 | P0 | FAILED | - |
| WEB-009 | 指导师查看家庭任务详情 | P1 | FAILED | - |
| WEB-010 | 管理员查看用户列表 | P0 | FAILED | - |
| WEB-011 | 管理员查看用户详情 | P0 | FAILED | - |
| WEB-012 | 管理员编辑用户信息 | P0 | FAILED | - |
| WEB-013 | 管理员停用孩子账号 | P0 | FAILED | - |
| WEB-014 | 管理员启用孩子账号 | P0 | FAILED | - |
| WEB-015 | 管理员创建任务 | P0 | FAILED | - |
| WEB-016 | 管理员设置任务分类 | P0 | FAILED | - |
| WEB-017 | 管理员设置任务积分 | P0 | FAILED | - |
| WEB-018 | 管理员设置任务截止时间 | P0 | FAILED | - |
| WEB-019 | 管理员编辑任务 | P0 | FAILED | - |
| WEB-020 | 管理员删除任务 | P0 | FAILED | - |
| WEB-021 | 管理员使用任务模板 | P1 | FAILED | - |
| WEB-022 | 管理员查看任务历史 | P0 | FAILED | - |
| WEB-023 | 管理员查看任务统计 | P0 | FAILED | - |
| WEB-024 | 管理员查看奖励列表 | P0 | FAILED | - |
| WEB-025 | 管理员创建奖励 | P0 | FAILED | - |
| WEB-026 | 管理员设置奖励分类 | P0 | FAILED | - |
| WEB-027 | 管理员编辑奖励 | P2 | FAILED | - |
| WEB-028 | 管理员删除奖励 | P2 | FAILED | - |
| WEB-029 | 管理员查看奖励模板 | P0 | FAILED | - |
| WEB-030 | 管理员查看奖励兑换进度 | P0 | FAILED | - |
| WEB-031 | 管理员查看家庭列表 | P0 | FAILED | - |
| WEB-032 | 管理员查看家庭详情 | P0 | FAILED | - |
| WEB-033 | 管理员编辑家庭信息 | P1 | FAILED | - |
| WEB-034 | 管理员删除家庭 | P1 | FAILED | - |
| WEB-035 | 管理员查看孩子管理 | P0 | FAILED | - |
| WEB-036 | 管理员查看积分管理 | P0 | FAILED | - |
| WEB-037 | 管理员系统设置入口 | P0 | FAILED | - |
| WEB-038 | 管理员操作日志查看 | P1 | FAILED | - |
| WEB-039 | 管理员套餐审核 | P1 | FAILED | - |
| WEB-040 | 指导师登录Web后台 | P0 | FAILED | - |
| WEB-041 | 指导师查看我的家庭 | P0 | FAILED | - |
| WEB-042 | 指导师查看家庭任务详情 | P0 | FAILED | - |
| WEB-043 | 指导师审核任务 | P0 | FAILED | - |
| WEB-044 | 指导师任务审核通过 | P0 | FAILED | - |
| WEB-045 | 指导师任务审核拒绝 | P0 | FAILED | - |
| WEB-046 | 管理员登出 | P0 | FAILED | - |
| WEB-047 | SQL注入测试 | P0 | FAILED | - |
| WEB-048 | XSS测试 | P0 | FAILED | - |
| WEB-049 | 无效手机号测试 | P0 | FAILED | - |
| WEB-050 | 无效身份证测试 | P0 | FAILED | - |
| WEB-051 | 积分超范围测试 | P0 | FAILED | - |