团队作业5——测试与发布(Alpha版本)
| 这个作业属于哪个课程 | 计科23级34班 (广东工业大学 - 计算机学院) |
|---|---|
| 这个作业要求在哪里 | 团队作业5——测试与发布(Alpha版本) |
| 这个作业的目标 | 撰写Alpha版本测试报告 & Alpha版本发布说明 |
一、Alpha版本测试报告
1. 测试基本信息
| 项目项 | 内容 |
|---|---|
| 项目名称 | 课程管理系统(Cloud Classroom) |
| 测试版本 | Alpha版本 |
| 测试周期 | 2025-12-07 至 2025-12-13 |
| 测试人员 | 廖鸿基 |
| 测试依据 | 《课程管理系统需求清单》《Alpha版本开发文档》《测试用例集V1.0》 |
| 测试范围 | 核心功能模块:登录验证、课程管理、用户权限控制、学校/班级管理等12项功能;部署环境兼容性 |
2. Bug统计与分类
本次测试共执行 56条测试用例,覆盖功能完整性、权限准确性、部署兼容性等场景,累计发现 5个关键Bug,均已修复,具体如下:
| Bug类别 | 数量 | 具体说明(含修复方式) |
|---|---|---|
| 已修复的Bug | 5 | 1. 课程增删改查界面交互不完善(修复:优化表单布局与提交反馈,新增必填项提示) 2. 课程详情页增删改查功能缺失部分按钮(修复:补充管理员/课程管理员可见的操作按钮) 3. 云端部署时跨域请求被拦截(修复:后端添加CORS配置,允许前端域名访问) 4. 课程封面上传后无法正常获取(修复:修正文件存储路径映射,统一使用nginx静态资源代理) 5. 云端部署后部分前端请求路径异常(修复:统一前端API基础路径配置,替换硬编码地址) |
| 其他类别Bug | 0 | 本次测试未发现不能重现、设计预期外或需延迟修复的Bug |
3. 场景测试
针对“学生”“教师”“课程管理员”“超级管理员”四类角色,设计核心场景验证:
-
场景1:学生使用流程
用户行为:通过图形验证码登录 → 浏览首页热门课程(前8名,基于Redis浏览量) → 搜索课程 → 查看课程详情(封面、名称、简介)
验证结果:登录流程正常,热门课程排序符合预期,课程搜索与详情展示无异常 -
场景2:教师使用流程
用户行为:登录 → 进入个人中心修改基础信息 → 浏览课程目录 → 查看已授权课程
验证结果:个人信息修改实时生效,课程目录展示完整,权限内课程可见性正确 -
场景3:课程管理员权限操作
用户行为:登录 → 进入课程搜索页点击“创建课程” → 编辑课程信息(上传封面、填写简介) → 管理课程目录(新增/删除章节) → 操作学校/班级信息(新增班级)
验证结果:所有管理操作(增删改查)均正常执行,界面权限控制符合预期(仅管理员可见操作按钮) -
场景4:超级管理员系统配置
用户行为:登录 → 管理用户(新增学生账号) → 配置角色权限(修改教师角色接口权限) → 管理课程许可(设置某课程对特定班级可见)
验证结果:用户管理、权限配置、课程许可操作均生效,后端接口鉴权逻辑正确
4. 测试矩阵
本次测试覆盖多维度环境,验证系统兼容性:
| 测试维度 | 具体配置项 |
|---|---|
| 硬件环境 | 1. 云服务器:2核4GB内存(部署环境) 2. 本地PC:4核8GB内存(开发测试环境) 3. 笔记本:2核4GB内存(最低配置验证) |
| 操作系统 | 1. 服务器端:CentOS 7.9 2. 客户端:Windows 10/11、macOS 13.0、Ubuntu 22.04 |
| 浏览器类型 | 1. Chrome 121.0.6167.139 2. Edge 120.0.2210.133 3. Firefox 122.0 4. Safari 17.0 |
| 依赖软件版本 | 1. JDK:1.8.0_471 2. MySQL:5.7 3. Redis:6.2.6 4. Nginx:1.20.1 |
| 网络环境 | 1. 有线网络(100Mbps) 2. 无线网络(5G WiFi,30-50Mbps) 3. 移动网络(4G,10-20Mbps) |
5. 出口条件
经验证,系统满足以下条件,同意发布Alpha版本:
- 核心功能测试用例通过率 100%(56/56),所有发现的Bug均已修复;
- 四类角色权限边界清晰,无越权操作风险;
- 云服务器与本地部署环境均能正常运行,关键流程(登录、课程管理、数据存储)无异常;
- 部署文档完整,按步骤可成功搭建运行环境。
二、Alpha版本发布说明
1. 本版本核心功能
基于角色权限的功能划分如下:
| 角色 | 可使用功能 |
|---|---|
| 所有用户 | 1. 登录(带图形验证码) 2. 首页热门课程浏览(基于Redis浏览量前8名) 3. 个人中心(修改基础信息、密码) 4. 课程搜索与筛选 |
| 学生 | 查看已授权课程详情(课程信息、目录) |
| 教师 | 查看课程详情,无管理权限 |
| 课程管理员 | 包含所有用户功能 + 课程创建/编辑/删除、课程目录增删改查、学校/班级增删改查 |
| 超级管理员 | 包含课程管理员功能 + 用户增删改查、课程许可配置、学习对象管理、课程科目管理、角色权限配置(接口鉴权控制) |
2. 本版本修复的缺陷
- 完善课程及课程详情页的增删改查界面,优化交互逻辑与视觉呈现;
- 修复云端部署时的跨域问题,通过后端CORS配置允许前端正常请求;
- 解决课程封面上传后无法获取的问题,统一使用nginx代理静态资源路径;
- 修正云端部署后部分前端请求路径异常,统一API基础路径配置。
3. 运行环境要求
- 硬件要求:内存≥4GB(推荐8GB及以上,避免云服务器长时间运行后内存不足宕机);
- 软件要求:
- 服务器端:JDK 1.8+、MySQL 5.7+、Redis 6.2+、Nginx 1.20+;
- 客户端:Chrome/Edge/Firefox/Safari等主流浏览器(版本≥100);
- 开发环境:IntelliJ IDEA等Java IDE。
4. 安装与部署方式
(1)云服务器部署
-
环境准备
- JDK:下载对应架构的压缩包,解压至
/develop/jdk/8,配置环境变量(JAVA_HOME指向安装路径),执行source /etc/profile生效; - MySQL:通过yum安装,启动并设置开机自启,初始化安全配置,开启3306端口,配置远程连接权限(
UPDATE user SET host='%' WHERE user='root'); - Redis:yum安装后启动,修改配置文件(设置密码
hidesuwa、注释bind 127.0.0.1),开启6379端口; - Nginx:yum安装并设置开机自启,开启80/443端口,修改
nginx.conf配置(参考附件)。
- JDK:下载对应架构的压缩包,解压至
-
数据导入
- MySQL:创建
cloud_classroom数据库,导入指定.sql文件; - Redis:创建Sorted Set类型的
CourseClick,添加course表主键id作为Member; - Nginx:刷新配置(
nginx -s reload)。
- MySQL:创建
-
项目部署
- 前后端项目存放于
/project/cloud_classroom/back; - 启动命令:
nohup java -Xms256m -Xmx1g -jar class_tool-0.0.1-SNAPSHOT.jar --spring.profiles.active=release > logs/stdout.log 2>&1 &; - 停止命令:通过
ss -lntp | grep :8089查找进程id,执行kill pid。
- 前后端项目存放于
(2)本地部署
- 环境要求:本地运行MySQL、Redis,安装IntelliJ IDEA;
- 数据导入:同云服务器(无需配置Nginx);
- 项目运行:从GitHub克隆
tempSfTeam/SfWork,IDEA打开后选择local环境的yml配置,运行ClassToolApplication。
5. 已知问题和限制
- Redis课程浏览量异常处理不足:若Redis数据缺失(如事务异常或初始化未完全导入),会导致
listByProfessionId接口异常; - 前端页面可见性固定:虽后端有动态权限设置,但前端操作按钮的可见性未实时关联角色权限表(需结合缓存优化);
- 云服务器内存限制:当前服务器内存不足,连续运行数天后可能因内存溢出宕机,需及时重启(无法连接时联系管理员)。
6. 发布信息
- 发布方式:云服务器部署(Nginx + JDK + MySQL + Redis);
- 源码地址:tempSfTeam/SfWork;
- Web访问地址:SfWork;
- 测试账号:
- 教师:
0d01(密码:Abc123) - 课程管理员:
0d02(密码:Abc123) - 超级管理员:
0d03(密码:Abc123) - 学生账号:由超级管理员在系统内创建。
- 教师:

浙公网安备 33010602011771号