# 操作确认 / Operational Qualification (OQ)

| 属性 / Attribute | 内容 / Content |
|-----------------|----------------|
| 文档编号 / Document ID | {DOC_ID} |
| 版本 / Version | {VERSION} |
| 日期 / Date | {DATE} |
| 作者 / Author | {AUTHOR} |
| 审核 / Reviewer | {REVIEWER} |
| 批准 / Approver | {APPROVER} |
| 系统名称 / System Name | {SYSTEM_NAME} |
| 系统版本 / System Version | {SYSTEM_VERSION} |
| GAMP 分类 / GAMP Category | Category {GAMP_CATEGORY} |

---

## 1. 目的 / Purpose

本文档验证 {SYSTEM_NAME} 系统（版本: {SYSTEM_VERSION}）的各项功能按照用户需求规格 (URS) 和功能规格 (FS) 正确运行，满足预定的操作要求。OQ测试关注系统的功能正确性、稳定性和合规性。

This document verifies that {SYSTEM_NAME} functions operate correctly according to URS and FS, meeting the specified operational requirements.

## 2. 范围 / Scope

### 2.1 OQ 确认范围 / OQ Scope

| 测试类别 | 覆盖范围 | 优先级 |
|---------|---------|--------|
| 用户管理 | 用户创建、修改、删除、密码管理 | [必须] |
| 认证授权 | 登录、登出、权限控制、会话管理 | [必须] |
| 审计追踪 | 日志记录、导出、不可篡改性 | [必须] |
| 数据管理 | CRUD操作、数据验证、事务处理 | [必须] |
| 业务功能 | 核心业务流程测试 | [必须] |
| 接口功能 | API接口、第三方集成 | [应该] |
| 边界测试 | 异常输入、极限值、错误处理 | [应该] |
| 安全测试 | 访问控制、数据保护 | [必须] |

### 2.2 排除范围 / Excluded Scope

- 性能测试 (属于PQ)
- 安全渗透测试
- 用户接受测试

### 2.3 参考文档 / Reference Documents

| 文档 | 文档编号 | 版本 |
|------|---------|------|
| 用户需求规格 / URS | | |
| 功能规格 / FS | | |
| 风险评估 / RA | | |
| 安装确认 / IQ | | |

## 3. OQ 测试用例 / OQ Test Cases

### 3.1 用户管理测试 / User Management Tests

#### 3.1.1 用户创建测试 / User Creation Tests

| 用例ID | 测试描述 | 预置条件 | 测试步骤 | 预期结果 | 实际结果 | 状态 |
|--------|---------|---------|---------|---------|---------|------|
| OQ-UM-001 | 正常创建用户 | 系统正常运行，管理员登录 | 1.进入用户管理 2.点击新增 3.填写完整信息 4.提交 | 用户创建成功，显示成功消息 | | [Pass]/[Fail] |
| OQ-UM-002 | 创建用户-必填项缺失 | 系统正常运行 | 1.进入新增页面 2.填写部分信息 3.提交 | 系统提示必填项错误 | | [Pass]/[Fail] |
| OQ-UM-003 | 创建用户-用户名重复 | 系统正常运行，已有用户test001 | 1.新增用户 2.用户名填写test001 3.提交 | 系统提示用户名已存在 | | [Pass]/[Fail] |
| OQ-UM-004 | 创建用户-邮箱格式错误 | 系统正常运行 | 1.新增用户 2.填写错误格式邮箱 3.提交 | 系统提示邮箱格式错误 | | [Pass]/[Fail] |
| OQ-UM-005 | 创建用户-密码复杂度不足 | 系统正常运行 | 1.新增用户 2.填写简单密码 3.提交 | 系统提示密码复杂度不足 | | [Pass]/[Fail] |

#### 3.1.2 用户修改测试 / User Modification Tests

