[T.15] 团队项目:Beta 阶段测试报告

项目 内容
这个作业属于哪个课程 2025年春季软件工程(罗杰、任健)
这个作业的要求在哪里 [T.15] 团队项目:Beta 阶段测试报告
我在这个课程的目标是 掌握软件工程的核心技能,提升开发效率与项目质量。
这个作业在哪个具体方面帮助我实现目标 总结Beta阶段的测试情况

前端测试计划

测试范围

  • 组件渲染逻辑;
  • 状态管理;
  • 工具函数和公共方法;
  • 自定义hooks;
  • 组件间交互;
  • 页面跳转逻辑;
  • 图片上传;
  • token刷新;
  • 聊天功能;
  • 官网渲染;
  • 接口安全;

测试策略

  • 使用mock模拟后端接口,隔离前端逻辑进行测试;

  • 模拟用户操作流程,进行端到端功能验证;

  • 确保组件测试覆盖率≥70%,关键路径覆盖率≥90%;

  • 使用自动化测试工具结合手工测试,保证测试效果;

测试工具与环境

  • 开发环境:HBuilder、Uniapp、微信开发者工具;

  • 测试辅助工具:Mock对象、环境变量隔离测试环境,避免依赖外部服务;

  • 测试方法:单元测试、回归测试;

后端测试计划

后端采用微服务架构进行设计,由Spring部分和Django部分组成。

Django部分只涉及到了博雅选课模块,结构较为简单,因此在这一部分我们利用Django自带的测试框架,通过模拟用户的交互过程,以手动构造数据点的方式对每个视图类内部的方法进行了测试。

下面将重点介绍后端主体部分的单元测试流程:

测试范围

  • 所有业务逻辑方法(Service 层);
  • 对外接口转换与校验(Controller 层);
  • 公共工具类、DTO/VO 转换与校验逻辑;

测试策略

  1. 模拟隔离
    1. 使用 Mockito 完全模拟外部依赖;
    2. 对数据库层测试可选用 H2 内存库,但必须在隔离模式下执行;
  2. 场景覆盖
    1. 正常场景:关键流程、常见数据输入;
    2. 边界场景:空集合、最大/最小值、字符串长度极限;
    3. 异常场景:模拟依赖抛出异常、参数校验不通过;
  3. 断言规范
    1. 使用 AssertJ 进行链式断言,保证可读性;
    2. 校验返回值、状态码、异常类型与消息均符合预期;
    3. 对关键交互调用使用 verify(...) 检验调用次数及参数;

测试工具与环境

  • 测试框架:JUnit 5
  • 模拟框架:Mockito
  • Spring 支持:spring-boot-test
  • 断言库:AssertJ
  • 覆盖率工具:JaCoCo(目标 ≥ 80%)
  • 构建工具:Maven
  • CI 平台:GitHub Actions

场景测试

场景一:潜在用户浏览小程序官网,了解并决定使用

用户画像:

  • 姓名:张涵(化名)
  • 身份:北航大一学生,对“组队类”工具有兴趣,尚未注册使用“搭伙儿”小程序。

测试目标:

  • 验证官网展示信息是否清晰、功能介绍是否吸引用户
  • 验证“扫码进入小程序”功能是否流畅
  • 验证是否存在页面加载、UI适配、跳转异常等问题

操作流程:

  1. 张涵通过搜索或朋友推荐打开“搭伙儿”官网首页
  2. 浏览官网介绍页面
  3. 点击“立即使用”按钮,弹出微信扫码入口
  4. 使用微信扫码,进入小程序首页

预期结果:

  • 网页加载顺畅,介绍信息图文并茂,重点突出
  • 页面自适应效果良好,无兼容性问题
  • 微信扫码跳转小程序无阻碍

实际结果:

  • 页面展示正常,按钮操作无异常
  • 用户成功扫码进入小程序首页
  • 用户对小程序第一印象良好,决定注册使用

场景二:用户创建队伍后修改队伍封面

用户画像:

  • 姓名:李杰
  • 身份:已注册用户,创建了一个面向“冯如杯”的竞赛队伍

测试目标:

  • 验证修改封面流程是否顺畅
  • 确认封面图片上传成功后是否实时刷新并持久化
  • 检查权限控制(仅队伍创建者可修改)是否生效

操作流程:

  1. 李杰进入“我创建的队伍”页面
  2. 选择“冯如杯组队”,进入详情页面
  3. 进入队伍修改
  4. 从手机相册中选择新图片,确认上传
  5. 返回详情页,确认封面是否已更新

预期结果:

  • 仅队伍创建者拥有封面修改权限
  • 图片上传组件可成功调起相册、读取文件
  • 封面更新后可立即在前端页面刷新,并保存至后端服务器

实际结果:

  • 权限判断正确,非创建者无修改按钮
  • 上传操作顺利,封面实时刷新
  • 后端已接收到并保存图片地址,数据库更新成功

场景三:用户使用聊天功能发送文字与图片

用户画像:

  • 姓名:赵敏
  • 身份:加入了一个兴趣队伍的普通成员,尝试与队伍成员沟通

测试目标:

  • 验证聊天界面加载速度、界面显示、消息发送功能
  • 检查文字消息与图片消息的渲染及发送可靠性
  • 验证用户状态判断与聊天室权限逻辑

操作流程:

  1. 赵敏进入“我加入的队伍”,点击“羽毛球社交队”
  2. 点击右下角“聊天”图标,进入聊天页面
  3. 输入文字“大家周三几点集合呀?”并发送
  4. 点击图片图标,选择图片并发送

预期结果:

  • 聊天页面正常加载,历史消息可滚动查看
  • 文字消息发送后实时同步显示,对方可接收
  • 图片消息发送无卡顿,展示清晰,支持预览

实际结果:

  • 消息发送功能稳定,图片上传进度提示明显
  • 图片压缩与加载逻辑良好,未导致性能下降
  • 用户反馈:聊天体验接近微信原生小程序,满意度高

测试矩阵

平台类型 操作系统 浏览器 / 环境 屏幕分辨率 网络环境 主要测试点 结果
桌面端 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%。
  • 性能与稳定性: 压力测试通过,系统在高并发下稳定运行,无崩溃或严重性能瓶颈。
  • 用户体验: 典型用户场景测试均通过,用户操作流程顺畅,无明显功能遗漏或逻辑错误。
  • 文档齐备: 完成详细的测试报告及用户手册,保证后续维护和用户使用的顺利。
posted @ 2025-06-08 21:03  WOW114514  阅读(36)  评论(0)    收藏  举报