Files
railwaysystem/docs/reports/browser-acceptance-report.md
T

108 lines
6.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# RailwaySystem 端到端浏览器自动化验收报告
> **文档定位**:记录基于 Playwright 的真实前端界面全流程交互、端到端用户路径及跨模块联动验收结果。
> **基线版本**:Final Candidate `5a49b2e2988bf23ca2a70568264c05b24dfda1b6` (`origin/feat/cicd-pipeline`)
> **执行状态**:✅ **FINAL_BROWSER_ACCEPTANCE = PASS**
> **Swagger 接口平台状态**:✅ **PASS** *(系统工具 → 系统接口,v3/api-docs=200,swagger-resources=200)*
> **HTTP 500 异常**:**0** | **Console 阻断错误**:**0**
---
## 1. 验收测试目标与用例矩阵实测结果
本验收套件模拟真实教务员、任课教师及学员在现代浏览器中的实际交互操作,覆盖以下核心验收阶段,全部通过验证:
```mermaid
flowchart TD
subgraph Phase1["阶段一:系统鉴权与档案"]
TC1["TC-E2E-01: 管理员登录与鉴权 (PASS)"]
TC2["TC-E2E-02: 基础教务档案录入 (PASS)"]
TC1 --> TC2
end
subgraph Phase2["阶段二:教务编排与名单"]
TC3["TC-E2E-03: 计划拟定与课程绑定 (PASS)"]
TC4["TC-E2E-04: 名单导入与报到动作 (PASS)"]
TC5["TC-E2E-05: 排课与四维冲突拦截 (PASS)"]
TC2 --> TC3
TC3 --> TC4
TC3 --> TC5
end
subgraph Phase3["阶段三:现场物联与审计"]
TC6["TC-E2E-06: 考勤花名册与班牌交互 (PASS)"]
TC7["TC-E2E-07: 统计分析与画像只读 (PASS)"]
TC8["TC-E2E-08: 系统工具与操作日志审计 (PASS)"]
TC4 --> TC6
TC5 --> TC6
TC6 --> TC7
TC7 --> TC8
end
```
| 验收阶段编号 | 验收场景与核心交互路径 | 实测结果 | 关键检查点 |
| :---: | :--- | :---: | :--- |
| **TC-E2E-01** | 系统管理与管理员登录流程 (含验证码与菜单权限加载) | ✅ **PASS** | 验证码刷新、Token 存储、`sys_menu` 路由动态加载 |
| **TC-E2E-02** | 基础教务档案录入 (教师/学员/教室/场地表单与列表渲染) | ✅ **PASS** | 教师手机号唯一、学员身份证掩码脱敏(后4位) |
| **TC-E2E-03** | 开班计划拟定与课程师资绑定 (计划生命周期流转) | ✅ **PASS** | 32位UUID主键、初始状态 0:草稿、学时自动联动 |
| **TC-E2E-04** | 参训名单批量导入与报到动作 (Enrollment 面板交互) | ✅ **PASS** | 实际调用 `/report` 接口 200 OK,待报到 → 已报到 |
| **TC-E2E-05** | 可视化课表排课与四维冲突弹窗拦截 (Timetable 交互) | ✅ **PASS** | Warning Cancel/Confirm 均正常,无 force 违规旁路 |
| **TC-E2E-06** | 课次考勤花名册与电子班牌呈现 (Board 交互) | ✅ **PASS** | 前端路由 `/equip/board` 正常渲染,代签 manual_flag |
| **TC-E2E-07** | 统计分析与画像只读报表 (Analytics Read Only 交互) | ✅ **PASS** | 报到、考勤、学时、画像报表只读查询与导出 |
| **TC-E2E-08** | 系统工具与操作日志审计留痕 (OperLog 校验) | ✅ **PASS** | 表单构建、代码生成、系统接口正常可见,日志落库 |
---
## 2. 核心模块真实验收客观记录
### 2.1 Swagger 接口平台在线验收
* **验收结论**:`PASS`
* **真实系统入口**:`系统工具 → 系统接口`
* **接口服务探测**:Swagger UI 正常渲染,`v3/api-docs` 返回 200,`swagger-resources` 返回 200,无 502 坏网关,无死链。
### 2.2 基础主数据模块 (Master Data)
* **Teacher**:`PASS`(教师档案增删改查、手机号唯一性校验)
* **Student**:`PASS`(学员建档、脱敏掩码显示、状态正常)
* **Classroom**:`PASS`(理论教室容量、门牌与状态管理)
* **Site**:`PASS`(实训场地类型、容量与占用管理)
### 2.3 教务核心业务 (Business)
* **Plan**:`PASS`(32位UUID计划拟定、生命周期状态初始为 0:草稿)
* **PlanCourse**:`PASS`(课程绑定、教师关联、学时自动联动计算)
* **Enrollment**:`PASS`(参训入班、容量校验、初始 0:待报到)
### 2.4 开班报到核验 (Report Confirm)
* **验收结论**:`PASS`
* **实际调用验证**:`POST /train/enrollments/{enrollmentId}/report` 返回 200 OK,学员状态由 `待报到 (0)` 成功流转为 `已报到 (1)`。
* **术语与界面说明**:前端菜单显示为 `UI_MENU_LABEL = 开班签到`,业务模型与契约术语为 `BUSINESS_TERM = 开班报到`。
### 2.5 排课与四维冲突处理 (Scheduling)
* **Warning 取消交互**:`Warning Cancel = PASS`(取消后保持原排课状态不变)
* **Warning 确认保存交互**:`Warning Confirm/Save = PASS`(用户确认后成功入库,未破坏时间唯一性不变量)
* **合规要求**:排课业务逻辑中严格禁止且未出现 `force`、`ignoreConflict`、`overrideConflict` 旁路违规参数。
* **课次详情查询**:`Lesson detail GET: NOT CALLED`(遵循契约规范,不发起多余查询)。
### 2.6 电子班牌 (Board)
* **验收结论**:`PASS`
* **正式前端路由**:`BOARD_FRONTEND_ROUTE = /equip/board`(菜单路径:教学设施 → 电子班牌;后端对应 API 路由为 `/train/board`)。
### 2.7 统计分析与学员画像 (Analytics)
* **报到统计 (Report Analytics)**:`PASS / Read Only`
* **考勤统计 (Checkin Analytics)**:`PASS / Read Only`
* **学时完成度 (Duration)**:`PASS / Read Only`
* **学员多维画像 (Portrait)**:`PASS / Read Only`
### 2.8 运维与系统工具 (OperLog & System Tools)
* **操作日志 (OperLog)**:`PASS`(所有写操作审计日志落库完整)
* **系统工具可见项**:实际可见「表单构建」、「代码生成」、「系统接口」
* **角色分配管理**:`RBAC_ROLE_ASSIGNMENT: ENVIRONMENT_CONFIGURATION`
* **数据保留策略**:`Browser acceptance created/changed data: KEEP_FOR_AUDIT`(浏览器验收过程中产生及流转的数据全量保留用于审计追溯,文档阶段不执行清理)。
---
## 4. 技术参考链接 (Technical References)
* 综合测试报告:[final-test-report.md](final-test-report.md)
* 核心业务测试矩阵:[docs/_meta/core-business-test-matrix.md](../_meta/core-business-test-matrix.md)
* 业务主链规范:[docs/handbook/02-business-process.md](../handbook/02-business-process.md)