| 用例ID | 测试描述 | 预置条件 | 测试步骤 | 预期结果 | 实际结果 | 状态 |
|--------|---------|---------|---------|---------|---------|------|
| OQ-UM-010 | 修改用户信息 | 存在测试用户 | 1.进入用户详情 2.修改姓名/部门 3.保存 | 信息修改成功 | | [Pass]/[Fail] |
| OQ-UM-011 | 修改用户角色 | 存在测试用户 | 1.进入用户编辑 2.修改角色 3.保存 | 角色修改成功 | | [Pass]/[Fail] |
| OQ-UM-012 | 禁用用户账户 | 存在启用状态用户 | 1.进入用户管理 2.禁用用户 3.确认 | 用户被禁用，无法登录 | | [Pass]/[Fail] |
| OQ-UM-013 | 启用用户账户 | 存在禁用状态用户 | 1.进入用户管理 2.启用用户 3.确认 | 用户被启用，可以登录 | | [Pass]/[Fail] |

#### 3.1.3 用户删除测试 / User Deletion Tests

| 用例ID | 测试描述 | 预置条件 | 测试步骤 | 预期结果 | 实际结果 | 状态 |
|--------|---------|---------|---------|---------|---------|------|
| OQ-UM-020 | 删除用户-逻辑删除 | 存在测试用户 | 1.进入用户管理 2.删除用户 3.确认 | 用户被标记为已删除，列表不显示 | | [Pass]/[Fail] |
| OQ-UM-021 | 删除用户-数据完整性 | 已删除用户的数据 | 1.查询审计日志 | 保留原用户操作的审计记录 | | [Pass]/[Fail] |

#### 3.1.4 密码管理测试 / Password Management Tests

| 用例ID | 测试描述 | 预置条件 | 测试步骤 | 预期结果 | 实际结果 | 状态 |
|--------|---------|---------|---------|---------|---------|------|
| OQ-PW-001 | 修改密码 | 用户已登录 | 1.进入修改密码 2.填写新旧密码 3.提交 | 密码修改成功 | | [Pass]/[Fail] |
| OQ-PW-002 | 修改密码-错误旧密码 | 用户已登录 | 1.进入修改密码 2.填写错误旧密码 3.提交 | 系统提示旧密码错误 | | [Pass]/[Fail] |
| OQ-PW-003 | 密码重置 | 管理员权限 | 1.选择用户 2.重置密码 3.确认 | 密码重置为默认值 | | [Pass]/[Fail] |

### 3.2 认证授权测试 / Authentication & Authorization Tests

#### 3.2.1 登录测试 / Login Tests

| 用例ID | 测试描述 | 预置条件 | 测试步骤 | 预期结果 | 实际结果 | 状态 |
|--------|---------|---------|---------|---------|---------|------|
| OQ-AU-001 | 正常登录 | 用户存在且启用 | 1.输入正确用户名密码 2.点击登录 | 登录成功，进入主页 | | [Pass]/[Fail] |
| OQ-AU-002 | 登录-错误用户名 | 系统正常运行 | 1.输入不存在用户名 2.输入任意密码 3.点击登录 | 提示用户名或密码错误 | | [Pass]/[Fail] |
| OQ-AU-003 | 登录-错误密码 | 用户存在 | 1.输入正确用户名 2.输入错误密码 3.点击登录 | 提示用户名或密码错误 | | [Pass]/[Fail] |
| OQ-AU-004 | 登录-账户锁定 | 用户连续5次登录失败 | 1.输入正确用户名密码 | 提示账户已被锁定 | | [Pass]/[Fail] |
| OQ-AU-005 | 登录-账户禁用 | 用户状态为禁用 | 1.输入用户名密码 | 提示账户已禁用 | | [Pass]/[Fail] |
| OQ-AU-006 | 登录-首次登录改密 | 新建用户未改密 | 1.输入默认密码登录 | 强制要求修改密码 | | [Pass]/[Fail] |

#### 3.2.2 登出测试 / Logout Tests

| 用例ID | 测试描述 | 预置条件 | 测试步骤 | 预期结果 | 实际结果 | 状态 |
|--------|---------|---------|---------|---------|---------|------|
| OQ-AU-010 | 正常登出 | 用户已登录 | 1.点击登出 | 成功登出，跳转登录页 | | [Pass]/[Fail] |
| OQ-AU-011 | Session超时登出 | 登录后30分钟无操作 | 等待30分钟 | 自动登出 | | [Pass]/[Fail] |

#### 3.2.3 权限控制测试 / Access Control Tests

