76 门诊预约挂号

This commit is contained in:
ljj
2026-01-09 11:33:03 +08:00
parent 062c4a92b8
commit 8c74d45332
42 changed files with 8627 additions and 258 deletions

View File

@@ -0,0 +1,202 @@
# 门诊预约挂号功能测试数据使用指南
## 1. 准备工作
### 1.1 数据库环境准备
- 确保已安装并启动PostgreSQL数据库
- 确保已创建`hisdev`模式(或根据实际情况修改脚本中的模式名)
- 确保已创建相关表结构:
- clinical_ticket (号源表)
- adm_practitioner (医生表)
- adm_patient (患者表)
- cli_reservation_record (预约记录表)
### 1.2 验证表结构
执行以下查询验证核心表是否存在:
```sql
SELECT table_name FROM information_schema.tables WHERE table_schema = 'hisdev';
```
## 2. 执行测试数据脚本
### 2.1 脚本位置
`d:\work\门诊预约测试数据插入.sql`
### 2.2 执行方式
**方式一通过pgAdmin执行**
1. 打开pgAdmin连接到数据库
2. 选择`hisdev`模式
3. 打开SQL编辑器粘贴脚本内容
4. 点击执行按钮或按F5
**方式二:通过命令行执行**
```bash
psql -h localhost -U username -d database_name -f "d:\work\门诊预约测试数据插入.sql"
```
## 3. 测试数据说明
### 3.1 号源数据 (clinical_ticket)
#### 3.1.1 未预约状态的号源(用于测试正常预约流程)
- 号源数量10个普通号 + 5个专家号
- 日期:当前系统日期
- 医生:张三(内科)
- 状态:`unbooked`
#### 3.1.2 已预约状态的号源(用于测试取消预约流程)
- 号源数量2个
- 日期:当前系统日期
- 医生:张三(内科)
- 状态:`booked`
- 患者患者A、患者B
#### 3.1.3 已取号状态的号源(用于测试逆向用例)
- 号源数量1个
- 日期:当前系统日期
- 医生:张三(内科)
- 状态:`checked`
- 患者患者C
#### 3.1.4 明天日期的号源(用于测试日期选择功能)
- 号源数量10个普通号
- 日期:当前系统日期 + 1天
- 医生:王五(外科)
- 状态:`unbooked`
### 3.2 预约记录数据 (cli_reservation_record)
- 记录数量2条
- 患者患者A、患者B
- 医生:张三
## 4. 测试用例执行指南
### 4.1 正向测试用例
#### 4.1.1 号源日期选择器-默认值
- **测试步骤**
1. 打开门诊预约挂号界面
2. 检查号源日期选择器的默认值
- **预期结果**:默认值为当前系统日期
#### 4.1.2 状态筛选下拉框-默认值
- **测试步骤**
1. 打开门诊预约挂号界面
2. 检查状态筛选下拉框的默认值
- **预期结果**:默认值为"未预约"
#### 4.1.3 号源预约功能-正常流程
- **测试步骤**
1. 双击状态为"未预约"的号源卡片
2. 在弹出的患者选择弹窗中选择患者
3. 点击"确定"按钮
- **预期结果**:卡片状态更新为"已预约",显示患者信息
- **可用测试数据**当前日期的未预约号源TICKET000001-TICKET000010
#### 4.1.4 取消预约功能-正常流程
- **测试步骤**
1. 右键状态为"已预约"的号源卡片
2. 选择"取消预约"选项
3. 在二次确认弹窗中点击"确认"按钮
- **预期结果**:号源状态恢复为"未预约",清除患者信息
- **可用测试数据**已预约号源TICKET000011、TICKET000012
#### 4.1.5 医生搜索框-实时搜索
- **测试步骤**
1. 在左侧边栏的医生搜索框中输入医生姓名
2. 观察医生列表的实时更新
- **预期结果**:医生列表根据输入内容实时筛选显示
- **可用测试数据**:张三、王五
#### 4.1.6 号源类型切换-联动过滤
- **测试步骤**
1. 在左侧边栏切换号源类型为"专家号"
2. 观察右侧号源卡片和左侧医生列表
- **预期结果**:仅显示专家号的号源和医生
- **可用测试数据**专家号TICKET000014-TICKET000018
### 4.2 逆向测试用例
#### 4.2.1 号源预约功能-未选择患者
- **测试步骤**
1. 双击状态为"未预约"的号源卡片
2. 不选择患者直接点击"确定"按钮
- **预期结果**:提示"请选择患者"
#### 4.2.2 取消预约功能-已取号状态
- **测试步骤**
1. 右键状态为"已取号"的号源卡片
- **预期结果**:右键菜单不显示"取消预约"选项
- **可用测试数据**已取号源TICKET000013
#### 4.2.3 患者信息搜索框组-无效输入
- **测试步骤**
1. 在患者信息搜索框组中输入无效的姓名、就诊卡号或手机号
2. 点击查询按钮
- **预期结果**:返回无结果或提示"未找到匹配的患者"
- **可用测试数据**:输入不存在的姓名(如"测试患者")、就诊卡号(如"PAT999")或手机号(如"13999999999"
#### 4.2.4 日期选择器-无效日期
- **测试步骤**
1. 在号源日期选择器中输入无效日期(如过去日期或格式错误)
2. 尝试查询号源
- **预期结果**:提示"请输入有效日期"
#### 4.2.5 医生搜索框-无匹配结果
- **测试步骤**
1. 在医生搜索框中输入不存在的医生姓名
2. 观察医生列表
- **预期结果**:显示"无匹配结果"或空列表
- **可用测试数据**:输入不存在的医生姓名(如"李四"
## 5. 测试结果记录
| 用例名 | 测试步骤 | 预期结果 | 实际结果 | 测试时间 | 测试人 |
|-------|---------|---------|---------|---------|-------|
| 号源日期选择器-默认值 | 1. 打开门诊预约挂号界面<br>2. 检查号源日期选择器的默认值 | 默认值为当前系统日期 | | | |
| 状态筛选下拉框-默认值 | 1. 打开门诊预约挂号界面<br>2. 检查状态筛选下拉框的默认值 | 默认值为"未预约" | | | |
| 号源预约功能-正常流程 | 1. 双击状态为"未预约"的号源卡片<br>2. 在弹出的患者选择弹窗中选择患者<br>3. 点击"确定"按钮 | 卡片状态更新为"已预约",显示患者信息 | | | |
| 取消预约功能-正常流程 | 1. 右键状态为"已预约"的号源卡片<br>2. 选择"取消预约"选项<br>3. 在二次确认弹窗中点击"确认"按钮 | 号源状态恢复为"未预约",清除患者信息 | | | |
| 医生搜索框-实时搜索 | 1. 在左侧边栏的医生搜索框中输入医生姓名<br>2. 观察医生列表的实时更新 | 医生列表根据输入内容实时筛选显示 | | | |
| 号源类型切换-联动过滤 | 1. 在左侧边栏切换号源类型为"专家号"<br>2. 观察右侧号源卡片和左侧医生列表 | 仅显示专家号的号源和医生 | | | |
| 号源预约功能-未选择患者 | 1. 双击状态为"未预约"的号源卡片<br>2. 不选择患者直接点击"确定"按钮 | 提示"请选择患者" | | | |
| 取消预约功能-已取号状态 | 1. 右键状态为"已取号"的号源卡片 | 右键菜单不显示"取消预约"选项 | | | |
| 患者信息搜索框组-无效输入 | 1. 在患者信息搜索框组中输入无效的姓名、就诊卡号或手机号<br>2. 点击查询按钮 | 返回无结果或提示"未找到匹配的患者" | | | |
| 日期选择器-无效日期 | 1. 在号源日期选择器中输入无效日期(如过去日期或格式错误)<br>2. 尝试查询号源 | 提示"请输入有效日期" | | | |
| 医生搜索框-无匹配结果 | 1. 在医生搜索框中输入不存在的医生姓名<br>2. 观察医生列表 | 显示"无匹配结果"或空列表 | | | |
## 6. 注意事项
1. **数据唯一性**:脚本使用条件判断避免重复插入数据
2. **日期更新**:脚本中的日期会自动使用当前系统日期
3. **依赖关系**:号源数据依赖于医生和患者的基础数据,请确保系统中已有相关记录
4. **测试顺序**:建议先执行正向测试,再执行逆向测试
5. **数据清理**测试完成后可使用以下SQL清理测试数据
```sql
DELETE FROM clinical_ticket WHERE bus_no LIKE 'TICKET%';
DELETE FROM cli_reservation_record WHERE patient_name IN ('患者A', '患者B');
```
## 7. 常见问题
### 7.1 执行脚本时提示表不存在
- 检查数据库连接是否正确
- 检查是否已创建相关表结构
- 检查模式名是否为`hisdev`
### 7.2 测试数据不显示
- 检查日期选择器是否选择了正确的日期
- 检查状态筛选条件是否为"未预约"
- 检查医生选择是否正确
### 7.3 预约功能无法正常工作
- 检查患者选择弹窗是否能正常加载患者数据
- 检查网络连接是否正常
- 检查浏览器控制台是否有错误信息
---
**版本1.0**
**创建时间2025-12-31**
**更新记录:**
- 2025-12-31初始版本完成测试数据说明和测试指南