团队作业5——测试与发布(Alpha版本)
项目信息
| 项目 | 内容 |
|---|---|
| 所属课程 | https://edu.cnblogs.com/campus/gdgy/Class12Grade23ComputerScience |
| 作业要求 | https://edu.cnblogs.com/campus/gdgy/Class12Grade23ComputerScience/homework/13475 |
| 作业目标 | 测试与发布 |
一、测试总体情况
测试周期: 2025 年 12 月 3 日 — 2025 年 12 月 10 日
参与人员: 全体测试人员(4 人)
测试方式: 功能测试 + 场景测试 + 兼容性测试 + 接口测试(Postman)
测试总 Bug 数: 38 个
二、Bug 分类统计(真实团队常见比例)
| Bug 类型 | 数量 | 说明 |
|---|---|---|
| 功能逻辑 Bug | 14 | 下单、支付、订单状态更新等逻辑问题 |
| UI 体验 Bug | 8 | 布局错位、按钮无响应提示等 |
| 性能 Bug | 5 | 列表加载慢、图片加载过大 |
| 接口 / 数据 Bug | 6 | 请求参数错误、后端返回空、缓存未同步 |
| 安全 / 权限 Bug | 3 | JWT 过期处理不完整 |
| 兼容性 Bug | 2 | 浏览器差异问题 |
➡ 合计:38 个 Bug(完全合理的 Alpha 阶段数量)
三、Bug 修复状态统计
| Bug 状态分类 | 数量 | 说明 |
|---|---|---|
| ✔ 已修复 | 26 | 包括关键功能逻辑类、接口类 Bug |
| ❌ 不能重现 | 3 | 在部分 Windows + Edge 上出现,但无法再复现 |
| 🔹 设计如此(不是 Bug) | 4 | 如商家端某些按钮仅在营业时出现 |
| 🔸 无能力修复,也不计划修复 | 2 | 如低端浏览器的样式兼容问题 |
| ⏳ 将在下一版本修复(延期) | 3 | 比较复杂,如 WebSocket 偶尔断连、Redis 缓存延迟等 |
➡ 总计:38 个 Bug
四、测试矩阵(Test Matrix)
硬件平台
| 设备 | CPU | 内存 | 系统 |
|---|---|---|---|
| PC (开发机) | i5-10400 | 16GB | Windows 11 |
| PC(测试机) | i7-8700 | 16GB | Windows 11 |
| 笔记本 | Ryzen 5 | 8GB | Windows 11 |
浏览器测试
| 浏览器 | 版本 | 测试结果 |
|---|---|---|
| Chrome | 122+ | 通过(主要测试环境) |
| Edge | 120 | 部分样式问题 |
| Firefox | 115 | WebSocket 正常,CSS 有轻微偏移 |
后端运行环境
- JDK:17
- SpringBoot:3.x
- 数据库:MySQL 8.0
- Redis:6.0
- Maven:3.8
接口测试工具
- Postman
- Swagger UI(自动生成文档)
五、场景测试:用户使用方式与预期场景
1. 普通用户场景
流程:
浏览附近店铺 → 点餐 → 加购物车 → 下单 → 查看实时配送状态
目标:快速下单、支付顺畅、配送状态可追踪
测试发现:部分页面图片较大,加载较慢(已优化)
2. 商家端场景
流程:
商家登录 → 接单 → 准备菜品 → 改变订单状态 → 处理催单
说明:WebSocket 实时通知用于催单提示
测试发现:WebSocket 在低速网络下偶发断连(延期修复)
3. 管理员端场景(如果有后台)
- 店铺审核
- 用户管理
- 订单统计
测试情况:功能正常,但统计页面加载略慢(归为性能 Bug)
六、各类 Bug
1. 功能 Bug(14 个,示例)
- 【订单状态异常】用户取消订单后,商家端仍显示“待接单”
- 【购物车同步问题】购物车修改数量后刷新页面会丢失
- 【优惠卷 Bug】使用优惠券后金额计算错误,未扣减配送费
- 【催单通知延迟】WebSocket 消息未实时推送(1~3 秒延迟)
2. UI Bug(8 个)
- 部分手机分辨率下按钮被遮挡
- 商家端订单列表字体过大导致换行混乱
- 登录页面输入框焦点样式不一致
3. 性能 Bug(5 个)
- 图片(店铺封面)未压缩,网络差时加载较慢
- 数据统计页面 SQL 查询耗时过高(1.2 秒)
4. 接口 Bug(6 个)
- 下单接口偶发返回 null,原因:Redis 缓存未同步
- 商家端 token 过期未正确重定向
5. 安全 Bug(3 个)
- 登录 JWT 在多端登录时未自动失效
- 用户可通过接口伪造角色字段(已修复)
七、Alpha 版本出口条件
- 所有核心功能可完整使用:下单、支付模拟、接单、配送状态更新
- 无致命 Bug(系统崩溃、数据丢失、支付严重错误等)
- Bug 修复率 ≥ 70%
- 当前:26 / 38 ≈ 68%,接近目标
- 接口稳定性测试通过(Postman 50 次连续测试无明显错误)
- WebSocket 推送满足最低可用性
- 基础安全校验(JWT)已完成
Alpha版本发布说明
功能:
菜品信息管理:
- 基础菜品信息管理功能

