团队作业5——测试与发布(Alpha版本)
团队作业5——测试与发布(Alpha版本)
| 这个作业属于哪个课程 | 班级链接 |
|---|---|
| 这个作业要求在哪里 | 作业要求 |
| 这个作业的目标 | < 验证核心预约功能是否可用、界面交互是否正常以及数据库与后端服务的稳定性,为系统迭代奠定基础> |
一、Alpha版本测试报告
一、测试概述
1. 测试依据:
《在线考试系统需求规格说明书》
《系统设计文档》
功能模块划分表(用户认证、学科管理、题库管理等)
2. 测试范围:
本次测试针对Alpha版本的核心业务流程,覆盖了:
功能测试:用户注册、登录、学科/题库/试卷的增删改查、在线考试、自动判分、成绩查询。
界面测试:页面布局、交互响应。
兼容性测试:主流浏览器。
核心场景测试:模拟学生和教师用户的完整使用流程。
Bug统计与分析
| 类别/状态 | Bug数量 | 占比 | 具体说明与示例 |
|---|---|---|---|
| 修复的Bug | 18 | 78.3% | 已确认并修复的缺陷。 |
| 不能重现的Bug | 2 | 8.7% | 如“特定浏览器偶发登录页面元素错位”,开发团队无法稳定复现,暂时关闭。 |
| 设计如此,不是Bug | 1 | 4.3% | 如“试卷列表未提供批量删除功能”。经确认为本期设计,已记录为需求优化点。 |
| 无能力/不修复 | 0 | 0% | 本期暂无此类Bug。 |
| 延迟修复的Bug | 2 | 8.7% | 【示例1】:试卷导出为Word时,复杂公式格式偶有丢失。影响小,修复成本高,延期。 【示例2】:考试倒计时在浏览器最小化超过10分钟后误差超过30秒。需重构计时逻辑,延期。 |
详细Bug类别说明
3. 修复的Bug (18个)
| 严重等级 | 数量 | 典型示例 | 修复状态 |
|---|---|---|---|
| 致命 (P0) | 2 | #01 - 提交考试时偶发数据丢失 #15 - 教师删除试卷后关联题目也被误删 |
已修复 |
| 严重 (P1) | 6 | #05 - 多选题判分逻辑错误 #12 - 考试倒计时提前结束 #18 - 学科列表分页失效 |
已修复 |
| 一般 (P2) | 8 | #07 - 登录页面记住密码功能异常 #21 - 题目编辑时选项顺序错乱 #29 - 移动端部分按钮点击区域过小 |
已修复 |
| 轻微 (P3) | 2 | #35 - 控制台存在无害的警告日志 #42 - 页面标题显示不完整 |
已修复 |
** 4. 不能重现的Bug (2个)**
| Bug ID | 问题描述 | 复现环境 | 处理结果 |
|---|---|---|---|
| #08 | 特定网络环境下图片上传失败 | Windows 11 + Chrome 120 | 无法稳定复现,关闭 |
| #25 | 连续快速切换页面时偶现白屏 | macOS + Safari 17 | 无法稳定复现,关闭 |
5. 设计如此,不是Bug (1个)
| Bug ID | 报告问题 | 设计说明 | 状态 |
|---|---|---|---|
| #02 | 试卷列表无批量删除功能 | Alpha版本设计为单条操作,已记录为Beta版本优化需求 | 关闭,非Bug |
6. 延迟修复的Bug (2个)
| Bug ID | 问题描述 | 严重等级 | 延迟原因 | 计划修复版本 |
|---|---|---|---|---|
| #19 | 试卷导出为Word时复杂公式格式丢失 | P2 | 第三方库限制,修复成本高,影响面小 | Beta 1.0 |
| #30 | 浏览器最小化超过10分钟,考试倒计时误差>30秒 | P2 | 需重构前端计时机制,工作量大 | Beta 1.0 |
7. 场景测试(scenario testing)
场景测试目标:验证不同用户在真实业务场景下,软件核心功能的流程完整性与体验流畅性,覆盖“高频常规场景+边缘异常场景”。
| 场景编号 | 用户角色 | 业务背景 | 操作流程 | 涉及功能模块 | 测试结果 |
|---|---|---|---|---|---|
| S01 | 大三学生(小李) | 需在宿舍完成《软件工程》期末在线考试,考试中途需接电话(临时切屏) | 1. 登录系统→2. 进入“我的考试”查看待考列表→3. 点击《软件工程》考试进入答题页→4. 答题15分钟后切屏接电话(累计切屏2次)→5. 切回页面继续答题→6. 考试结束前5分钟提交试卷→7. 查看客观题得分 | 用户认证、考试执行、断点续考、自动判分 | 核心流程无异常,切屏提醒功能正常,客观题得分实时显示 |
| S02 | 计算机系教师(王老师) | 需为60名学生创建《数据库原理》单元测试卷,要求1小时内完成组卷+发布 | 1. 登录系统→2. 创建学科“数据库原理”→3. 批量导入30道单选/20道多选(Excel模板)→4. 创建试卷(设置考试时间45分钟)→5. 按“题型比例(单选60%/多选40%)”随机组卷→6. 发布考试并发送通知给学生 | 学科管理、题库管理、试卷管理 | 批量导入无格式错误,随机组卷耗时≤2分钟,通知成功触达所有学生 |
| S03 | 系统管理员(阿毛) | 需处理学生“小张”的考试异常申诉(考试中途系统崩溃) | 1. 登录管理后台→2. 进入“考试监控”查看小张的考试记录→3. 核实系统崩溃日志→4. 为小张重置考试权限→5. 通知小张重新参加考试 | 用户管理、考试监控、系统运维 | 异常申诉流程闭环,重置考试权限后数据无冲突 |
| S04 | 补考学生(小王) | 补考《Java编程》时网络波动(4G切换为Wi-Fi) | 1. 登录系统→2. 进入补考页面→3. 答题过程中网络断开3分钟→4. 切换Wi-Fi重连→5. 系统自动恢复上次答题进度→6. 完成答题并提交 | 考试执行、断点续考、数据同步 | 重连后答题进度100%恢复,无答案丢失,提交成功 |
| S05 | 新教师(赵老师) | 首次使用系统创建题库,不熟悉操作流程 | 1. 登录系统→2. 查看“题库管理操作指南”→3. 单题录入5道判断题→4. 测试“题目预览”功能→5. 将题目关联至已有学科 | 题库管理、新手引导 | 操作指南清晰,单题录入无门槛,题目关联成功 |
8. 你预期不同的用户会怎样使用你的软件?
| 用户角色 | 使用路径 | 常用功能模块 | 操作习惯 |
|---|---|---|---|
| 学生 | 登录→我的考试→答题→成绩查询 | 我的考试、答题页面、成绩中心 | 1. 考前10分钟登录系统,优先查看考试通知; 2. 答题时习惯逐题提交(依赖自动保存功能); 3. 考完立即查看客观题得分,主观题得分会每日查看1-2次 |
| 教师 | 登录→学科管理→题库管理→试卷管理→成绩统计 | 学科管理、题库管理、试卷管理、成绩中心 | 1. 组卷前优先批量导入题目(避免单题录入耗时); 2. 发布考试后会实时查看“考生进入人数”; 3. 阅卷时先看客观题成绩,再批量批改主观题 |
| 系统管理员 | 登录→用户管理→考试监控→系统配置 | 用户管理、考试监控、系统配置 | 1. 每日早会查看前一天的系统日志(重点关注崩溃/异常记录); 2. 每周一导出用户统计报表(学生/教师账号数量); 3. 考试高峰期(如期末)每小时检查服务器资源 |
| 临时访客 | 无需登录→系统介绍→考试规则查看 | 公开信息模块 | 1. 通过学校官网链接进入系统; 2. 查看“系统功能介绍”了解在线考试流程; 3. 查看“考试规则”确认作弊处罚条款 |
9. 他们有什么需求和目标?
| 用户角色 | 功能需求 | 非功能需求 | 核心目标 |
|---|---|---|---|
| 学生 | 1. 快速进入考试,避免流程繁琐; 2. 答题过程中答案自动保存,防止数据丢失; 3. 考完可及时查看分数(至少客观题); 4. 补考/缓考可在线申请 |
1. 页面加载时间≤3秒; 2. 手机/电脑端操作逻辑一致; 3. 切屏/断网等异常有明确提醒 |
顺利完成考试,确保成绩准确、流程无阻碍 |
| 教师 | 1. 快速组卷(支持批量导入/随机组卷); 2. 客观题自动判分,减少手动工作量; 3. 成绩可批量导出,支持按知识点统计; 4. 考试过程可监控异常行为(切屏/作弊) |
1. 批量导入题目耗时≤5分钟(100道题); 2. 判分结果准确率≥98%; 3. 统计报表生成时间≤1分钟 |
高效完成组卷、阅卷、统计,降低教学工作量 |
| 系统管理员 | 1. 批量管理用户账号(Excel导入/导出); 2. 实时监控系统状态,及时处理异常; 3. 配置考试规则(如切屏阈值、答题时长); 4. 数据定期备份,防止丢失 |
1. 系统可用性≥99.5%(考试期间); 2. 异常告警响应时间≤5分钟; 3. 数据备份自动化,可追溯30天内记录 |
保障系统稳定运行,及时处理异常,确保数据安全 |
| 临时访客 | 1. 无需登录即可查看系统介绍; 2. 清晰了解考试流程与规则 |
1. 公开页面加载时间≤2秒; 2. 内容简洁易懂,无专业术语 |
快速获取系统信息,明确考试相关规则,无需咨询人工 |
10. 你的软件提供的功能怎么组合起来满足他们的需要?
| 用户角色 | 需求痛点 | 功能组合流程 | 满足效果 |
|---|---|---|---|
| 学生 | 跨校区考试奔波、答题数据易丢失 | 「登录→我的考试→进入考试(自动保存答案)→断点续考→提交试卷→成绩查询」 | 1. 无需线下奔波,宿舍即可完成考试; 2. 断网/切屏等异常下答案不丢失; 3. 考完实时获取客观题成绩 |
| 教师 | 组卷耗时久、手动判分工作量大 | 「学科创建→批量导入题目→随机/手动组卷→发布考试→客观题自动判分→成绩统计导出」 | 1. 组卷时间从“小时级”缩短至“分钟级”; 2. 客观题判分工作量减少100%; 3. 成绩统计一键导出,支持知识点维度分析 |
| 系统管理员 | 异常处理不及时、数据安全风险高 | 「用户批量管理→考试实时监控→异常告警→数据自动备份→系统配置优化」 | 1. 异常处理响应时间从“小时级”缩短至“分钟级”; 2. 数据备份自动化,无丢失风险; 3. 考试高峰期系统稳定性提升90% |
| 临时访客 | 获取信息流程繁琐 | 「无需登录→系统介绍→考试规则查看」 | 1. 1分钟内可了解系统核心功能; 2. 快速明确考试相关规则,无需咨询人工 |
11. 你们在什么样的平台、硬件配置、浏览器类型等条件上对你们的软件进行测试?——测试矩阵(test matrix)
测试维度说明:覆盖“核心用户环境+边缘兼容环境”,共设计36种组合,优先验证核心场景(占比60%)。
| 测试维度 | 可选值 | 核心验证项 |
|---|---|---|
| 操作系统 | Windows 10、Windows 11、macOS 12、CentOS 7 | Windows 10(覆盖60%学生用户)、Windows 11(教师常用) |
| 浏览器 | Chrome 90+、Edge 90+、Firefox 88+、Safari 14+ | Chrome 90+(覆盖70%用户)、Edge 90+ |
| 设备类型 | 笔记本电脑(1920×1080)、台式机(2560×1440)、手机(iOS 13+/Android 10+) | 笔记本电脑(1920×1080)、手机(iOS 15) |
| 网络环境 | 局域网(100Mbps)、4G(10Mbps)、ADSL(2Mbps)、弱网(500Kbps) | 局域网(100Mbps)、4G(10Mbps) |
| 用户角色 | 学生、教师、管理员 | 学生、教师 |
核心测试组合及结果
| 组合编号 | 操作系统 | 浏览器 | 设备类型 | 网络环境 | 用户角色 | 测试结果 |
|---|---|---|---|---|---|---|
| C01 | Windows 10 | Chrome 90+ | 笔记本(1920×1080) | 局域网 | 学生 | 全功能正常,页面加载≤2秒 |
| C02 | Windows 11 | Edge 90+ | 笔记本(1920×1080) | 局域网 | 教师 | 批量导入、组卷功能无异常 |
| C03 | iOS 15 | Safari 15 | 手机 | 4G | 学生 | 答题页面适配正常,断点续考功能有效 |
| C04 | Windows 10 | Chrome 90+ | 笔记本(1920×1080) | 4G | 学生 | 答题数据同步无延迟 |
兼容性问题分布
| 问题场景 | 涉及组合 | 问题描述 | 处理方式 |
|---|---|---|---|
| Firefox浏览器 | Windows 10 + Firefox 88+ + 笔记本 | 题目拖拽排序动画卡顿 | 延迟至Beta版本修复 |
| 弱网环境 | Windows 10 + Chrome 90+ + 笔记本 + 弱网 | 答题页面加载延迟至5秒 | 优化资源加载逻辑(已修复) |
| 低分辨率设备 | Windows 10 + Chrome 90+ + 台式机(1366×768) | 考试倒计时遮挡答题选项 | 调整页面布局(已修复) |
12. 你认为你们团队的软件在什么条件下,就可以认定其已经足够好,可以发布Alpha版本?——出口条件(exit criteria)
| 验收维度 | 具体标准 | 验证方式 | 实际达成情况 |
|---|---|---|---|
| 功能测试 | 1. 核心功能测试用例通过率≥95%; 2. 高频场景(如学生考试、教师组卷)用例通过率100% |
通过TestLink统计用例执行结果 | 核心用例通过率96.2%,高频场景通过率100% |
| Bug修复 | 1. 致命(P0)、严重(P1)Bug修复率100%; 2. 一般(P2)Bug修复率≥80% |
通过JIRA统计Bug状态 | P0/P1 Bug修复率100%,P2 Bug修复率85% |
| 性能表现 | 1. 200人并发考试时,单题提交响应时间≤2.5秒; 2. 服务器CPU利用率≤70%、内存利用率≤80%(考试高峰期) |
通过JMeter压测+Grafana监控 | 200人并发时响应时间2.1秒,服务器资源利用率符合要求 |
| 兼容性 | 核心测试组合(C01-C04)通过率100% | 遍历核心组合执行测试 | 核心组合无异常,通过率100% |
| 用户验收 | 3名真实用户(1学生+1教师+1管理员)对核心流程的满意度≥85分(100分制) | 发放用户满意度问卷+现场操作评估 | 平均满意度88分,符合要求 |
| 数据安全 | 1. 用户密码加密存储(MD5+盐值); 2. 考试数据传输采用HTTPS; 3. 无越权访问漏洞 |
通过BurpSuite扫描+人工验证 | 数据加密/传输安全,无越权漏洞 |
二.Alpha版本发布说明
1. 版本功能列表 (Features)
本次发布的 Alpha 版本已完成核心业务闭环,主要包含以下功能模块:
** 前台功能(学生端)**
- 用户服务:支持学生注册、登录(默认测试号
admin也可登录前台)。 - 在线考试:
- 实时作答:支持单选、多选、判断等题型的在线作答。
- 倒计时:考试全程倒计时,时间结束自动交卷。
- 成绩查询:交卷后系统自动判分,学生可查看历史成绩。
** 后台功能(管理员端**)
- 系统管理:包含用户管理、学科管理。
- 题库建设:支持手动录入题目,支持 Excel 导入。
- 试卷发布:管理员可配置试卷规则并发布考试。
2. 缺陷修复 (Fixed Bugs)
在 Alpha 阶段的测试冲刺中,我们重点解决并修复了以下问题:
- [配置] 数据库连接异常:修复了因数据库名称配置不一致(
online-coursevsonline-exam-system)导致的启动报错问题。 - [安全] 越权访问:增加了后台
/manage路径的权限拦截,防止未登录用户直接访问后台。 - [环境] Redis依赖:解决了缺少 Redis 服务导致 Session 无法共享的问题,现在必须先启动 Redis 服务。
** 3. 运行环境要求 (System Requirements)**
为了保证系统稳定运行,请确保您的环境满足以下要求:
- 操作系统:Windows 10 / 11
- JDK版本:JDK 1.8
- 开发工具:IntelliJ IDEA (推荐 2020+ 版本)
- 数据库:MySQL 5.7 或 8.0
- 缓存服务:Redis (必须安装并运行)
- 构建工具:Maven (建议配置阿里云镜像源以加速依赖下载)
** 4. 安装与部署指南 (Installation Guide)**
第一步:获取代码
请访问我们的代码仓库下载源码:
- GitHub/Gitee仓库:https://github.com/wodu-dreamy/online-exam-system
- (下载后请使用 IDEA 选择
Open...→ 打开项目根目录下的pom.xml→Open as Project)
第二步:数据库环境配置
- 启动 MySQL:利用 Navicat 或其他工具连接数据库。
- 创建数据库:
- 重要:请新建一个数据库,命名为
online-course。 - (注意:配置文件中指定了此名称,请务必保持一致)
- 重要:请新建一个数据库,命名为
- 还原数据:
- 运行项目根目录
sql文件夹下的online-exam-system.sql文件,还原表结构和数据。
- 运行项目根目录
第三步:启动 Redis
- 找到项目附件或安装包中的 Redis 文件夹。
- 双击运行
redis-server.exe。 - 看到由字符组成的方形图案界面即表示 Redis 启动成功(请勿关闭此窗口)。
第四步:修改项目配置
打开 IDEA,找到配置文件:\src\main\resources\project.properties,根据您的本地环境修改以下几项:
# 数据库主机地址 (通常为 127.0.0.1)
jdbc.host=127.0.0.1
# 数据库名 (必须与第二步创建的数据库名一致)
jdbc.database=online-course
# 数据库用户名 (您的本地 MySQL 账号)
jdbc.username=root
# 数据库密码 (您的本地 MySQL 密码)
jdbc.password=123456
** 第五步:启动项目**
- 等待 Maven 依赖加载完成。
- 找到
src/main/java下的启动类Application.java(或类似名称),右键点击 Run。 - 当控制台输出启动成功日志后,打开浏览器访问。
- 前台访问地址:
http://localhost:8080 - 后台访问地址:
http://localhost:8080/manage - 通用测试账号:
admin/123456(管理员权限,前后台通用)
5. 已知问题与限制 (Known Issues)
- Maven加载慢:如果 IDEA 加载依赖卡住,请检查 Maven 是否配置了国内阿里云镜像源。
- Redis依赖:如果未启动
redis-server.exe直接运行项目,可能会导致登录功能报错或 Session 失效。 - 浏览器兼容性:建议使用 Chrome 或 Edge 浏览器,IE 浏览器可能存在样式错乱。
浙公网安备 33010602011771号