项目测试用例:

ops/2024/9/19 14:39:04/ 标签: 测试用例

项目概述

该项目是一款网上点餐系统,满足普通商家和普通用户的基本需求,主要有两大功能模块,分别是管理员模块(商家端)和用户模块(客户端)。系统供管理员登录和普通用户,登录进去会有对应相关管理操作:

商家端主要实现了对员工和菜品的增删改査以及订单相关数据的查看与分析,客户端基于微信小程序实现了在线点餐、下单、催单等功能。

功能测试

注册功能:

点击注册一栏,注册窗口正确弹出:

1.用户名、密码都为空
2.用户名为空密码不为空
3.密码为空用户名不为空
4.密码有特殊符号是否可以
5.用户名过短
6.用户名过长
7.密码过长
8.密码过短
9.用户名重复
10.注册成功,弹出注册成功窗口,并且自动跳转主页
11.注册失败,弹出注册失败窗口,并返回注册页
12.注册出的账号只能是普通用户

登录功能:

首先,点击登录一栏,成功弹出登录框
1.输入已经注册的用户名和正确的密码,登录成功
2.输入已经注册的用户名和不正确的密码,登录失败
3.输入未注册的用户名和不正确的密码,登录失败
4.用户名和密码为空的时候,提示输入账号密码
5.用户名和密码有一个为空的时候,提示输入其中
6.用户登录成功,但是会话超时后,继续操作,重定向到用户登陆页面
7.输入账户密码规则范围内长度最长的账户和密码,登录成功
8.输入账户密码规则范围内长度最短的账户和密码,登录成功
9.刷新页面,不会退出当前登录状态
10.输入超过账户密码规则范围内长度最长的账户和密码,登录失败
11.输入低于账户密码规则范围内长度最短的账户和密码,登录失败
12.用户使用管理员的账号,登录失败
13.管理员使用用户的账号,登录失败
14.点击退出登录,弹出退出登录框,点击“确定”成功退出当前登录状态
15.点击退出登录,弹出退出登录框,点击“取消”,回到主界面
16.点击取消,退出登录窗口
17.数据库出现异常,未搜索到用户信息,登录失败
18.输入未注册的账号密码,登录失败

用户登录:
普通用户可以成功登录
管理员用户可以成功登录

管理员登录:

普通用户不能登录
管理员可以登录 

退出登录:
点退出登录返回主页并用户登出 

 (用户)下单功能:
可以选择菜品进行下单
下单成功,弹出下单成功窗口

点击菜品选中,下单成功
点击我要点菜,正确弹出点菜界面
不选择菜品,下单失败
下单后,成功显示下单总菜数,以及菜品总价
断网的情况下,也可以下单成功

(用户)查看用户自己订单功能:

点击我的订单,成功显示订单

显示当前用户的订单完成状态,下单时间,以及出现菜品详情查看的按钮

(用户)查看某个订单的详细信息功能:

 点击查看详情按钮,成功显示当前用户下单的菜品名称,菜品价格,以及下单的总金额

点击关闭,成功返回“我的订单"页面 

(商家)查看当前菜品列表功能: 

商家登录后,成功显示当前所有菜品
点击“查看菜品"一栏,成功显示当前菜品名称价格,以及删除按钮
若数据库出现异常,显示菜品列表失败
若服务器异常,显示菜品列表失败

(商家)菜品添加,删除功能: 

点击“新增菜品"一栏,成功显示新增界面
输入菜品名,价格后,点击新增,菜品添加成功后,返回菜品界面
弹出新增菜品栏,点击取消后,返回菜品界面
点击“删除"按钮,菜品成功删除,刷新界面后返回菜品界面
若数据库出现异常,菜品添加失败,菜品界面显示菜品信息失败
若数据库出现异常,菜品删除失败,菜品界面仍保留菜品信息
若服务器出现异常,菜品添加失败,菜品界面显示菜品信息失败
若服务器出现异常,菜品删除失败,菜品界面仍保留菜品信息
添加菜品的名称超过规定最大长度,价格符合数据库规定,添加菜品失败
添加规定长度的菜品名称,价格后面有小数点添加菜品失败
添加菜品的名称小于规定最大长度,价格符合数据库规定,添加菜品失败