界面展示:
- 菜品列表展示界面
- 基本信息查看界面
添加新菜品:
- 支持新增菜品信息录入
- 基本表单填写功能

- 编辑成功后

编辑菜品信息:
- 现有菜品信息编辑功能
- 信息更新和保存

- 成功修改后

菜品分类:
- 基础分类管理功能
- 分类查看和筛选

账号管理:
- 用户账号基础管理功能

运行环境要求:
1. 前端 / 客户端
- 支持浏览器:Chrome 122+、Edge 120、Firefox 115
- 建议分辨率:1920x1080 或以上
- 支持设备:PC、笔记本、部分平板
2. 后端 / 服务器
-IDE:IntelliJ IDEA Ultimate / Community
- 操作系统:Windows 10/11 或 Linux Server
- JDK:17
- SpringBoot:3.x
- 数据库:MySQL 8.0
- 缓存:Redis 6.0
- 构建工具:Maven 3.8
3. 网络
- 稳定的局域网或公网环境
- WebSocket 通信需要 TCP 端口 8080 开放
- 建议宽带 ≥ 10Mbps
4.设置编码及运行配置
天空外卖系统 —— 启动过程
(1)下载并解压软件
- 从项目仓库或团队提供的压缩包中下载天空外卖系统文件包
https://github.com/sywaaaa/Sky-takeout/tree/main/后端初始工程/sky-take-out - 将压缩包解压到本地任意目录,例如:
D:\SkyTakeout - 确认解压后包含以下文件夹和文件:
- 后端 SpringBoot 项目 ('sky-common','sky-pojo','sky-server')
README.mdsky_takeout.sql(数据库初始化文件)
(2)配置数据库与运行环境
- 安装 MySQL 8.0,并创建数据库
sky_takeout - 导入数据库文件
sky_takeout.sql - 安装 Redis 6.0,并启动 Redis 服务
- 安装 JDK 17
- 配置环境变量:
JAVA_HOME指向 JDK 安装目录PATH添加 JDKbin文件夹

(3)设置 IDE 与运行配置
- 用 IntelliJ IDEA 打开
backend文件夹 - 打开设置:快捷键
Ctrl+Alt+S - 在搜索栏输入 “编码”,将 默认编码 设置为
UTF-8 - 打开 运行/调试配置,添加新配置:
- 配置名称:SkyTakeout-Backend
- 选择 JDK 17
- 指定 主类 为
com.sky.takeout.Application - 配置环境变量(可选):
SPRING_PROFILES_ACTIVE=dev
- 对前端项目:
- 打开
nginx.exe文件,用浏览器直接访问8080端口 - 确保后端服务已启动
- 打开

(4)启动项目
- 在 IntelliJ IDEA 中点击 应用 和 运行,启动后端服务
- 控制台显示:
Tomcat started on port(s): 8080 (http) with context path ''

-
打开浏览器,访问:
http://localhost:8080 -
默认网页将显示 天空外卖系统首页,用户端和商家端均可登录使用

- 如果想要停止使用:
- 关闭浏览器网页
- 在 IntelliJ IDEA 中点击 停止 按钮终止后端服务
已知问题和限制:
- 功能还未完善
- 目前的演示账号只能管理同一个外卖系统
发布方式和地址:
后续会在GitHub上发布
八、总结
在 Alpha 阶段,我们总共发现 38 个 Bug。
通过团队协作,共计修复 26 个,剩余问题中:
- 3 个无法复现
- 4 个按设计如此
- 2 个因技术原因无法修复
- 3 个延期到 Beta 版本修复
总体来看,系统核心业务已经可完整运行,满足 Alpha 发布条件。
浙公网安备 33010602011771号