Files
NextEdu/docs/design/010_qa_test_plan_and_feedback.md
SpecialX f8dfd1dddd docs: 全项目架构审查与文档体系重写
- 全项目逐文件审查: 4 份审计报告(shared/core-business/management/new-modules)
- 重写 004 架构影响地图: 图优先 + 模块依赖图 + 数据流 + 调用链 + 问题分级
- 更新 005 结构化数据: 新增 architectureOverview/moduleDependencyGraph/knownIssues/dbTables 节点
- 更新 006 功能清单: 143 项功能标注实现状态, P0 覆盖率 80%->92%
- 更新 007 差距审计: v2->v3, P0 完成 69%->84%, 新增架构技术债章节
- 更新 001 项目概览: 6 角色/54 权限/26 模块/54 表
- 新增 docs/README.md 文档索引
- 归档 11 份过时文档(002x2/003/designx8) 标注
- 更新 work_log
2026-06-17 21:51:32 +08:00

6.2 KiB
Raw Blame History

⚠️ 已归档文档 本文档是 2026-03-18 的项目全量测试方案与执行反馈。 当前测试体系已演进Vitest 单元/集成 + Playwright E2E + CI 安全扫描),最新 CI 配置详见 004 架构影响地图 的 devops 章节。 保留用于历史参考,不再维护。


项目全量测试方案与执行反馈

日期: 2026-03-18 角色: 首席测试师 范围: src/app 页面路由、src/modules 业务模块、src/app/api 接口路由、工程质量门禁


1. 测试目标

  • 建立一份可复用的全量测试方案,覆盖核心业务与工程质量门禁。
  • 对当前代码库执行可落地的全量检查,输出可追溯反馈。
  • 明确已验证范围、未验证范围、风险与后续建议。

2. 测试对象与覆盖边界

2.1 业务域

  • 认证与会话:登录/注册、会话注入、路由守卫
  • 教师端:工作台、班级、作业、考试、题库、教材
  • 学生端:仪表盘、课程、作业、教材、课表
  • 管理端:学校、年级、班级、部门、学年、洞察
  • 家长端:仪表盘
  • 设置与个人资料

2.2 技术域

  • 页面路由编译与渲染入口(src/app/**/page.tsx
  • API 路由编译与入口(src/app/api/**/route.ts
  • 业务模块(src/modules/**
  • 类型系统与静态检查TypeScript + ESLint
  • 生产构建可通过性Next.js build

2.3 本次可执行边界说明

  • 已执行静态与构建级全量验证lint、typecheck、build
  • 已执行:页面路由与 API 路由清单级覆盖核对(基于代码库现状)。
  • 未执行:依赖真实数据库与外部 AI 服务的端到端交互验证(当前环境未提供专用测试库与固定测试账号)。

3. 测试策略

3.1 质量门禁(必须通过)

  1. ESLint 静态规范检查
  2. TypeScript 类型检查
  3. Next.js 生产构建

3.2 全量覆盖策略(按层)

  1. 路由层:统计并核对全部页面与 API 路由入口文件是否可参与编译
  2. 业务层:通过构建期依赖解析与类型系统覆盖模块间调用链
  3. 集成层:以 next build 验证服务端组件、路由结构、导入关系、打包一致性
  4. 回归层:输出缺口与风险,给出后续补测清单

3.3 通过标准

  • npm run lint 退出码为 0
  • npm run typecheck 退出码为 0
  • npm run build 退出码为 0
  • 无新增阻断级缺陷Blocker/Critical

4. 测试用例总表(主干)

用例ID 级别 用例名称 执行方式 通过标准
QA-GATE-001 P0 代码规范检查 npm run lint 命令成功退出
QA-GATE-002 P0 类型系统检查 npm run typecheck 命令成功退出
QA-GATE-003 P0 生产构建检查 npm run build 构建成功
QA-ROUTE-001 P0 页面路由入口覆盖 路由文件清单核对 页面入口均存在
QA-API-001 P0 API 路由入口覆盖 路由文件清单核对 API 入口均存在

5. 路由覆盖清单(本次统计)

5.1 页面路由入口

  • 共统计 46 个页面入口文件(src/app/**/page.tsx)。
  • 覆盖角色:认证、教师、学生、管理端、家长、通用页面。

5.2 API 路由入口

  • 共统计 4 个 API 入口文件(src/app/api/**/route.ts)。
  • 覆盖接口:authai/chatonboarding/statusonboarding/complete

6. 执行记录与反馈

6.1 执行环境

  • 操作系统Windows
  • 项目目录:E:\Desktop\CICD
  • 包管理器npm

6.2 结果总览

检查项 命令 结果 备注
代码规范 npm run lint 通过 退出码 0
类型检查 npm run typecheck 通过 退出码 0
生产构建 npm run build 通过 退出码 0构建期间出现 baseline-browser-mapping 数据过期提示
接口集成测试 npm run test:integration 通过 3 个测试文件10 条用例通过
E2E 冒烟测试 npm run test:e2e:smoke 通过 本地优先使用系统 Chrome2 条用例通过
E2E 全路由回归 npm run test:e2e:full-routes 通过 38 条用例通过,覆盖静态页面路由守卫与可达性

6.3 缺陷与风险

  • 阻断级缺陷0
  • 严重缺陷0
  • 主要风险:跨角色真实业务数据写入链路仍需测试库与固定账号支撑,当前已完成路由级全覆盖回归。
  • 次要风险:构建日志出现 baseline-browser-mapping 数据过期提示,建议在依赖维护窗口升级该依赖数据包。

6.4 结论

  • 当前代码库在静态检查、类型系统与生产构建三道门禁均通过,可进入下一阶段联调或发布候选流程。
  • 本次已完成企业级测试基线的第一阶段落地集成测试框架、E2E 框架、CI 质量门禁已接入。
  • 本次已完成“代码级全量可构建性 + API 集成验证”并通过,未发现新增回归错误。
  • 若要达到“发布级全链路验收”,仍需补充测试库与固定账号下的完整业务 E2E 场景。

7. 后续补测计划

  • 增加端到端测试Playwright覆盖关键教师流创建考试 → 派发作业 → 提交批改。
  • 增加 API 集成测试(鉴权、参数校验、错误码)。
  • 增加数据层测试(测试库 + 回滚策略)验证查询过滤与 RBAC 边界。

8. 企业级实现落地清单(本次新增)

  • 测试基础设施:
    • 新增 Vitest 配置:vitest.config.ts
    • 新增 Playwright 配置:playwright.config.ts
    • 新增集成测试初始化:tests/setup/integration.setup.ts
  • 集成测试用例:
    • tests/integration/api-ai-chat.route.test.ts
    • tests/integration/api-onboarding-status.route.test.ts
    • tests/integration/api-onboarding-complete.route.test.ts
  • E2E 冒烟用例:
    • tests/e2e/smoke-auth.spec.ts
  • E2E 全路由回归用例:
    • tests/e2e/full-route-regression.spec.ts
  • 工程脚本:
    • package.json 新增 testtest:citest:integrationtest:e2etest:e2e:smoketest:e2e:full-routes
  • CI 门禁:
    • .gitea/workflows/ci.yml 新增 Playwright Chromium 安装、集成测试、E2E 全量回归测试步骤