| 用例ID | 测试描述 | 预置条件 | 测试步骤 | 预期结果 | 实际结果 | 状态 |
|--------|---------|---------|---------|---------|---------|------|
| OQ-AC-001 | 未授权访问 | 未登录状态 | 1.直接访问系统URL | 跳转登录页 | | [Pass]/[Fail] |
| OQ-AC-002 | 越权访问-功能 | 普通用户登录 | 1.尝试访问管理员功能 | 提示无权限 | | [Pass]/[Fail] |
| OQ-AC-003 | 越权访问-数据 | 用户A登录 | 1.尝试访问用户B的数据 | 提示无权限或无数据 | | [Pass]/[Fail] |
| OQ-AC-004 | 角色权限验证 | 已配置不同角色用户 | 1.分别用不同角色登录 | 各角色功能菜单正确 | | [Pass]/[Fail] |

### 3.3 审计追踪测试 / Audit Trail Tests

#### 3.3.1 审计记录测试 / Audit Record Tests

| 用例ID | 测试描述 | 预置条件 | 测试步骤 | 预期结果 | 实际结果 | 状态 |
|--------|---------|---------|---------|---------|---------|------|
| OQ-AT-001 | 审计-用户登录 | 系统正常运行 | 1.用户登录 | 生成登录审计记录 | | [Pass]/[Fail] |
| OQ-AT-002 | 审计-数据创建 | 系统正常运行 | 1.创建一条业务数据 | 生成创建审计记录 | | [Pass]/[Fail] |
| OQ-AT-003 | 审计-数据修改 | 存在业务数据 | 1.修改数据 | 生成修改审计记录，包含旧值和新值 | | [Pass]/[Fail] |
| OQ-AT-004 | 审计-数据删除 | 存在业务数据 | 1.删除数据 | 生成删除审计记录 | | [Pass]/[Fail] |
| OQ-AT-005 | 审计记录完整性 | 审计日志存在 | 1.查看审计记录详情 | 包含用户ID、时间戳、操作类型、旧值、新值、IP地址 | | [Pass]/[Fail] |
| OQ-AT-006 | 审计记录不可修改 | 审计日志存在 | 1.尝试修改审计记录 | 无法修改 | | [Pass]/[Fail] |
| OQ-AT-007 | 审计记录不可删除 | 审计日志存在 | 1.尝试删除审计记录 | 无法删除 | | [Pass]/[Fail] |

#### 3.3.2 审计查询测试 / Audit Query Tests

| 用例ID | 测试描述 | 预置条件 | 测试步骤 | 预期结果 | 实际结果 | 状态 |
|--------|---------|---------|---------|---------|---------|------|
| OQ-AQ-001 | 审计-按用户筛选 | 存在审计记录 | 1.输入用户名查询 | 显示该用户所有操作记录 | | [Pass]/[Fail] |
| OQ-AQ-002 | 审计-按时间筛选 | 存在审计记录 | 1.选择时间范围查询 | 显示指定时间范围内记录 | | [Pass]/[Fail] |
| OQ-AQ-003 | 审计-按操作类型筛选 | 存在审计记录 | 1.选择操作类型查询 | 显示指定操作类型记录 | | [Pass]/[Fail] |
| OQ-AQ-004 | 审计-导出PDF | 存在审计记录 | 1.导出PDF | 成功导出，内容完整 | | [Pass]/[Fail] |
| OQ-AQ-005 | 审计-导出Excel | 存在审计记录 | 1.导出Excel | 成功导出，内容完整 | | [Pass]/[Fail] |

### 3.4 数据管理测试 / Data Management Tests

#### 3.4.1 数据创建测试 / Data Creation Tests

| 用例ID | 测试描述 | 预置条件 | 测试步骤 | 预期结果 | 实际结果 | 状态 |
|--------|---------|---------|---------|---------|---------|------|
| OQ-DM-001 | 创建数据-正常 | 系统正常运行 | 1.进入业务模块 2.填写正确信息 3.提交 | 数据创建成功 | | [Pass]/[Fail] |
| OQ-DM-002 | 创建数据-必填项缺失 | 系统正常运行 | 1.不填写必填项 2.提交 | 提示必填项错误 | | [Pass]/[Fail] |
| OQ-DM-003 | 创建数据-格式错误 | 系统正常运行 | 1.填写错误格式数据 2.提交 | 提示格式错误 | | [Pass]/[Fail] |
| OQ-DM-004 | 创建数据-边界值 | 系统正常运行 | 1.填写边界值数据 2.提交 | 创建成功 | | [Pass]/[Fail] |