(商家)查看所有用户订单的功能:

点击“查看订单"按钮,成功显示界面
界面中的订单id号,用户名称,订单状态,订单创建的时间,详情按钮成功显示 

(商家)查看每个用户订单详细信息功能:

点击“查看详情“按钮,成功显示某个用户所下单的菜品名称,价格,以及总金额
点击“取消”按钮,成功退出当前详情框,回到订单页面

(商家)修改订单状态功能: 

在订单界面选中状态按钮,显示某个用户状态修改成功,代表该用户订单已经完成
若修改成功,用户再次查看该订单时显示订单应显示订单已经完成
若数据库出现异常,用户查看该订单时显示订单未完成
若服务器异常,商家修改订单状态失败
若服务器异常,用户查看订单状态失败

1.登录功能

2.菜品信息管理:

3.菜品的搜索和删除功能,在菜品搜索栏输入要查找的菜品或者对菜品进行删除操作。对其提取测试点:

性能测试

兼容性测试

界面测试

安全性测试

网络测试

易用性测试


http://www.ppmy.cn/ops/112583.html

相关文章

ROS 编程入门的介绍

2.1 创建 ROS 功能包 ROS(Robot Operating System)是一种开源的机器人软件框架,广泛用于机器人开发中。通过使用 ROS,开发者可以轻松创建和管理机器人应用程序。在本节中,我们将介绍如何创建一个 ROS 功能包并实现一些…

python-简单的数据结构

题目描述 小理有一天在网上冲浪的时候发现了一道很有意思的数据结构题。 该数据结构形如长条形。 一开始该容器为空,有以下七种操作。 1 a从前面插入元素 a ; 2 从前面删除一个元素; 3 a从后面插入一个元素; 4 从后面删除一个元素; 5 将整个容器头尾翻转; 6 输出个…

qt-creator-10.0.2之后版本的jom.exe编译速度慢下来了

1、Qt的IDE一直在升级,qt-creator的新版本下载地址 https://download.qt.io/official_releases/qtcreator/ 2、本人一直用的是qt-creator-10.0.2版本,官网历史仓库可以下载安装包qt-creator-opensource-windows-x86_64-10.0.2.exe https://download.qt…

【二十】【QT开发应用】listwidget右键菜单和删除item

创建项目,添加资源文件 在项目文件夹中创建resources资源文件夹。 在vs中打开qrc文件,选择添加资源文件。 选择我们resources资源文件中的所有文件作为资源文件。 最后不要忘记点击保存。 向ListWidget控件添加item 右键菜单 在.h文件中添加QMenu头…

Git常用命令(记录)

提交代码 git status 查看状态git add .或者git add xx选择提交全部或者某文件git commit -m “提交信息”git push 创建新分支提交到新的分支 git checkout -b [branch-name] 创建并切换到新分支git add [file-name] 将要上传的文件添加到暂存区git commit -m “commit mes…

JavaScript - 异步编程

1. 前言 在 JavaScript 中,异步编程是一种处理需要等待操作(如网络请求、文件读取或计时器)的编程方式。由于 JavaScript 是单线程的,意味着它一次只能执行一个任务。异步编程允许你在等待某些操作完成时,继续执行其他…

【原创】java+swing+mysql长途客车售票管理系统设计与实现

个人主页:程序员杨工 个人简介:从事软件开发多年,前后端均有涉猎,具有丰富的开发经验 博客内容:全栈开发,分享Java、Python、Php、小程序、前后端、数据库经验和实战 文末有本人名片,希望和大家…

C#泛型(Generic)

泛型(Generic)允许延迟编写类或方法中的编程元素的数据类型的规范,直到实际在程序中使用它的时候。换句话说,泛型允许编写一个可以与任何数据类型一起工作的类或方法。 可以通过数据类型的替代参数编写类或方法的规范。当编译器遇…

