团队作业5——测试与发布(Alpha版本)
项目测试
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience/homework/13484 |
| 这个作业的目标 | <进行项目测试与版本发布,撰写测试报告与版本发布说明> |
Alpha 版本测试报告
1 测试背景概述
1.1 测试目的
验证校园外卖配送系统的功能完整性、稳定性和用户体验,确保系统符合设计要求并能正常运行。
1.2 测试范围
本次测试覆盖系统的主要功能模块:
- 库存模块
- 订单模块
- 配送模块
- 辅助功能模块
- 系统管理模块
1.3 测试环境
- 操作系统:Windows 10/11,macOS 14 / Android 14 / iOS 18
- 浏览器:Google Chrome(最新版)、Microsoft Edge、Safari、Firefox
- 分辨率:1920×1080、1080×2400、1366×768
- 网络环境:本地存储,无网络依赖
2 BUG统计与分析
总 bug 数及类别:共发现8个bug,类别分布为:
| BUG类别 | 数量 | 占比 | 修复情况 |
|---|---|---|---|
| 界面显示 | 3 | 37.5% | 2 |
| 功能逻辑 | 2 | 25% | 2 |
| 接口异常 | 1 | 12.5% | 1 |
| 数据校验 | 1 | 12.5% | 1 |
| 其他 | 1 | 12.5% | 0 |
| 总计 | 8 | 100% | 6 |
2.1 修复的BUG
Bug 1(功能逻辑类)
-
测试场景:用户端下单后订单状态未同步至配送员端
-
复现步骤:普通用户登录系统,选择商品提交订单并支付;配送员账号登录系统,进入 “待接单订单列表”;
-
预期结果:配送员端能看到该新订单,订单状态显示 “待接单”;
-
实际结果:配送员端订单列表为空,刷新页面后仍无该订单;
-
根因:订单提交接口未触发 “待接单订单” 的数据库同步逻辑,MyBatis 的订单状态更新 SQL 未执行提交。
Bug 2(功能逻辑类)
- 测试场景:配送员取消配送后管理员端订单状态未更新
- 复现步骤:配送员登录后抢单,订单状态变为 “配送中”;配送员操作 “取消配送” 并提交原因;管理员登录系统,查看该订单详情;
- 预期结果:管理员端订单状态显示 “配送取消”,并展示取消原因;
- 实际结果:管理员端订单状态仍显示 “配送中”,无取消原因记录;
- 根因:配送员取消配送的接口仅更新了配送员端的本地缓存,未调用管理员端的订单状态同步接口。
Bug 3(界面显示类)
-
测试场景:管理员端 “用户信息列表” 分页按钮错位
-
复现步骤:管理员登录系统,进入 “用户管理 - 用户信息列表”;筛选 “未实名认证用户”,列表数据超过 10 条触发分页;预期结果:分页按钮(上一页 / 下一页 / 页码)居中显示,无重叠;
-
实际结果:分页按钮与列表右侧 “操作列” 重叠,页码数字被遮挡(仅 Chrome 浏览器下复现);
-
根因:ElementUI 的 Pagination 组件未适配列表容器宽度,CSS 样式中margin-right属性值设置错误。
Bug 4(界面显示类)
-
测试场景:用户端 “我的收藏” 商品图片拉伸变形
-
复现步骤:普通用户登录,收藏不同尺寸的外卖商品(如长方形 / 正方形商品图);进入 “我的收藏” 页面查看收藏列表;
-
预期结果:商品图片按比例缩放,保持 1:1 显示且无拉伸;
-
实际结果:Edge 浏览器下长方形商品图被强制拉伸为正方形,图片内容变形;
-
原因:前端图片容器未设置object-fit: cover属性,仅固定了宽高值未做比例约束。
Bug 5(接口异常类)
-
测试场景:订单提交接口传空地址参数返回 500 错误
-
复现步骤:普通用户登录,选择商品后跳过地址选择,直接点击 “提交订单”;抓包查看订单提交接口(/api/order/submit)的返回结果;
-
预期结果:接口返回 400 Bad Request,提示 “配送地址不能为空”;
-
实际结果:接口返回 500 Internal Server Error,后端日志显示 “空指针异常(地址参数为 null)”;
-
根因:后端 Controller 层未对地址参数做非空校验,直接传递至 Service 层导致空指针。
Bug 6(数据校验类)
-
测试场景:用户注册时非法手机号可提交成功
-
复现步骤:未注册用户进入注册页面,输入手机号 “1381234567”(仅 10 位,规范为 11 位);填写其他信息(密码 / 验证码)后点击 “注册”;
-
预期结果:页面提示 “手机号格式错误,请输入 11 位有效手机号”,禁止提交;
-
实际结果:注册成功,非法手机号被存入用户表;
-
根因:前端 ElementUI 的手机号校验规则(正则表达式)错误(
/^1[3-9]\d{9}$/被误写为/^1[3-9]\d{8}$/),后端未做二次校验。
2.2 不能重现的 bug
Bug 1
偶现“下单后页面短暂卡顿”,后续多次测试未复现。
2.3 不是 bug
本次测试无 “将设计逻辑误判为 Bug” 的情况。
2.4 无能力修复的 bug
0 个
2.5 延迟到下一版本的 bug
Bug 1
“用户收藏商品批量导出” 的文件格式异常,当前版本优先级较低,延迟至下一版本修复。
3 场景测试
3.1 预期角色与使用场景
3.1.1 核心角色:学生和教师
用户画像:小林,大二学生,课程密集(11:50下课,13:30需上下午课),午休时间仅40分钟
需求:快速下单+准时送达+符合口味,避免因取餐或等待影响上课,同时希望支付便捷、能实时掌握订单动态。
典型使用场景与功能组合验证
| 场景环节 | 用户操作与需求 | 系统支撑功能组合 | 预期结果 |
|---|---|---|---|
| 1. 快速登录与首页访问 | 用手机登录系统,需快速进入功能页,避免繁琐操作 | 账号密码快捷登录+自动保存登录态+首页个性化推荐 | 完成登录,首页直接显示常点食堂(如“三饭一楼汉堡档”)的热销菜品 |
| 2. 菜品筛选与决策 | 需快速找到“出餐快、配送近”的套餐,查看真实评价与营业状态,避免下单后商家打烊 | 商家营业状态显示(营业中)+ 菜品分类筛选(“快餐套餐”)+ 学生评价(评分/评论)+ 月售量排序 | 30秒内定位到目标菜品“香辣鸡排饭套餐”,清晰看到4.8分评价、月售500+、“出餐时长约5分钟”提示 |
| 3. 下单与支付 | 快速完成下单,支持主流支付方式(微信/支付宝),需立即确认支付状态 | 购物车功能+收货地址预设(默认填宿舍地址)+ 多支付渠道+支付状态实时反馈 | 完成下单支付,系统立即弹窗“支付成功,订单号20251215001” |
| 4. 订单跟踪与等待 | 需实时知道配送进度,避免错过取餐,精准预估到达时间 | 配送时间预估(基于距离与历史速度)+ 订单状态实时更新(备餐中/已出餐/配送中)+ 配送员位置动态 | 显示“预计送达12:03”,11:52更新“已出餐,配送员小李接单”,12:00更新“即将送达”等等 |
| 5. 收货与评价 | 收到餐品后快速完成评价,方便后续用户参考 | 送达通知(短信+APP推送)+ 订单评价功能(星级评分+文字评论) | 收到取餐通知,取餐后2分钟完成“5星+好吃!配送很准时!”的评价 |
3.1.2 核心角色:商家
核心目标:高峰时段(11:30-12:30)订单量激增,“高效处理订单+避免漏单错单+精准管理库存+提升出餐效率”,同时需及时响应用户咨询,维护店铺评分。
典型使用场景与功能组合验证
| 场景环节 | 商家操作与需求 | 系统支撑功能组合 | 预期结果 |
|---|---|---|---|
| 1. 营业前准备 | 到店,更新菜品库存(如“鱼豆腐剩余20份”),设置营业状态为“营业中” | 菜品管理(库存修改)+ 营业状态切换+ 库存预警设置 | 完成库存更新,系统显示“营业中”,设置“鱼豆腐库存≤5份时预警” |
| 2. 高峰时段订单处理 | 收到5笔订单,需按优先级处理,避免漏单,实时更新订单状态 | 订单管理(新订单弹窗提醒)+ 订单状态批量更新(未接单→已接单)+ 订单详情打印 | 系统弹窗提示新订单,完成5笔订单接单操作,打印订单小票分发给后厨,状态同步至用户端 |
| 3. 库存预警与处理 | 收到“鱼豆腐库存剩余3份”预警,需立即下架该菜品,避免超售 | 库存预警通知(声音+弹窗)+ 菜品状态快速切换(上架→下架) | 收到预警后完成鱼豆腐下架,用户端显示“该菜品已售罄” |
3.1.3 核心角色:配送员
配送员画像:小李,大三学生,利用午休(11:50-13:00)兼职配送
核心目标:“高效接单(顺路优先)+ 快速完成配送+ 避免配送超时”,同时需及时上传送达凭证,确保订单闭环。
典型使用场景与功能组合验证
| 场景环节 | 配送员操作与需求 | 系统支撑功能组合 | 预期结果 |
|---|---|---|---|
| 1. 接单准备 | 下课,登录系统设置“可接单”状态,希望优先推荐宿舍区附近订单 | 配送员状态设置+ 订单智能推荐(按距离排序)+ 订单抢单功能 | 系统推荐3笔“三餐到东区宿舍”的顺路订单,显示“预计配送时长15分钟” |
| 2. 接单与取餐 | 抢单成功后,需快速导航至商家,向商家出示订单信息,避免取错餐 | 订单详情(商家位置导航)+ 取餐码生成+ 商家消息沟通 | 按导航5分钟到达商家,出示取餐码快速取餐,系统更新“已取餐”状态 |
| 3. 配送与送达 | 配送途中需按最优路线送单,送达后上传取餐凭证(如餐品放置照片),避免纠纷 | 配送路线规划+ 订单状态更新(配送中→送达)+ 送达凭证上传+ 用户通知 | 10分钟完成3笔顺路订单配送,上传凭证后,用户端同步收到送达通知 |
| 4. 配送结束结算 | 结束兼职,查看今日配送收益(3笔订单共赚25元) | 配送收益统计(按订单)+ 收益明细查询 | 系统显示“今日配送3单,收益25元,待结算”,明细包含每笔订单佣金 |
3.1.4 核心角色:管理员
核心目标:管理员负责系统日常运营管理,“保障系统稳定运行+ 规范商家与用户行为+ 处理异常订单+ 维护平台秩序”,需实时监控系统数据,快速响应突发问题。
典型使用场景与功能组合验证
| 场景环节 | 管理员操作与需求 | 系统支撑功能组合 | 预期结果 |
|---|---|---|---|
| 1. 日常系统监控 | 到岗,查看系统运行状态(并发量、响应时间)、商家营业合规性 | 系统数据仪表盘(并发用户数、响应时间)+ 商家管理(营业状态审核)+ 日志审计 | 显示“当前并发用户200,响应时间0.5s”,发现1家商家未备案,立即设置“维护中”状态 |
| 2. 异常订单处理 | 收到用户投诉“订单付款后商家拒接”,需快速介入协调,避免用户投诉升级 | 订单管理(异常订单标记)+ 用户/商家消息互通+ 订单取消与退款操作 | 联系商家,确认拒接原因,为用户办理全额退款 |
| 3. 新商家入驻审核 | 审核“奶茶店”入驻申请,需验证资质(营业执照、卫生许可证),确保合规 | 商家管理(入驻申请审核)+ 资质文件上传与查看+ 商家账号创建 | 完成审核,创建商家账号并通知对方登录系统 |
场景测试总结
本次场景测试覆盖五大核心角色的典型使用场景与异常场景,验证了系统功能组合对不同用户需求的匹配度:
- 学生与教职工场景:通过“个性化推荐+快速支付+实时跟踪”功能组合,满足“便捷、准时”核心需求,响应时间与操作效率符合用户时间紧张的特点;
- 商家场景:“订单提醒+库存预警+数据统计”功能组合,解决高峰订单处理痛点,提升运营效率;
- 配送员场景:“智能派单+路线规划+凭证上传”功能组合,实现“高效配送+订单闭环”目标;
- 管理员场景:“数据监控+异常处理+权限管理”功能组合,保障平台合规稳定运行。
3.2 测试矩阵
我们在不同的操作系统、硬件配置和浏览器环境下对外卖平台进行了功能性与兼容性测试,确保系统在主流设备上都能正常运行。具体测试矩阵如下:
| 测试维度 | 测试条件/平台 | 测试结果 | 说明 |
|---|---|---|---|
| 操作系统 | Windows 10 / Windows 11 / macOS 14 / Android 14 / iOS 18 | 通过 | 覆盖常见桌面端与移动端操作系统 |
| 浏览器类型 | Google Chrome(最新版)、Microsoft Edge、Safari、Firefox | 通过 | 确保网页在主流浏览器下表现一致 |
| 硬件配置 | PC端:Intel i5 / 8GB RAM / SSD 256GB 移动端:中端手机(如小米、iPhone 13) |
通过 | 验证系统在不同性能设备上的响应速度和兼容性 |
| 服务器环境 | 本地测试服务器(Node.js + MySQL) / 云端部署(阿里云Ubuntu 22.04) | 通过 | 测试前后端交互与网络稳定性 |
| 分辨率 | 1920×1080(桌面)、1080×2400(手机)、1366×768(平板) | 通过,手机端部分页面需要优化 | 验证响应式布局效果 |
| 网络环境 | Wi-Fi / 4G / 5G | 通过 | 测试加载速度和延迟表现 |
4 出口条件
结合该基于 SSM 的校园外卖配送系统的功能设计与开发进度,其 Alpha 版本的出口条件可设定为以下维度,确保核心功能可用且基础流程闭环,为后续测试和迭代提供稳定基础:
- 核心功能实现完整性
-
三类角色(管理员、用户、配送员)的基础登录注册功能正常运行,权限隔离生效(如用户无法访问管理员的用户信息管理页面)。
-
用户端核心流程贯通:浏览外卖详情、点赞 / 收藏、下单、查看订单状态、接收送达通知等功能可正常操作。
-
配送员端核心流程贯通:查看订单列表、接单 / 抢单、取消配送、触发送达通知等功能无阻塞。
-
管理员端核心功能可用:用户信息管理(增删改查)、外卖配送信息管理、库存预警配置等基础操作可完成。
- 基础技术链路稳定性
-
Spring+SpringMVC+MyBatis 框架整合无报错,数据库(MySQL)与应用交互正常,核心业务数据(如订单、用户信息)可正确持久化。
-
前端页面(JSP+ElementUI)与后端接口(RESTful API)交互顺畅,无 4xx/5xx 级别的致命错误(如登录接口调用失败、下单后数据未入库)。
-
基础工具链适配正常:通过 Maven 可成功构建项目,在 IDEA/Eclipse 中可稳定运行,Navicat 连接数据库无异常。
- 关键特色功能验证
-
在线客服功能实现基础交互(如用户发送消息、客服端接收显示)。
-
库存预警机制生效:当库存低于设定阈值时,系统可触发预警提示(如后台日志记录或管理员通知)。
-
智能派单 / 抢单逻辑初步可用:配送员能看到待接单列表,接单后订单状态可同步更新至用户端。
- 版本迭代基础要求
-
已完成 v0.1.0 至 v0.5.0 版本记录中的核心开发内容,包括基础框架搭建、数据模型设计、业务逻辑实现、Web 接口开发及前端页面集成。
-
系统无致命性 bug(如订单数据丢失、用户权限越界、页面无法加载),基础流程(下单 - 接单 - 送达)可完整走通。
满足上述条件后,系统已具备 Alpha 版本的发布基础,可用于内部测试或小范围用户试用,收集反馈以优化后续版本。
Alpha版本发布说明
1 版本功能说明
本次Alpha版本为系统首个可运行版本,聚焦核心点餐配送业务流程开发,实现普通消费者、配送员、系统管理员三类角色的基础操作功能,具体如下:
- 用户端核心功能
-
账号注册/登录(支持JWT Token身份验证,有效期2小时);
-
美食分类浏览、商品详情查看、购物车管理(支持批量加购/删除);
-
订单提交与状态查询(待接单/配送中/已送达实时同步);
-
在线客服咨询、美食收藏与订单历史查看。
- 配送员端核心功能
-
专属账号登录、待接单列表查看与抢单操作;
-
订单状态更新(取餐/配送中/已送达)、取消配送申请提交;
-
配送数据统计(今日/本月配送单量、收入明细)。
- 管理员端核心功能
-
商品分类/商品信息增删改查、库存数量监控与预警;
-
用户/配送员资质审核、配送取消申请处理;
-
订单数据可视化看板(订单趋势、用户下单频次图表展示);
-
系统性能监控(JVM、数据库连接池状态实时查看)。
2 运行环境要求
- 服务端环境
操作系统:Windows 10/11 64位、Linux(CentOS 7/8);
JDK版本:1.8及以上;
MySQL版本:8.0及以上;
Maven版本:3.6及以上;
应用服务器:Tomcat 8.5/9.0;
可选:Redis 6.0及以上(用于热点订单缓存)、Prometheus 2.40及以上(用于性能监控)。
- 客户端环境
浏览器:Chrome 90+、Firefox 88+、Edge 90+(推荐Chrome);
移动端:手机浏览器(微信内置浏览器、Safari、Chrome),支持响应式适配(375px-414px屏幕)。
3 安装方法
① 克隆项目代码:https://gitee.com/CYnan4053/SE.work;
② 打开MySQL,创建数据库order_delivery_db,执行项目脚本初始化表结构与测试数据;
③ 修改src/main/resources/config.properties文件,配置MySQL连接信息(用户名、密码、数据库地址);
④ 进入项目根目录,执行mvn clean package打包项目,生成war包;
⑤ 将war包放入Tomcat的webapps目录,启动Tomcat服务;
⑥ 访问http://localhost:8080/order-and-delivery-system验证服务端启动成功。
4 已知问题和限制
- 功能限制
-
暂未实现在线支付功能,当前仅支持“模拟支付”流程;
-
配送员抢单功能暂未实现基于地理位置的附近订单筛选,仅按订单创建时间排序;
-
数据可视化看板仅支持静态数据展示,暂未实现实时数据刷新。
- 性能限制
-
商品列表数据量超过1000条时,虚拟列表渲染仍有轻微延迟;
-
高并发(并发请求数超200)时,订单创建接口响应时间略有增加(未做分布式部署优化)。
- 其他问题
-
移动端适配仅支持主流手机屏幕,小众分辨率设备可能出现样式错位;
-
系统日志仅本地存储,暂未实现日志收集与远程查看功能。
5 发布方式及发布地址
- 发布方式:源码发布
- 发布地址:https://gitee.com/CYnan4053/SE.work (使用过程中遇到问题,可通过仓库Issues反馈,我们将在Beta版本中持续优化。)
浙公网安备 33010602011771号