#### 3.4.2 数据查询测试 / Data Query Tests

| 用例ID | 测试描述 | 预置条件 | 测试步骤 | 预期结果 | 实际结果 | 状态 |
|--------|---------|---------|---------|---------|---------|------|
| OQ-DQ-001 | 查询-列表显示 | 存在多条数据 | 1.进入列表页面 | 显示数据列表 | | [Pass]/[Fail] |
| OQ-DQ-002 | 查询-精确匹配 | 存在测试数据 | 1.输入精确查询条件 | 返回匹配结果 | | [Pass]/[Fail] |
| OQ-DQ-003 | 查询-模糊匹配 | 存在测试数据 | 1.输入部分关键字 | 返回匹配结果 | | [Pass]/[Fail] |
| OQ-DQ-004 | 查询-分页 | 存在多条数据 | 1.翻页 | 正确分页 | | [Pass]/[Fail] |
| OQ-DQ-005 | 查询-排序 | 存在多条数据 | 1.点击排序 | 正确排序 | | [Pass]/[Fail] |

#### 3.4.3 数据修改测试 / Data Modification Tests

| 用例ID | 测试描述 | 预置条件 | 测试步骤 | 预期结果 | 实际结果 | 状态 |
|--------|---------|---------|---------|---------|---------|------|
| OQ-DM-010 | 修改数据-正常 | 存在测试数据 | 1.修改数据内容 2.保存 | 修改成功 | | [Pass]/[Fail] |
| OQ-DM-011 | 修改数据-并发修改 | 存在测试数据 | 1.用户A和B同时修改同一数据 | 提示数据已修改 | | [Pass]/[Fail] |
| OQ-DM-012 | 修改数据-撤销 | 存在测试数据 | 1.修改数据 2.撤销 | 数据恢复原值 | | [Pass]/[Fail] |

#### 3.4.4 数据删除测试 / Data Deletion Tests

| 用例ID | 测试描述 | 预置条件 | 测试步骤 | 预期结果 | 实际结果 | 状态 |
|--------|---------|---------|---------|---------|---------|------|
| OQ-DM-020 | 删除数据-确认 | 存在测试数据 | 1.删除数据 2.确认 | 删除成功 | | [Pass]/[Fail] |
| OQ-DM-021 | 删除数据-取消 | 存在测试数据 | 1.删除数据 2.取消 | 数据未被删除 | | [Pass]/[Fail] |
| OQ-DM-022 | 批量删除 | 存在多条测试数据 | 1.选择多条数据 2.批量删除 | 批量删除成功 | | [Pass]/[Fail] |

### 3.5 接口功能测试 / Interface Tests

#### 3.5.1 API接口测试 / API Tests

| 用例ID | 测试描述 | 预置条件 | 测试步骤 | 预期结果 | 实际结果 | 状态 |
|--------|---------|---------|---------|---------|---------|------|
| OQ-API-001 | API-正常调用 | 系统正常运行 | 1.调用用户列表API | 返回200，数据正确 | | [Pass]/[Fail] |
| OQ-API-002 | API-无认证 | 系统正常运行 | 1.调用API不带token | 返回401未授权 | | [Pass]/[Fail] |
| OQ-API-003 | API-无效token | 系统正常运行 | 1.调用API带无效token | 返回401未授权 | | [Pass]/[Fail] |
| OQ-API-004 | API-权限不足 | 普通用户token | 1.调用管理员API | 返回403禁止访问 | | [Pass]/[Fail] |
| OQ-API-005 | API-参数错误 | 系统正常运行 | 1.调用API带错误参数 | 返回400错误提示 | | [Pass]/[Fail] |
| OQ-API-006 | API-404错误 | 系统正常运行 | 1.调用不存在API | 返回404未找到 | | [Pass]/[Fail] |

### 3.6 边界测试 / Boundary Tests