【JavaScript】数据结构之堆

对数据结构像树,但是,是通过数组来实现的(不是通过链表)

基于SSM的在线家用电器销售系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于JavaSSMVueMySQL的在线家…

Docker部署Joplin Server教程

Joplin Server 是 Joplin 应用的后端服务,提供笔记和待办事项的同步功能。它允许用户在不同设备之间同步笔记,同时支持多用户和协作功能。Joplin Server使用现代技术栈,数据库使用的是 PostgreSQL 。 主要功能 同步:在桌面、移动设备和网页应用之间同步笔记。多用户支持:允…

【梯度消失|梯度爆炸】Vanishing Gradient|Exploding Gradient——为什么我的卷积神经网络会不好呢?

【梯度消失|梯度爆炸】Vanishing Gradient|Exploding Gradient——为什么我的卷积神经网络会不好呢? 【梯度消失|梯度爆炸】Vanishing Gradient|Exploding Gradient——为什么我的卷积神经网络会不好呢? 文章目录 【梯度消失|梯度爆炸】Vanishing Gradi…

【限流算法】常见的限流算法有哪些,怎么做限流操作

【限流算法】常见的限流算法有哪些,怎么做限流操作 在Java应用中实现限流(Rate Limiting)通常是为了控制对资源或服务的访问速率,防止因过载而导致的服务不可用。Java中实现限流的方法有多种,以下是一些常见的方法&…

Spring Boot- 配置文件问题

Spring Boot 配置文件问题探讨 Spring Boot 是目前主流的 Java 开发框架之一,其核心特性之一便是“约定优于配置”(Convention over Configuration)。在此基础上,Spring Boot 提供了灵活而强大的配置文件机制,帮助开发…

HTML5好看的水果蔬菜在线商城网站源码系列模板2

文章目录 1.设计来源1.1 主界面1.2 商品列表界面1.3 商品详情界面1.4 其他界面效果 2.效果和源码2.1 动态效果2.2 源代码 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/142059220 HTML5好看的水果蔬菜在线商城…

【佳学基因检测】在EXCEL中,如何获取A列的第9-29个字符,将其填入另一列中

【佳学基因检测】在EXCEL中,如何获取A列的第9-29个字符,将其填入另一列中 在 Excel 中,如果你需要从 A 列的单元格中提取第 9 到第 29 个字符,你可以使用 MID 函数来实现。这是一个非常实用的函数,用于从文本字符串中…

基于kolla-ansible在AnolisOS8.6上部署all-in-one模式OpenStack-Train

测试环境 Anolis OS8.6 Virtual Box,4 vCPU, 8G RAM, 50 vDisk。安装时删除/home,SWAP分区,全部空间给/目录。 目标是部署OpenStack All-In-One模式,控制节点计算节点存储节点在一台机器实现。 系统配置 常用工具 dnf install …

C语言--结构体(学习笔记)

内容借鉴于b站杜远超官方频道(C语言结构体详解【干货】) 首先C语言中定义变量格式为“数据类型 变量名”,如int a; float b;等等。 那么结构体则是将多个变量(数据类型 变量名)结合在一起的一种新的数据类型&…

C++掉血迷宫

目录 开头程序程序的流程图程序游玩的效果下一篇博客要说的东西 开头 大家好&#xff0c;我叫这是我58。 程序 #include <iostream> #include <string> #include <cstring> using namespace std; enum RBYG {R 1,B 2,Y 4,G 7, }; struct heal {int ix…

四川锦程消费金融有限责任公司2024年(第一批次)催收机构选型入库采购公告

四川锦程消费金融有限责任公司2024年&#xff08;第一批次&#xff09;催收机构选型入库采购公告 根据需要&#xff0c; 四川锦程消费金融有限责任公司决定对外公 开选型采购催收代理合作的催收机构&#xff0c;欢迎符合条件的催收 机构参与采购。具体公告如下&#xff1a; 一…