点餐系统测试报告

文章目录

一、项目介绍

项目简介

该项目是一个门店点餐系统,采用前后端分离的方式实现,后端框架是SSM,前端框架是 Vue。系统角色分为管理员和普通用户,不同的用户登录进入不同的页面。


功能介绍

  1. 登录:用户和管理员输入手机号和密码进行登录
  2. 注册:用户可以输入手机号、用户名、密码和确认密码进行注册。
  3. 注销:注销后,删除本地的记录和更新服务器中的登录状态。
  4. 下单:用户可以勾选列表中的菜品,添加备注信息,然后点击结算进行下单。
  5. 评论:用户可以在自己的下的订单中,选择菜品进行评论。
  6. 取消订单:用户可以取消自己未开始制作的订单。
  7. 管理菜品:管理员可以添加菜品、编辑菜品、添加或删除菜品类型,上架或下架菜品。
  8. 管理订单:管理员可以更新订单状态。
  9. 管理评论:管理员可以对评论进行删除。

二、测试计划

1 功能测试

功能测试用例

发现的 BUG 和 解决方法

在功能测试的过程中,发现了两个小 BUG 。

注册功能

在注册功能中,后端的参数校验做的不到位:

  1. 后端没有校验手机号长度(11位)
  2. 后端没有校验手机号是否全数字
  3. 后端没有校验用户名长度(2~10)

绕过前端直接向后端发送请求,就可以注册这些非法的参数

解决方法:

后端注册接口中添加参数校验

java 复制代码
if (user.getPhone().length() != 11) {
    return JsonResult.failure(-1, "手机号长度错误!");
}
if (!StringUtils.hasLength(user.getUsername()) || !StringUtils.hasLength(user.getPassword())) {
    return JsonResult.failure(-1, "用户名或密码不能为空!");
}
if (user.getUsername().length() < 2 || user.getUsername().length() > 10) {
    return JsonResult.failure(-1, "用户名长度错误!");
}

效果:



上传图片功能

在上传头像,图片太大时,后端报错,使用抓包工具 Fiddler 抓包发现:

json 复制代码
{
    "code": 500,
    "msg": "Maximum upload size exceeded; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.impl.FileSizeLimitExceededException: The field file exceeds its maximum permitted size of 1048576 bytes.",
    "data": null
}
  • 报错原因是Spring Boot 默认的上传文件大小限制为 1MB

检查代码时发现,前后端对上传的图片大小和格式都没有做校验。

解决方法:

前端发请求前,对图片大小和格式进行校验:

javascript 复制代码
beforeAvatarUpload(file) {
    let type = file.type;
    const flg1 = !(type === 'image/jpeg' || type === 'image/png')
    const flg2 = file.size / 1024 / 1024 > 1
    if (flg1) {
        this.$message.error('上传头像图片只能是 JPG 或 PNG 格式!')
    }
    if (flg2) {
        this.$message.error('上传头像图片大小不能超过 1MB!')
    }
    return !flg1 && !flg2
}

后端对图片格式进行校验:

java 复制代码
String fileName = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
if (!".jpg".equals(fileName) && !".png".equals(fileName)) {
	return JsonResult.failure(-1, "上传头像图片只能是 JPG 或 PNG 格式!");
}

效果:


2 自动化测试

待完成。


3 性能测试

待完成。


相关推荐
汽车仪器仪表相关领域2 小时前
便携即战力,全域无短板:PL-1 袖珍记录仪核心重构与场景落地全解
功能测试·重构·汽车·压力测试·可用性测试·ab测试
达宽科技3 小时前
教程 机器人线束通电检测怎么做?(二)
服务器·功能测试·机器人·汽车
汽车仪器仪表相关领域1 天前
SSI-4 PLUS 简易传感器接口:多场景采集 “即插即用” 的终极解决方案
功能测试·测试工具·单元测试·压力测试·可用性测试·模块测试·安全性测试
Bug 挖掘机1 天前
利用OpenClaw+飞书,AI驱动UI自动化测试实战案例来了
软件测试·功能测试·测试开发·ui·飞书
汽车仪器仪表相关领域2 天前
ZRT-V 机器人减速器寿命测试系统:以长效智能,破局可靠性验证困局
功能测试·安全·机器人·汽车·压力测试·可用性测试
Zwj-c2 天前
【测试报告】个人博客系统测试报告(功能测试、自动化测试、Bug描述)
功能测试·selenium·测试用例·bug
霍格沃兹测试学院-小舟畅学2 天前
AI系统功能测试怎么做?从“正确性断言”到“上下文边界”的测试范式转移
人工智能·功能测试
Zwj-c2 天前
【测试报告】学评一体化平台测试报告(功能测试、自动化测试、Bug描述)
python·功能测试·selenium·测试用例·bug
质量行者2 天前
如何写出高质量的测试用例
功能测试·测试用例·集成测试·软件工程·可用性测试·模块测试
W-琑16 天前
软件测试-自动化测试
功能测试·自动化