| 用例ID | 测试描述 | 预置条件 | 测试步骤 | 预期结果 | 实际结果 | 状态 |
|--------|---------|---------|---------|---------|---------|------|
| OQ-BD-001 | 超长输入 | 系统正常运行 | 1.输入超长字符 | 系统正确处理或提示过长 | | [Pass]/[Fail] |
| OQ-BD-002 | 特殊字符 | 系统正常运行 | 1.输入特殊字符 | 正确处理 | | [Pass]/[Fail] |
| OQ-BD-003 | SQL注入 | 系统正常运行 | 1.输入SQL注入代码 | 正确处理，不执行 | | [Pass]/[Fail] |
| OQ-BD-004 | XSS攻击 | 系统正常运行 | 1.输入脚本标签 | 正确转义 | | [Pass]/[Fail] |
| OQ-BD-005 | 空值处理 | 系统正常运行 | 1.提交空值 | 正确处理 | | [Pass]/[Fail] |
| OQ-BD-006 | 并发操作 | 多人同时操作 | 1.多人同时修改同一数据 | 正确处理并发 | | [Pass]/[Fail] |

### 3.7 错误处理测试 / Error Handling Tests

| 用例ID | 测试描述 | 预置条件 | 测试步骤 | 预期结果 | 实际结果 | 状态 |
|--------|---------|---------|---------|---------|---------|------|
| OQ-EH-001 | 网络断开 | 网络异常 | 1.模拟网络断开 | 提示网络错误 | | [Pass]/[Fail] |
| OQ-EH-002 | 服务不可用 | 服务异常 | 1.模拟服务异常 | 提示服务暂时不可用 | | [Pass]/[Fail] |
| OQ-EH-003 | 数据库错误 | 数据库异常 | 1.模拟数据库错误 | 提示系统错误，日志记录 | | [Pass]/[Fail] |
| OQ-EH-004 | 文件上传过大 | 系统正常运行 | 1.上传超大文件 | 提示文件过大 | | [Pass]/[Fail] |

## 4. OQ 测试结果统计 / OQ Test Results Summary

### 4.1 测试结果汇总 / Results Summary

| 测试类别 | 总用例数 | 通过 | 失败 | 通过率 |
|---------|---------|------|------|-------|
| 用户管理 | 12 | | | |
| 认证授权 | 11 | | | |
| 审计追踪 | 12 | | | |
| 数据管理 | 16 | | | |
| 接口功能 | 6 | | | |
| 边界测试 | 6 | | | |
| 错误处理 | 4 | | | |
| **总计** | | | | |

### 4.2 缺陷统计 / Defect Statistics

| 严重级别 | 数量 | 已关闭 | 关闭率 |
|---------|------|-------|-------|
| 严重 / Critical | | | |
| 重大 / Major | | | |
| 轻微 / Minor | | | |

## 5. 偏差记录 / Deviation Records

| 偏差编号 | 测试用例 | 描述 | 影响评估 | 纠正措施 | 状态 | 关闭日期 |
|---------|---------|------|---------|---------|------|---------|
| OQ-DEV-001 | | | | | Open/Closed | |

## 6. 结论 / Conclusion

### 6.1 OQ 结论 / OQ Conclusion

| 项目 | 结果 |
|------|------|
| OQ 测试完成日期 | |
| OQ 测试结果 | [Pass]/[Fail]/[Conditional Pass] |
| 总测试用例数 | |
| 通过用例数 | |
| 失败用例数 | |
| 通过率 | |

### 6.2 后续行动 / Next Actions

| 行动 | 负责方 | 计划日期 |
|------|-------|---------|
| | | |

### 6.3 最终结论 / Final Conclusion

- [ ] 系统功能符合URS和FS要求
- [ ] 认证授权功能正常
- [ ] 审计追踪功能完整
- [ ] 数据管理功能正确
- [ ] 错误处理机制有效
- [ ] 所有偏差已关闭或在案

**结论: 系统 [可以/不可以] 进入 PQ 阶段**

## 7. 批准 / Approval

| 角色 / Role | 签名 / Signature | 日期 / Date |
|-------------|-----------------|-------------|
| 测试工程师 / Test Engineer | | |
| 系统负责人 / System Owner | | |
| IT 负责人 / IT Lead | | |
| QA 审核员 / QA Reviewer | | |
| QA 批准人 / QA Approver | | |
