5.2 KiB
5.2 KiB
RailwaySystem 三角色端到端验收方案设计 (E2E-R2 Acceptance Plan)
- 设计版本: R.2A Design Freeze
- 设计日期: 2026-09-15
- 核心目标: 全面规划未来在 R.2B 实现落地后,用于终审验收的三角色(Admin, Teacher, Student)全链路端到端自动化与人工验收方案。
1. 验收环境与前置准备
- 部署环境: 生产环境或预发布环境(KingbaseES V009R003C018 数据库已执行
004_...sql与005_...sql)。 - 统一访问入口:
http://192.168.139.230:8082/login。 - 命名空间约定: 验收专用账号统一带有前缀
R2_(如R2_admin,R2_teacher_wang,R2_student_zhang)。
2. 五阶段端到端全流程验收矩阵 (Stages A ~ E)
2.1 Stage A: 管理员建档与账号分配 (Admin Operations)
- 用例编号:
E2E-R2-A01~A04 - 执行角色:
train_admin(培训管理员) 或超级管理员 - 操作步骤:
- 登录系统,进入【师资队伍管理】,新增教师
R2_王老师,勾选【同时开通登录账号】,设置账号r2_teacher,初始密码Railway@2026。 - 进入【学员档案管理】,新增学员
R2_张三与R2_李四,分别开通账号r2_student_01与r2_student_02。 - 创建培训计划《R2_高速铁路综合运维实训班》,完成课程绑定与批量分班入班。
- 编排课次并分配
R2_王老师担任授课教师。
- 登录系统,进入【师资队伍管理】,新增教师
- 验收断言:
train_teacher.user_id与train_student.user_id成功写入,非 NULL。sys_user_role正确关联train_teacher(role_id=4) 与train_student(role_id=5)。
2.2 Stage B: 教师独立工作台与数据隔离 (Teacher Experience)
- 用例编号:
E2E-R2-B01~B05 - 执行角色:
r2_teacher(教师身份) - 操作步骤:
- 使用
r2_teacher登录统一登录页。 - 验证动态 Landing:自动重定向至教师工作台
/train/teacher/dashboard。 - 查验侧边栏:仅包含【教师工作台】、【我的授课日程】、【任教班级学员】,绝无任何系统管理、全量计划维护、场地配置等管理菜单。
- 查验日历看板:仅显示本人被排课的课次,不显示其他教师课次。
- 查验学员花名册:仅显示自己所带班级的学员名单,且身份证号自动脱敏(后四位)。
- 安全渗透测试 (IDOR 越权拦截):
- 尝试直接访问管理端接口
GET /train/student/list-> 预期返回403 Forbidden。 - 尝试访问他人课次详情
GET /train/timetable/lesson/999-> 预期返回403/404拒止。
- 尝试直接访问管理端接口
- 使用
- 验收判定: 教师功能闭环完整,菜单受限严格,横向越权拦截率 100%。
2.3 Stage C: 学员个人中心与隐私隔离 (Student Experience)
- 用例编号:
E2E-R2-C01~C06 - 执行角色:
r2_student_01(学员张三) - 操作步骤:
- 使用
r2_student_01登录系统。 - 验证动态 Landing:自动重定向至学员个人培训中心
/train/student/portal。 - 查验侧边栏:仅出现【我的培训】、【我的课表】、【我的报到】、【我的考勤打卡】。
- 查验个人信息:显示张三本人档案,状态为
待报到 (0)。 - 查验课表:仅显示张三所在班级的课程日程。
- 安全渗透测试 (IDOR 越权拦截):
- 尝试在 DevTools 中将查询参数篡改为李四的 ID:
GET /train/student/{lisi_id}-> 预期返回403 Forbidden。 - 尝试提交带有他人 ID 的打卡请求 -> 预期后端强制校验登录人身份,返回
403/400拒止。 - 查验个人画像与学时:完全只加载张三本人的成长数据。
- 尝试在 DevTools 中将查询参数篡改为李四的 ID:
- 使用
- 验收判定: 学员视角清晰,个人隐私高度受保护,无法读取或篡改其他学员信息。
2.4 Stage D: 注册入口安全受控策略核验 (Registration Policy)
- 用例编号:
E2E-R2-D01~D02 - 执行角色: 匿名外部访客
- 操作步骤:
- 浏览器打开
/login登录页,肉眼核验页面无任何“立即注册”链接或按钮。 - 核验登录卡片下方是否清晰呈现受控提示:“账号由培训管理部门统一创建与授权维护”。
- 自动化发起网络探测请求
POST /register:- 预期返回状态码
200,业务响应{"code": 500, "msg": "当前系统没有开启注册功能!"}。
- 预期返回状态码
- 浏览器打开
- 验收判定: 注册入口彻底隐藏,受控拦截坚固有效。
2.5 Stage E: 管理端全流程业务无损回归 (Admin Regression)
- 用例编号:
E2E-R2-E01~E30 - 执行角色:
admin/train_admin - 操作步骤:
- 全量重新执行 E2E-R1 的 30 个标准业务用例(师资、学员、课程、场地、计划、双课次 Soft Warning 确认保存、硬阻断、报到、打卡、签退时间冻结、人工修正迟到、状态联动归档、操作日志)。
- 验收判定: 30 个核心管理端用例全部 100% 通过,无任何功能损伤或回归缺陷。
3. 验收通过标准 (Exit Criteria)
TOTAL_R2_CASES = 48PASSED_R2_CASES = 48 (100%)FAILED_CASES = 0IDOR_LEAK_COUNT = 0 (全站零越权数据泄露)ADMIN_REGRESSION_PASS_RATE = 100%