Skip to content

测试策略

1. 目标

  • 保证课程大作业主链路可稳定演示。
  • 在正式验收前发现阻断性问题,而不是在答辩现场发现。
  • 为测试报告提供结构化测试范围、判定口径和残留风险分类。
  • 区分功能验收与压力 / 容量验收,避免用功能通过结论替代容量结论。

2. 测试分层

层级重点
单元测试状态流转、分数计算、权限判断、截止时间规则
接口测试认证、课程、任务、提交、成绩、通知
集成测试提交到评测、批改到成绩发布、导入到审计
冒烟测试演示账号、演示数据、关键页面和关键链路
压力与容量测试读请求、写提交、评测队列、真实 go-judge、文件、通知、SSE、Web 终端、soak 稳定性

3. 必测主链路

  1. 登录
  2. 建课 / 选课
  3. 发布作业或实验
  4. 学生提交
  5. 自动评测
  6. 教师批改
  7. 成绩发布

4. 高风险专项

  • 越权访问与角色隔离
  • 超时、超次数、超大小提交
  • 判题失败、超时和重评
  • 成绩撤回与重新发布
  • 审计日志与导出权限
  • 500/1000 并发读请求长尾
  • 真实 go-judge 提交和报告下载
  • Kubernetes Web 终端连接、重连、重置和停止清理
  • SSE 长连接保持、文件上传下载、对象存储权限负例
  • 30 分钟以上混合流量 soak

5. 压力测试判定

判定项通过口径
读请求记录最高已测并发、错误率、5xx、P95/P99;若长尾较高,写明已测容量和待优化范围
写提交正式提交和附件写入无 5xx,不因压测误触发业务限流
评测评测轮询、真实 go-judge sample-run、正式提交、报告下载和重评进入稳定终态
文件记录上传、下载、完整性、权限负例和对象存储指标的已测范围;未执行项写“未测”
通知分别记录轮询和 SSE 的最高已测并发与保持时长
Web 终端记录 Kubernetes 会话初连、命令 I/O、重连、重置、停止清理和资源观测的已测范围
Soak记录混合流量最高已测时长、并发、错误率、5xx、资源使用和健康检查

压力测试报告使用“最高已测容量 / 未测 / 待优化”表达:未执行的压力专项写“未测”,已经执行但长尾或资源观测不足的专项写“待优化”,不默认声明超出实测范围的容量。

6. 输出物

  • 测试用例
  • 测试结果
  • 缺陷清单
  • 回归记录
  • 压力测试摘要
  • 关键截图与日志证据摘要