[T.15] 团队项目:Beta 阶段测试报告
| 项目 | 内容 |
|---|---|
| 这个作业属于哪个课程 | 2025年春季软件工程(罗杰、任健) |
| 这个作业的要求在哪里 | [T.15] 团队项目:Beta 阶段测试报告 |
| 我在这个课程的目标是 | 掌握软件工程的核心技能,提升开发效率与项目质量。 |
| 这个作业在哪个具体方面帮助我实现目标 | 总结Beta阶段的测试情况 |
前端测试计划
测试范围
- 组件渲染逻辑;
- 状态管理;
- 工具函数和公共方法;
- 自定义hooks;
- 组件间交互;
- 页面跳转逻辑;
- 图片上传;
- token刷新;
- 聊天功能;
- 官网渲染;
- 接口安全;
测试策略
-
使用mock模拟后端接口,隔离前端逻辑进行测试;
-
模拟用户操作流程,进行端到端功能验证;
-
确保组件测试覆盖率≥70%,关键路径覆盖率≥90%;
-
使用自动化测试工具结合手工测试,保证测试效果;
测试工具与环境
-
开发环境:HBuilder、Uniapp、微信开发者工具;
-
测试辅助工具:Mock对象、环境变量隔离测试环境,避免依赖外部服务;
-
测试方法:单元测试、回归测试;
后端测试计划
后端采用微服务架构进行设计,由Spring部分和Django部分组成。
Django部分只涉及到了博雅选课模块,结构较为简单,因此在这一部分我们利用Django自带的测试框架,通过模拟用户的交互过程,以手动构造数据点的方式对每个视图类内部的方法进行了测试。
下面将重点介绍后端主体部分的单元测试流程:
测试范围
- 所有业务逻辑方法(Service 层);
- 对外接口转换与校验(Controller 层);
- 公共工具类、DTO/VO 转换与校验逻辑;
测试策略
- 模拟隔离
- 使用 Mockito 完全模拟外部依赖;
- 对数据库层测试可选用 H2 内存库,但必须在隔离模式下执行;
- 场景覆盖
- 正常场景:关键流程、常见数据输入;
- 边界场景:空集合、最大/最小值、字符串长度极限;
- 异常场景:模拟依赖抛出异常、参数校验不通过;
- 断言规范
- 使用 AssertJ 进行链式断言,保证可读性;
- 校验返回值、状态码、异常类型与消息均符合预期;
- 对关键交互调用使用
verify(...)检验调用次数及参数;
测试工具与环境
- 测试框架:JUnit 5
- 模拟框架:Mockito
- Spring 支持:spring-boot-test
- 断言库:AssertJ
- 覆盖率工具:JaCoCo(目标 ≥ 80%)
- 构建工具:Maven
- CI 平台:GitHub Actions
场景测试
场景一:潜在用户浏览小程序官网,了解并决定使用
用户画像:
- 姓名:张涵(化名)
- 身份:北航大一学生,对“组队类”工具有兴趣,尚未注册使用“搭伙儿”小程序。
测试目标:
- 验证官网展示信息是否清晰、功能介绍是否吸引用户
- 验证“扫码进入小程序”功能是否流畅
- 验证是否存在页面加载、UI适配、跳转异常等问题
操作流程:
- 张涵通过搜索或朋友推荐打开“搭伙儿”官网首页
- 浏览官网介绍页面
- 点击“立即使用”按钮,弹出微信扫码入口
- 使用微信扫码,进入小程序首页
预期结果:
- 网页加载顺畅,介绍信息图文并茂,重点突出
- 页面自适应效果良好,无兼容性问题
- 微信扫码跳转小程序无阻碍
实际结果:
- 页面展示正常,按钮操作无异常
- 用户成功扫码进入小程序首页
- 用户对小程序第一印象良好,决定注册使用
场景二:用户创建队伍后修改队伍封面
用户画像:
- 姓名:李杰
- 身份:已注册用户,创建了一个面向“冯如杯”的竞赛队伍
测试目标:
- 验证修改封面流程是否顺畅
- 确认封面图片上传成功后是否实时刷新并持久化
- 检查权限控制(仅队伍创建者可修改)是否生效
操作流程:
- 李杰进入“我创建的队伍”页面
- 选择“冯如杯组队”,进入详情页面
- 进入队伍修改
- 从手机相册中选择新图片,确认上传
- 返回详情页,确认封面是否已更新
预期结果:
- 仅队伍创建者拥有封面修改权限
- 图片上传组件可成功调起相册、读取文件
- 封面更新后可立即在前端页面刷新,并保存至后端服务器
实际结果:
- 权限判断正确,非创建者无修改按钮
- 上传操作顺利,封面实时刷新
- 后端已接收到并保存图片地址,数据库更新成功
场景三:用户使用聊天功能发送文字与图片
用户画像:
- 姓名:赵敏
- 身份:加入了一个兴趣队伍的普通成员,尝试与队伍成员沟通
测试目标:
- 验证聊天界面加载速度、界面显示、消息发送功能
- 检查文字消息与图片消息的渲染及发送可靠性
- 验证用户状态判断与聊天室权限逻辑
操作流程:
- 赵敏进入“我加入的队伍”,点击“羽毛球社交队”
- 点击右下角“聊天”图标,进入聊天页面
- 输入文字“大家周三几点集合呀?”并发送
- 点击图片图标,选择图片并发送
预期结果:
- 聊天页面正常加载,历史消息可滚动查看
- 文字消息发送后实时同步显示,对方可接收
- 图片消息发送无卡顿,展示清晰,支持预览
实际结果:
- 消息发送功能稳定,图片上传进度提示明显
- 图片压缩与加载逻辑良好,未导致性能下降
- 用户反馈:聊天体验接近微信原生小程序,满意度高
测试矩阵
| 平台类型 | 操作系统 | 浏览器 / 环境 | 屏幕分辨率 | 网络环境 | 主要测试点 | 结果 |
|---|---|---|---|---|---|---|
| 桌面端 | Windows 10/11 | Chrome、Edge | ≥1920×1080 | 宽带 / 校园网 | 官网访问、页面跳转、界面兼容 | ✅ |
| 桌面端 | macOS | Safari、Chrome | ≥1920×1080 | WiFi | 页面加载、动画渲染、按钮响应 | ✅ |
| 移动端 | Android 12–14 | 微信小程序运行环境 | ≥1080×2340 | 4G / WiFi | 小程序功能全流程、聊天、上传封面图 | ✅ |
| 移动端 | iOS 16–17 | 微信小程序运行环境 | ≥1170×2532 | 5G / WiFi | 进入队伍页、消息交互、跳转稳定性 | ✅ |
| 平板端 | iPadOS / Android Pad | 微信小程序运行环境 | ≥1600×2400 | WiFi | 横屏适配、页面缩放、点击测试 | ✅ |
测试结果
前端部分
| bug描述 | 修复方式 | 负责人 | Issues链接 | 修复结果 |
|---|---|---|---|---|
| 主题tab出现重复 | 修改获取逻辑,避免onShow反复玩数组内添加重复主题 | 丁子航 | 已修复 |
后端部分
| bug描述 | 修复方式 | 负责人 | Issues链接 | 修复结果 |
|---|---|---|---|---|
| message-center收到消息后将成员从会话中移除 | 修复方式:team-service中有成员从队伍中离开后通过消息队列通知message-center | 饶晨烜 | https://github.com/XuanxuanRao/joinup-server/issues/35 | 已修复 |
管理端
| bug描述 | 修复方式 | 负责人 | Issues链接 | 修复结果 |
|---|---|---|---|---|
| 登录信息刷新失败 | 重写计时器逻辑 | 高子贺 | https://github.com/Aron00123/joinup-admin-web/issues/7 | 已修复 |
| 反馈信息状态更新错误 | 新增DTO类别 | 高子贺 | 已修复 | |
| 聊天记录导出excel无法嵌入图片 | 改用新版ExcelJS库 | 高子贺 | 已修复 |
出口条件
- 功能实现完整性: 所有核心功能模块(微信登录、北航邮箱验证、组队、消息、个人中心、课程、博雅)均能正常使用。
- Bug修复情况: 关键与严重Bug均已修复,所有已知Bug均有对应Issue且状态为已关闭。
- 测试覆盖率: 单元测试覆盖率符合目标(前端≥70%,后端≥80%),关键路径覆盖率高于90%。
- 性能与稳定性: 压力测试通过,系统在高并发下稳定运行,无崩溃或严重性能瓶颈。
- 用户体验: 典型用户场景测试均通过,用户操作流程顺畅,无明显功能遗漏或逻辑错误。
- 文档齐备: 完成详细的测试报告及用户手册,保证后续维护和用户使用的顺利。

浙公网安备 33010602011771号