团队作业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版本:

  1. 核心功能测试用例通过率 100%(56/56),所有发现的Bug均已修复;
  2. 四类角色权限边界清晰,无越权操作风险;
  3. 云服务器与本地部署环境均能正常运行,关键流程(登录、课程管理、数据存储)无异常;
  4. 部署文档完整,按步骤可成功搭建运行环境。

二、Alpha版本发布说明

1. 本版本核心功能

基于角色权限的功能划分如下:

角色 可使用功能
所有用户 1. 登录(带图形验证码)
2. 首页热门课程浏览(基于Redis浏览量前8名)
3. 个人中心(修改基础信息、密码)
4. 课程搜索与筛选
学生 查看已授权课程详情(课程信息、目录)
教师 查看课程详情,无管理权限
课程管理员 包含所有用户功能 + 课程创建/编辑/删除、课程目录增删改查、学校/班级增删改查
超级管理员 包含课程管理员功能 + 用户增删改查、课程许可配置、学习对象管理、课程科目管理、角色权限配置(接口鉴权控制)

2. 本版本修复的缺陷

  1. 完善课程及课程详情页的增删改查界面,优化交互逻辑与视觉呈现;
  2. 修复云端部署时的跨域问题,通过后端CORS配置允许前端正常请求;
  3. 解决课程封面上传后无法获取的问题,统一使用nginx代理静态资源路径;
  4. 修正云端部署后部分前端请求路径异常,统一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)云服务器部署

  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配置(参考附件)。
  2. 数据导入

    • MySQL:创建cloud_classroom数据库,导入指定.sql文件;
    • Redis:创建Sorted Set类型的CourseClick,添加course表主键id作为Member;
    • Nginx:刷新配置(nginx -s reload)。
  3. 项目部署

    • 前后端项目存放于/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)本地部署

  1. 环境要求:本地运行MySQL、Redis,安装IntelliJ IDEA;
  2. 数据导入:同云服务器(无需配置Nginx);
  3. 项目运行:从GitHub克隆tempSfTeam/SfWork,IDEA打开后选择local环境的yml配置,运行ClassToolApplication

5. 已知问题和限制

  1. Redis课程浏览量异常处理不足:若Redis数据缺失(如事务异常或初始化未完全导入),会导致listByProfessionId接口异常;
  2. 前端页面可见性固定:虽后端有动态权限设置,但前端操作按钮的可见性未实时关联角色权限表(需结合缓存优化);
  3. 云服务器内存限制:当前服务器内存不足,连续运行数天后可能因内存溢出宕机,需及时重启(无法连接时联系管理员)。

6. 发布信息

  • 发布方式:云服务器部署(Nginx + JDK + MySQL + Redis);
  • 源码地址tempSfTeam/SfWork
  • Web访问地址SfWork
  • 测试账号
    • 教师:0d01(密码:Abc123
    • 课程管理员:0d02(密码:Abc123
    • 超级管理员:0d03(密码:Abc123
    • 学生账号:由超级管理员在系统内创建。
posted @ 2025-12-15 18:19  WAR-DEVIL  阅读(0)  评论(0)    收藏  举报