Procházet zdrojové kódy

test(design): 智能穴位定位系统测试用例文档

包含143个测试用例,覆盖用户管理、穴位管理、方案管理、设备管理、系统管理、核心算法、接口测试和验收测试

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
caitianqi před 5 měsíci
rodič
revize
01f9c8ce9a

+ 398 - 0
需求工作区/需求设计文档/智能穴位定位系统测试用例.md

@@ -0,0 +1,398 @@
+# 智能穴位定位系统测试用例文档
+
+## 文档信息
+
+| 项目 | 内容 |
+|------|------|
+| 项目名称 | 智能穴位定位系统 |
+| 文档版本 | v1.0 |
+| 编写日期 | 2026-04-02 |
+| 编写角色 | 测试工程师 |
+| 关联文档 | 智能穴位定位系统设计文档 |
+
+---
+
+## 一、用户管理测试用例
+
+### 1.1 用户列表功能
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-UM-001 | 查看用户列表 | 已存在用户数据 | 1. 登录后台管理系统<br>2. 进入用户管理页面 | 正确显示用户列表,包含用户ID、姓名、性别、年龄、手机号、设备编号、穴位表状态等字段 | P0 |
+| TC-UM-002 | 按姓名模糊搜索 | 已存在用户"张三" | 1. 在姓名搜索框输入"张"<br>2. 点击查询 | 显示所有姓名包含"张"的用户 | P0 |
+| TC-UM-003 | 按手机号模糊搜索 | 已存在用户手机号138****1234 | 1. 在手机号搜索框输入"138"<br>2. 点击查询 | 显示所有手机号包含"138"的用户 | P0 |
+| TC-UM-004 | 按设备编号搜索 | 用户绑定设备AJY001 | 1. 在设备编号搜索框输入"AJY001"<br>2. 点击查询 | 显示所有绑定设备AJY001的用户 | P0 |
+| TC-UM-005 | 按性别筛选 | 存在男/女用户 | 1. 性别下拉选择"男"<br>2. 点击查询 | 只显示性别为"男"的用户 | P1 |
+| TC-UM-006 | 按注册时间范围筛选 | 存在不同注册时间的用户 | 1. 设置注册时间范围<br>2. 点击查询 | 只显示该时间范围内注册的用户 | P1 |
+| TC-UM-007 | 按穴位表状态筛选 | 存在已生成/未生成穴位表的用户 | 1. 穴位表状态选择"已生成"<br>2. 点击查询 | 只显示穴位表状态为"已生成"的用户 | P1 |
+| TC-UM-008 | 多条件组合查询 | 存在符合条件的用户 | 1. 设置多个查询条件<br>2. 点击查询 | 显示同时满足所有条件的用户 | P0 |
+| TC-UM-009 | 重置查询条件 | 已设置查询条件 | 1. 点击重置按钮 | 所有查询条件清空,恢复默认列表 | P1 |
+
+### 1.2 新增用户
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-UM-010 | 成功新增男性用户 | 无 | 1. 点击新增按钮<br>2. 填写姓名、性别选择"男"<br>3. 填写年龄35、手机号13800138000<br>4. 填写肩宽42cm、身长85cm<br>5. 点击保存 | 用户新增成功,列表显示新用户 | P0 |
+| TC-UM-011 | 成功新增女性用户 | 无 | 1. 点击新增按钮<br>2. 填写姓名、性别选择"女"<br>3. 填写年龄33、手机号13900139000<br>4. 填写肩宽36cm、身长78cm<br>5. 点击保存 | 用户新增成功 | P0 |
+| TC-UM-012 | 手机号必填验证 | 无 | 1. 点击新增按钮<br>2. 不填手机号<br>3. 点击保存 | 提示"手机号为必填项" | P0 |
+| TC-UM-013 | 手机号格式验证 | 无 | 1. 点击新增按钮<br>2. 填写手机号"12345"(非11位)<br>3. 点击保存 | 提示"手机号格式错误" | P0 |
+| TC-UM-014 | 手机号唯一性验证 | 已存在手机号13800138000 | 1. 点击新增按钮<br>2. 填写重复的手机号<br>3. 点击保存 | 提示"手机号已存在" | P0 |
+| TC-UM-015 | 男性肩宽范围验证 | 无 | 1. 点击新增按钮<br>2. 性别选择"男"<br>3. 填写肩宽30cm(超出范围36-52)<br>4. 点击保存 | 提示"男性肩宽范围为36-52cm" | P0 |
+| TC-UM-016 | 女性肩宽范围验证 | 无 | 1. 点击新增按钮<br>2. 性别选择"女"<br>3. 填写肩宽50cm(超出范围32-46)<br>4. 点击保存 | 提示"女性肩宽范围为32-46cm" | P0 |
+| TC-UM-017 | 男性身长范围验证 | 无 | 1. 点击新增按钮<br>2. 性别选择"男"<br>3. 填写身长70cm(超出范围75-95)<br>4. 点击保存 | 提示"男性身长范围为75-95cm" | P0 |
+| TC-UM-018 | 女性身长范围验证 | 无 | 1. 点击新增按钮<br>2. 性别选择"女"<br>3. 填写身长90cm(超出范围70-88)<br>4. 点击保存 | 提示"女性身长范围为70-88cm" | P0 |
+| TC-UM-019 | 年龄范围验证 | 无 | 1. 点击新增按钮<br>2. 填写年龄150<br>3. 点击保存 | 提示"年龄范围为1-120" | P1 |
+| TC-UM-020 | 选填指寸数据 | 无 | 1. 点击新增按钮<br>2. 填写必填项<br>3. 填写一寸2.2cm、1.5寸3.3cm、三寸6.5cm<br>4. 点击保存 | 用户新增成功,保存指寸数据 | P1 |
+
+### 1.3 编辑用户
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-UM-021 | 查看用户详情 | 已存在用户 | 1. 点击用户列表"查看"按钮 | 显示用户完整信息 | P0 |
+| TC-UM-022 | 编辑用户基本信息 | 已存在用户 | 1. 点击"编辑"按钮<br>2. 修改姓名<br>3. 点击保存 | 用户信息更新成功 | P0 |
+| TC-UM-023 | 编辑后重新生成穴位坐标 | 已存在用户且有穴位坐标 | 1. 点击"编辑"按钮<br>2. 修改肩宽/身长<br>3. 点击"生成穴位坐标"<br>4. 点击保存 | 穴位坐标重新计算并更新 | P0 |
+
+### 1.4 删除用户
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-UM-024 | 删除单个用户 | 已存在用户 | 1. 点击"删除"按钮<br>2. 确认删除 | 用户删除成功 | P0 |
+| TC-UM-025 | 批量删除用户 | 已存在多个用户 | 1. 勾选多个用户<br>2. 点击"批量删除"<br>3. 确认删除 | 所有选中用户删除成功 | P1 |
+| TC-UM-026 | 删除确认取消 | 已存在用户 | 1. 点击"删除"按钮<br>2. 取消删除 | 用户未被删除 | P1 |
+
+### 1.5 用户设备管理
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-UM-027 | 查看用户绑定设备 | 用户已绑定设备 | 1. 点击"设备管理"按钮 | 显示用户绑定的所有设备列表 | P0 |
+| TC-UM-028 | 添加设备到用户 | 存在未绑定的设备 | 1. 点击"添加设备"<br>2. 选择设备<br>3. 确认 | 设备成功绑定到用户 | P0 |
+| TC-UM-029 | 设置主设备 | 用户绑定多个设备 | 1. 点击某设备"设为主设备"<br>2. 确认 | 该设备设为主设备,其他设备变为非主设备 | P0 |
+| TC-UM-030 | 解绑设备 | 设备已绑定用户 | 1. 点击"解绑"<br>2. 确认 | 设备与用户解除绑定 | P0 |
+| TC-UM-031 | 批量解绑设备 | 用户绑定多个设备 | 1. 勾选多个设备<br>2. 点击"批量解绑"<br>3. 确认 | 所有选中设备解除绑定 | P1 |
+
+### 1.6 用户导入导出
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-UM-032 | 导出用户数据 | 已存在用户数据 | 1. 设置筛选条件<br>2. 点击"导出" | 下载Excel文件,包含筛选结果 | P1 |
+| TC-UM-033 | 导入用户数据 | 无 | 1. 点击"导入"<br>2. 上传符合模板的Excel文件 | 用户批量导入成功 | P1 |
+| TC-UM-034 | 导入格式错误 | 无 | 1. 点击"导入"<br>2. 上传格式错误的Excel文件 | 提示导入失败,显示错误信息 | P1 |
+
+---
+
+## 二、穴位管理测试用例
+
+### 2.1 穴位列表功能
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-AM-001 | 查看穴位列表 | 已存在穴位数据 | 1. 进入穴位管理页面 | 显示穴位列表,包含穴位ID、名称、经络、功效、定位方式、状态 | P0 |
+| TC-AM-002 | 按穴位名称搜索 | 已存在"大椎穴" | 1. 输入"大椎"<br>2. 点击查询 | 显示大椎穴 | P0 |
+| TC-AM-003 | 按经络筛选 | 存在不同经络穴位 | 1. 选择"督脉"<br>2. 点击查询 | 只显示督脉穴位 | P1 |
+| TC-AM-004 | 按定位方式筛选 | 存在相对/绝对定位穴位 | 1. 选择"相对定位"<br>2. 点击查询 | 只显示相对定位穴位 | P1 |
+| TC-AM-005 | 按状态筛选 | 存在活跃/待完善穴位 | 1. 选择"待完善"<br>2. 点击查询 | 只显示待完善状态穴位 | P0 |
+
+### 2.2 新增穴位
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-AM-006 | 新增相对定位穴位(中心) | 无 | 1. 点击新增<br>2. 填写穴位名称、经络、功效<br>3. 定位方式选择"相对定位"<br>4. 填写纵向偏移3寸、侧别"中心"<br>5. 点击保存 | 穴位新增成功 | P0 |
+| TC-AM-007 | 新增相对定位穴位(双侧) | 无 | 1. 点击新增<br>2. 填写穴位名称、经络、功效<br>3. 定位方式选择"相对定位"<br>4. 填写纵向偏移3寸、横向偏移1.5寸、侧别"双侧"<br>5. 点击保存 | 穴位新增成功 | P0 |
+| TC-AM-008 | 新增绝对定位穴位 | 无 | 1. 点击新增<br>2. 填写穴位名称、经络、功效<br>3. 定位方式选择"绝对定位"<br>4. 填写绝对坐标X/Y/Z<br>5. 点击保存 | 穴位新增成功 | P0 |
+| TC-AM-009 | 穴位名称必填验证 | 无 | 1. 点击新增<br>2. 不填穴位名称<br>3. 点击保存 | 提示"穴位名称为必填项" | P0 |
+| TC-AM-010 | 功效必选验证 | 无 | 1. 点击新增<br>2. 不选功效<br>3. 点击保存 | 提示"至少选择1项功效" | P0 |
+| TC-AM-011 | 相对定位必填验证 | 无 | 1. 点击新增<br>2. 选择"相对定位"<br>3. 不填纵向偏移<br>4. 点击保存 | 提示"纵向偏移为必填项" | P0 |
+
+### 2.3 编辑穴位
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-AM-012 | 查看穴位详情 | 已存在穴位 | 1. 点击"查看"按钮 | 显示穴位完整信息 | P0 |
+| TC-AM-013 | 编辑穴位信息 | 已存在穴位 | 1. 点击"编辑"<br>2. 修改功效<br>3. 点击保存 | 穴位信息更新成功 | P0 |
+| TC-AM-014 | 完善待完善穴位 | 存在待完善穴位 | 1. 点击"完善"<br>2. 补充经络、功效、定位参数<br>3. 点击保存 | 穴位状态变为"活跃" | P0 |
+
+### 2.4 删除穴位
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-AM-015 | 删除穴位 | 已存在穴位且未被方案引用 | 1. 点击"删除"<br>2. 确认 | 穴位删除成功 | P1 |
+| TC-AM-016 | 删除被引用穴位 | 穴位被方案引用 | 1. 点击"删除"<br>2. 确认 | 提示"该穴位已被方案引用,无法删除" | P1 |
+
+### 2.5 艾灸手法管理
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-AM-017 | 查看手法列表 | 已存在手法数据 | 1. 进入艾灸手法列表 | 显示所有手法:一键艾灸、温和灸、雀啄灸等 | P0 |
+| TC-AM-018 | 编辑手法参数 | 已存在手法 | 1. 点击"编辑"<br>2. 修改温度范围<br>3. 点击保存 | 手法参数更新成功 | P0 |
+| TC-AM-019 | 禁用手法 | 已启用手法 | 1. 点击"禁用"<br>2. 确认 | 手法状态变为"禁用" | P1 |
+| TC-AM-020 | 温度范围验证 | 无 | 1. 点击新增/编辑<br>2. 填写温度范围最小值30(超出35-50)<br>3. 点击保存 | 提示"温度范围为35-50°C" | P0 |
+| TC-AM-021 | 时间范围验证 | 无 | 1. 点击新增/编辑<br>2. 填写时间范围最大值40(超出1-30)<br>3. 点击保存 | 提示"时间范围为1-30分钟" | P0 |
+| TC-AM-022 | 非固定不动手法必填验证 | 选择运动模式"上下移动" | 1. 选择运动模式非"固定不动"<br>2. 不填运动幅度<br>3. 点击保存 | 提示"运动幅度为必填项" | P1 |
+
+---
+
+## 三、方案管理测试用例
+
+### 3.1 方案列表功能
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-SM-001 | 查看方案列表 | 已存在方案数据 | 1. 进入方案管理页面 | 显示方案列表,包含方案ID、名称、模式类型、功效类型、创作人、步骤数、状态 | P0 |
+| TC-SM-002 | 创作人显示验证(一键艾灸) | 存在一键艾灸方案 | 1. 查看一键艾灸方案 | 创作人显示"ADMIN" | P0 |
+| TC-SM-003 | 创作人显示验证(专业模式) | 存在专业模式方案 | 1. 查看专业模式方案 | 创作人显示"ADMIN" | P0 |
+| TC-SM-004 | 创作人显示验证(自定义模式) | 存在用户创建的自定义方案 | 1. 查看自定义模式方案 | 创作人显示用户姓名 | P0 |
+| TC-SM-005 | 创作人显示验证(延年圣手) | 存在专家方案 | 1. 查看延年圣手方案 | 创作人显示专家姓名 | P0 |
+| TC-SM-006 | 按方案名称搜索 | 已存在方案 | 1. 输入方案名称<br>2. 点击查询 | 显示匹配的方案 | P0 |
+| TC-SM-007 | 按模式类型筛选 | 存在不同模式方案 | 1. 选择"专业模式"<br>2. 点击查询 | 只显示专业模式方案 | P0 |
+| TC-SM-008 | 按功效类型筛选 | 存在不同功效方案 | 1. 选择"驱寒"<br>2. 点击查询 | 只显示驱寒功效方案 | P1 |
+| TC-SM-009 | 按创作人搜索 | 存在ADMIN创建的方案 | 1. 输入"ADMIN"<br>2. 点击查询 | 显示创作人为ADMIN的方案 | P0 |
+| TC-SM-010 | 按状态筛选 | 存在不同状态方案 | 1. 选择"草稿"<br>2. 点击查询 | 只显示草稿状态方案 | P1 |
+| TC-SM-011 | 按创建时间范围筛选 | 存在不同时间方案 | 1. 设置创建时间范围<br>2. 点击查询 | 只显示该时间范围内的方案 | P1 |
+
+### 3.2 方案详情查看
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-SM-012 | 查看方案基本信息 | 已存在方案 | 1. 点击方案"查看"按钮 | 显示方案基本信息(ID、名称、模式、创作人、状态、创建时间等) | P0 |
+| TC-SM-013 | 查看治疗步骤列表 | 方案有多个治疗步骤 | 1. 在详情页查看步骤列表 | 显示所有步骤,包含穴位、侧别、温度、时间、手法 | P0 |
+| TC-SM-014 | 查看方案统计信息 | 方案有使用记录 | 1. 在详情页查看统计信息 | 显示总时长、使用人数、平均评分、最后使用时间 | P1 |
+| TC-SM-015 | 查看使用记录 | 方案有使用记录 | 1. 在详情页查看使用记录 | 显示最近10条使用记录 | P1 |
+
+### 3.3 新增方案
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-SM-016 | 新增一键艾灸方案 | 无 | 1. 点击新增<br>2. 选择模板"一键艾灸"<br>3. 填写方案名称<br>4. 配置治疗步骤<br>5. 点击保存 | 方案新增成功,创作人显示ADMIN | P0 |
+| TC-SM-017 | 新增专业模式方案 | 无 | 1. 点击新增<br>2. 选择模板"专业模式"<br>3. 选择功效类型"驱寒"<br>4. 填写方案名称、适用症状等<br>5. 系统预设穴位组合<br>6. 点击保存 | 方案新增成功,预设穴位组合已填充 | P0 |
+| TC-SM-018 | 新增自定义模式方案 | 无 | 1. 点击新增<br>2. 选择模板"自定义模式"<br>3. 填写方案名称<br>4. 自由选择穴位组合<br>5. 点击保存 | 方案新增成功 | P0 |
+| TC-SM-019 | 新增延年圣手方案 | 无 | 1. 点击新增<br>2. 选择模板"延年圣手"<br>3. 填写方案名称、功效类型<br>4. 设置发布范围<br>5. 点击保存 | 方案新增成功 | P0 |
+| TC-SM-020 | 方案名称必填验证 | 无 | 1. 点击新增<br>2. 不填方案名称<br>3. 点击保存 | 提示"方案名称为必填项" | P0 |
+| TC-SM-021 | 专业模式功效必选验证 | 无 | 1. 选择"专业模式"<br>2. 不选功效类型<br>3. 点击保存 | 提示"功效类型为必填项" | P0 |
+| TC-SM-022 | 适用症状必选验证 | 无 | 1. 点击新增<br>2. 不选适用症状<br>3. 点击保存 | 提示"至少选择1项适用症状" | P0 |
+| TC-SM-023 | 温度范围验证 | 无 | 1. 配置治疗步骤<br>2. 填写温度60°C(超出35-50)<br>3. 点击保存 | 提示"温度范围为35-50°C" | P0 |
+| TC-SM-024 | 时间范围验证 | 无 | 1. 配置治疗步骤<br>2. 填写时间40分钟(超出1-30)<br>3. 点击保存 | 提示"时间范围为1-30分钟" | P0 |
+| TC-SM-025 | 总时长限制验证 | 无 | 1. 添加多个步骤,总时长超过60分钟<br>2. 点击保存 | 提示"总时长超过60分钟限制" | P1 |
+| TC-SM-026 | 最少步骤验证 | 无 | 1. 不添加治疗步骤<br>2. 点击保存 | 提示"至少需要1个治疗步骤" | P0 |
+| TC-SM-027 | 保存为草稿 | 无 | 1. 填写方案信息<br>2. 点击"保存为草稿" | 方案保存成功,状态为"草稿" | P0 |
+| TC-SM-028 | 发布方案 | 无 | 1. 填写完整方案信息<br>2. 点击"发布方案" | 方案发布成功,状态为"已发布" | P0 |
+
+### 3.4 编辑方案
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-SM-029 | 编辑草稿方案 | 存在草稿方案 | 1. 点击"编辑"<br>2. 修改方案信息<br>3. 点击保存 | 方案更新成功 | P0 |
+| TC-SM-030 | 编辑已发布方案 | 存在已发布方案 | 1. 点击"编辑"<br>2. 修改方案信息<br>3. 点击保存 | 方案更新成功 | P0 |
+| TC-SM-031 | 添加治疗步骤 | 方案已有步骤 | 1. 点击"+ 添加步骤"<br>2. 配置新步骤<br>3. 点击保存 | 新步骤添加成功 | P0 |
+| TC-SM-032 | 删除治疗步骤 | 方案有多个步骤 | 1. 点击某步骤"删除"<br>2. 确认 | 步骤删除成功 | P0 |
+| TC-SM-033 | 至少保留1个步骤 | 方案只有1个步骤 | 1. 点击删除步骤<br>2. 确认 | 提示"至少保留1个治疗步骤" | P0 |
+| TC-SM-034 | 拖拽排序步骤 | 方案有多个步骤 | 1. 拖拽步骤调整顺序<br>2. 点击保存 | 步骤顺序更新成功 | P1 |
+| TC-SM-035 | 预览方案 | 方案有多个步骤 | 1. 点击"预览方案"<br>2. 查看完整步骤和预计总时长 | 显示方案完整信息和总时长 | P1 |
+
+### 3.5 方案状态操作
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-SM-036 | 下架已发布方案 | 存在已发布方案 | 1. 点击"下架"<br>2. 确认 | 方案状态变为"已下架" | P0 |
+| TC-SM-037 | 批量发布草稿 | 存在多个草稿方案 | 1. 勾选多个草稿<br>2. 点击"批量发布"<br>3. 确认 | 所有选中方案状态变为"已发布" | P1 |
+| TC-SM-038 | 批量下架已发布方案 | 存在多个已发布方案 | 1. 勾选多个已发布方案<br>2. 点击"批量下架"<br>3. 确认 | 所有选中方案状态变为"已下架" | P1 |
+| TC-SM-039 | 批量删除草稿 | 存在多个草稿方案 | 1. 勾选多个草稿<br>2. 点击"批量删除"<br>3. 确认 | 所有选中草稿删除成功 | P1 |
+
+### 3.6 方案导入导出
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-SM-040 | 导出方案数据 | 已存在方案 | 1. 设置筛选条件<br>2. 点击"导出" | 下载JSON文件 | P1 |
+| TC-SM-041 | 导入方案数据 | 无 | 1. 点击"导入"<br>2. 上传JSON文件 | 方案批量导入成功 | P1 |
+| TC-SM-042 | 下载JSON模板 | 无 | 1. 点击"导入"<br>2. 点击"下载模板" | 下载方案数据JSON模板 | P2 |
+
+---
+
+## 四、设备管理测试用例
+
+### 4.1 设备列表功能
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-DM-001 | 查看设备列表 | 已存在设备数据 | 1. 进入设备管理页面 | 显示设备列表,包含设备编号、名称、型号、绑定用户数、在线状态、固件版本 | P0 |
+| TC-DM-002 | 按设备编号搜索 | 已存在设备AJY001 | 1. 输入"AJY001"<br>2. 点击查询 | 显示设备AJY001 | P0 |
+| TC-DM-003 | 按设备名称搜索 | 已存在设备 | 1. 输入设备名称部分字符<br>2. 点击查询 | 显示匹配的设备 | P0 |
+| TC-DM-004 | 按绑定用户搜索 | 设备绑定用户"张三" | 1. 输入"张三"<br>2. 点击查询 | 显示绑定用户"张三"的设备 | P0 |
+| TC-DM-005 | 按在线状态筛选 | 存在在线/离线设备 | 1. 选择"在线"<br>2. 点击查询 | 只显示在线设备 | P1 |
+| TC-DM-006 | 按固件版本筛选 | 存在不同版本设备 | 1. 选择固件版本<br>2. 点击查询 | 只显示该版本设备 | P2 |
+
+### 4.2 新增设备
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-DM-007 | 成功新增设备 | 无 | 1. 点击新增<br>2. 填写设备编号AJY003、名称、型号<br>3. 填写序列号、固件版本<br>4. 点击保存 | 设备新增成功 | P0 |
+| TC-DM-008 | 设备编号必填验证 | 无 | 1. 点击新增<br>2. 不填设备编号<br>3. 点击保存 | 提示"设备编号为必填项" | P0 |
+| TC-DM-009 | 设备编号唯一性验证 | 已存在设备AJY001 | 1. 点击新增<br>2. 填写重复的设备编号<br>3. 点击保存 | 提示"设备编号已存在" | P0 |
+| TC-DM-010 | 绑定用户 | 无 | 1. 点击新增<br>2. 选择绑定用户<br>3. 点击保存 | 设备成功绑定用户 | P0 |
+| TC-DM-011 | 新增时不绑定用户 | 无 | 1. 点击新增<br>2. 不选绑定用户<br>3. 点击保存 | 设备新增成功,未绑定用户 | P0 |
+
+### 4.3 编辑设备
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-DM-012 | 查看设备详情 | 已存在设备 | 1. 点击"查看"按钮 | 显示设备完整信息 | P0 |
+| TC-DM-013 | 编辑设备信息 | 已存在设备 | 1. 点击"编辑"<br>2. 修改设备名称<br>3. 点击保存 | 设备信息更新成功 | P0 |
+| TC-DM-014 | 更新固件版本 | 已存在设备 | 1. 点击"编辑"<br>2. 修改固件版本<br>3. 点击保存 | 固件版本更新成功 | P1 |
+
+### 4.4 设备用户管理
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-DM-015 | 查看设备绑定用户 | 设备已绑定用户 | 1. 点击"用户管理"按钮 | 显示设备绑定的所有用户列表 | P0 |
+| TC-DM-016 | 添加用户到设备 | 存在未绑定的用户 | 1. 点击"添加用户"<br>2. 选择用户<br>3. 确认 | 用户成功绑定到设备 | P0 |
+| TC-DM-017 | 设置主用户 | 设备绑定多个用户 | 1. 点击某用户"设为主用户"<br>2. 确认 | 该用户设为主用户 | P0 |
+| TC-DM-018 | 解绑用户 | 用户已绑定设备 | 1. 点击"解绑"<br>2. 确认 | 用户与设备解除绑定 | P0 |
+| TC-DM-019 | 批量解绑用户 | 设备绑定多个用户 | 1. 勾选多个用户<br>2. 点击"批量解绑"<br>3. 确认 | 所有选中用户解除绑定 | P1 |
+
+### 4.5 设备操作
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-DM-020 | 删除设备 | 已存在设备 | 1. 点击"删除"<br>2. 确认 | 设备删除成功 | P1 |
+| TC-DM-021 | 删除已绑定用户的设备 | 设备已绑定用户 | 1. 点击"删除"<br>2. 确认 | 提示"该设备已绑定用户,请先解绑" | P1 |
+| TC-DM-022 | 批量删除设备 | 存在多个设备 | 1. 勾选多个设备<br>2. 点击"批量删除"<br>3. 确认 | 所有选中设备删除成功 | P2 |
+| TC-DM-023 | 批量解绑设备用户 | 存在多个绑定设备 | 1. 勾选多个设备<br>2. 点击"批量解绑"<br>3. 确认 | 所有选中设备解除所有用户绑定 | P2 |
+
+### 4.6 设备导入导出
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-DM-024 | 导出设备列表 | 已存在设备 | 1. 设置筛选条件<br>2. 点击"导出" | 下载Excel文件 | P2 |
+| TC-DM-025 | 导入设备数据 | 无 | 1. 点击"导入"<br>2. 上传Excel文件 | 设备批量导入成功 | P2 |
+
+---
+
+## 五、系统管理测试用例
+
+### 5.1 管理员管理
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-SY-001 | 查看管理员列表 | 已存在管理员数据 | 1. 进入管理员管理页面 | 显示管理员列表 | P0 |
+| TC-SY-002 | 新增管理员 | 无 | 1. 点击新增<br>2. 填写用户名、密码、姓名、角色<br>3. 点击保存 | 管理员新增成功 | P0 |
+| TC-SY-003 | 用户名唯一性验证 | 已存在管理员admin | 1. 点击新增<br>2. 填写重复用户名<br>3. 点击保存 | 提示"用户名已存在" | P0 |
+| TC-SY-004 | 密码格式验证 | 无 | 1. 点击新增<br>2. 填写弱密码"123"<br>3. 点击保存 | 提示"密码需8-20字符,含字母和数字" | P0 |
+| TC-SY-005 | 编辑管理员 | 已存在管理员 | 1. 点击"编辑"<br>2. 修改信息<br>3. 点击保存 | 管理员信息更新成功 | P0 |
+| TC-SY-006 | 禁用管理员 | 已启用管理员 | 1. 点击"禁用"<br>2. 确认 | 管理员状态变为"禁用" | P0 |
+| TC-SY-007 | 启用管理员 | 已禁用管理员 | 1. 点击"启用"<br>2. 确认 | 管理员状态变为"启用" | P0 |
+
+### 5.2 操作日志
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-SY-008 | 查看操作日志 | 已存在操作日志 | 1. 进入操作日志页面 | 显示操作日志列表 | P0 |
+| TC-SY-009 | 按操作人筛选 | 存在不同操作人日志 | 1. 选择操作人<br>2. 点击查询 | 只显示该操作人的日志 | P1 |
+| TC-SY-010 | 按操作类型筛选 | 存在不同类型日志 | 1. 选择"新增"<br>2. 点击查询 | 只显示新增类型日志 | P1 |
+| TC-SY-011 | 按操作模块筛选 | 存在不同模块日志 | 1. 选择"用户管理"<br>2. 点击查询 | 只显示用户管理模块日志 | P1 |
+| TC-SY-012 | 按时间范围筛选 | 存在不同时间日志 | 1. 设置操作时间范围<br>2. 点击查询 | 只显示该时间范围内日志 | P1 |
+| TC-SY-013 | 导出操作日志 | 已存在操作日志 | 1. 点击"导出" | 下载Excel文件 | P2 |
+
+---
+
+## 六、核心算法测试用例
+
+### 6.1 指寸估算算法
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-AL-001 | 男性标准体型估算 | 无 | 1. 输入男性肩宽42cm、身长85cm<br>2. 执行指寸估算 | 估算结果接近标准值(cun1≈2.2cm) | P0 |
+| TC-AL-002 | 女性标准体型估算 | 无 | 1. 输入女性肩宽36cm、身长78cm<br>2. 执行指寸估算 | 估算结果接近标准值(cun1≈1.9cm) | P0 |
+| TC-AL-003 | 男性大体型估算 | 无 | 1. 输入男性肩宽50cm、身长95cm<br>2. 执行指寸估算 | 估算结果大于标准值 | P0 |
+| TC-AL-004 | 女性小体型估算 | 无 | 1. 输入女性肩宽32cm、身长70cm<br>2. 执行指寸估算 | 估算结果小于标准值 | P0 |
+| TC-AL-005 | 有指寸数据不估算 | 用户提供指寸数据 | 1. 输入肩宽、身长、指寸数据<br>2. 执行算法 | 使用实际指寸数据,不进行估算 | P0 |
+
+### 6.2 穴位对照表生成算法
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-AL-006 | 生成12个穴位坐标 | 用户有完整体型数据 | 1. 执行穴位对照表生成 | 生成12个穴位(23个点,含双侧)的相对坐标 | P0 |
+| TC-AL-007 | 大椎穴坐标为原点 | 无 | 1. 生成穴位对照表 | 大椎穴坐标为(0, 0) | P0 |
+| TC-AL-008 | 督脉穴位只有纵向偏移 | 无 | 1. 查看督脉穴位坐标 | 督脉穴位X坐标为0 | P0 |
+| TC-AL-009 | 双侧穴位有横向偏移 | 无 | 1. 查看双侧穴位坐标 | 左侧穴位X为负值,右侧为正值 | P0 |
+
+### 6.3 数据验证算法
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-AL-010 | 男性肩宽边界值验证 | 无 | 1. 输入肩宽36cm(最小值)<br>2. 验证 | 验证通过 | P0 |
+| TC-AL-011 | 男性肩宽超出范围 | 无 | 1. 输入肩宽35cm<br>2. 验证 | 验证失败,提示超出范围 | P0 |
+| TC-AL-012 | 女性身长边界值验证 | 无 | 1. 输入身长88cm(最大值)<br>2. 验证 | 验证通过 | P0 |
+| TC-AL-013 | 指寸数据超出范围 | 无 | 1. 输入一寸3.0cm<br>2. 验证 | 验证失败,提示超出范围 | P0 |
+
+### 6.4 置信度计算
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-AL-014 | 仅肩宽身长置信度 | 无 | 1. 仅提供肩宽和身长<br>2. 计算置信度 | 置信度50%,精度±5cm | P0 |
+| TC-AL-015 | 完整指寸置信度 | 无 | 1. 提供完整指寸数据<br>2. 计算置信度 | 置信度95%,精度±2cm | P0 |
+| TC-AL-016 | 部分指寸置信度 | 无 | 1. 提供一寸+1.5寸数据<br>2. 计算置信度 | 置信度80%,精度±3cm | P1 |
+
+---
+
+## 七、接口测试用例
+
+### 7.1 用户管理接口
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-API-001 | 获取用户列表 | 无 | GET /api/users | 返回用户列表,状态码200 | P0 |
+| TC-API-002 | 获取用户详情 | 存在用户 | GET /api/users/{userId} | 返回用户详情,状态码200 | P0 |
+| TC-API-003 | 新增用户 | 无 | POST /api/users | 请求体包含用户信息,返回201 | P0 |
+| TC-API-004 | 更新用户 | 存在用户 | PUT /api/users/{userId} | 返回更新后的用户信息,状态码200 | P0 |
+| TC-API-005 | 生成穴位坐标 | 用户有体型数据 | POST /api/users/{userId}/acupoint-coordinates | 返回穴位坐标数据,状态码200 | P0 |
+
+### 7.2 方案管理接口
+
+| 用例ID | 测试场景 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-API-006 | 获取方案列表 | 无 | GET /api/schemes | 返回方案列表,状态码200 | P0 |
+| TC-API-007 | 获取方案详情 | 存在方案 | GET /api/schemes/{schemeId} | 返回方案详情,状态码200 | P0 |
+| TC-API-008 | 创建方案 | 无 | POST /api/schemes | 返回创建的方案,状态码201 | P0 |
+| TC-API-009 | 发布方案 | 存在草稿方案 | POST /api/schemes/{schemeId}/publish | 方案状态变为已发布,状态码200 | P0 |
+| TC-API-010 | 同步圣手方案到设备 | 用户有专家方案 | POST /api/users/{userId}/devices/{deviceId}/expert-sync | 同步成功,状态码200 | P0 |
+
+---
+
+## 八、验收测试用例
+
+### 8.1 功能验收
+
+| 用例ID | 测试场景 | 验收标准 | 测试步骤 | 预期结果 | 优先级 |
+|--------|----------|----------|----------|----------|--------|
+| TC-AT-001 | 穴位定位精度 | ≤ 2cm(指寸数据完整时) | 1. 提供完整指寸数据<br>2. 生成穴位坐标<br>3. 与实际测量对比 | 误差≤2cm | P0 |
+| TC-AT-002 | 穴位库扩展 | 支持动态新增穴位 | 1. 新增一个穴位<br>2. 在方案中使用该穴位 | 穴位可正常添加和使用 | P0 |
+| TC-AT-003 | 专家方案 | 支持创建、发布8种专业模式 | 1. 创建8种专业模式方案<br>2. 发布方案 | 8种模式方案均可创建和发布 | P0 |
+| TC-AT-004 | 工艺生成 | 系统自动生成工艺语言 | 1. 创建专家方案<br>2. 查看生成的工艺语言 | 生成设备可执行的工艺语言 | P0 |
+| TC-AT-005 | API响应时间 | < 200ms | 1. 调用核心API<br>2. 记录响应时间 | 响应时间<200ms | P0 |
+| TC-AT-006 | 症状推荐覆盖率 | 80%+ | 1. 测试常见症状<br>2. 统计推荐覆盖率 | 覆盖率≥80% | P1 |
+
+---
+
+## 测试用例统计
+
+| 模块 | P0 | P1 | P2 | 合计 |
+|------|-----|-----|-----|------|
+| 用户管理 | 18 | 10 | 3 | 31 |
+| 穴位管理 | 12 | 6 | 0 | 18 |
+| 方案管理 | 21 | 13 | 3 | 37 |
+| 设备管理 | 12 | 7 | 4 | 23 |
+| 系统管理 | 5 | 6 | 2 | 13 |
+| 核心算法 | 8 | 2 | 0 | 10 |
+| 接口测试 | 5 | 0 | 0 | 5 |
+| 验收测试 | 4 | 2 | 0 | 6 |
+| **合计** | **85** | **46** | **12** | **143** |
+
+---
+
+## 附录:测试环境要求
+
+| 环境 | 要求 |
+|------|------|
+| 后端服务 | Spring Boot + MySQL |
+| 浏览器 | Chrome 90+, Firefox 88+, Edge 90+ |
+| 分辨率 | 1920x1080 或以上 |
+| 测试数据 | 需准备完整的测试数据集 |