功能测试 之 单模块测试----轮播图、登录、注册
- 需求分析
- 拆解测试点
- 编写用例
1.轮播图
(1)需求分析
位置:后台--页面--广告管理---广告列表(搜索index页面增加广告位2)
操作完成后需要点击admin---更新缓存,前台页面刷新生效

(2)拆解测试点

(3)编写用例

注意:
我们一般在公司里面测的时候,需要注意:一般情况下, 系统要分不同的权限(即不同的角色看到的界面是不一样的),所以在公司测试的时候要先把这些权限先测了。
测了之后呢,然后像我们这个商城,它是分了两个子系统:一个前台,一个后台。一般情况下在公司里我们都是先测后台, 后侧前台。
- 因为前台它只是一个就相当于它只是个荧屏,用来展示结果, 整个页面上的所有东西都是在后台配置的。
- 所以你在公司里面测的时候,一般情况肯定是先测后台,我后台的添加这个功能,后台配置这功功能没有问题了,接下来你直接去前台看一下显示效果。
- 如上面这个轮播图,我们要测前台肯定默认的是后台已经测试OK的情况下才能测的。这后台不OK的情况下肯定是没有办法去测的。
2.登录
(1)需求分析
概述:

功能:

- 账户名:格式正确,注册成功的用户账号(手机号或者邮箱);
- 密码:注册成功账号对应密码。
- 验证码:大小写不限定,点击图片可更新验证码内容,不可重用。
点击登录按钮,登录成功后跳转至我的商城页,页面显示用户名。
登录失败显示对应提示。
登录过程提示语如下:
| 序号 | 模块 | 操作 | 提示语 |
|---|---|---|---|
| 1 | 正确登录验证 | 输入正确手机号或邮箱、密码、验证码 | 无提示语,跳转到我的商城界面 |
| 2 | 账号验证 | 非正确的手机号或邮箱格式 | ![]() |
| 3 | 账号验证 | 输入正确格式(手机号,邮箱)未注册的账号,密码,正确验证码,点击登录 | ![]() |
| 4 | 账号为空 | 账号为空,点击登录 | ![]() |
| 5 | 密码为空 | 账号输入正确,未输入密码,验证码填写正确,点击登录 | ![]() |
| 6 | 密码错误 | 账号输入正确,输入错误密码,验证码填写正确,点击登录 |
点击登录后更新验证码 |

(2)拆解测试点

(3)编写用例


3.注册
(1)需求分析
概述:
1.首次登入商城首页为游客状态,网站头部显示登录注册两个链接

2.注册页面,默认为手机号注册

3.可以切换为邮箱注册

功能:
使用手机号和邮箱注册区别仅仅为第一个输入框不同,以下合并说明。
- 手机号:必填项,第一位为1,第二位为大于2,的11位自然数,不能重复
邮箱:正确格式的邮箱格式 xxxx@[126/sina/qq].com
注意:对于邮箱注册,仅验证邮箱格式是否正确
- 验证码:必填项,字母或者数字,与图片一致,点击刷新按钮可以更新验证码
- 设置密码:必填项,要求同输入框提示,6-16位大小写英文字母,数字或符号的组合 (可以是纯字母,数字,符号)
- 确认密码:必填项,同设置密码
- 推荐人手机:(非必填,之前注册成功的用户)
- 我已阅读并同意:勾选之后才可以点击同意协议并注册
注册过程提示语:
| 序号 | 模块 | 操作 | 提示语 |
| 手机/邮箱注册 | |||
| 1 | 正确注册验证 | 输入符合条件的手机号/邮箱,验证码,密码,推荐人手机,勾选同意协议 |
跳转至首页 |
| 2 | 正确注册验证 | 输入符合条件的手机号/邮箱,验证码,密码,勾选同意协议 |
跳转至首页 |
| 3 | 重复注册 | 输入符合条件的手机号/邮箱(已存在),验证码,密码,勾选同意协议 |
点击同意协议并注册后页面提示“账号已存在”,点击确定后,页面账号密码不消失,验证码刷新。 |
| 4 | 手机号/邮箱验证 | 不输入手机号/邮箱,或者输入错误的手机号/邮箱,点击注册 |
点击同意协议并注册后提示请用手机号或者邮箱注册 |
| 5 | 验证码错误 | 输入错误的验证码,点击注册按钮 |
点击同意协议并注册后提示验证码错误 |
| 6 | 验证码为空 | 不输入验证码,点击注册 |
点击同意协议并注册后验证码不能为空 |
| 7 | 密码为空验证 | 未输入密码,点击注册按钮 |
点击同意协议并注册后提示请输入用户名或者密码 |
| 8 | 密码验证 | 两次密码输入不一致,点击注册按钮 |
点击同意协议并注册后两次输入密码不一致 |
| 9 | 密码验证 | 密码输入不符合要求,点击注册 |
点击同意协议并注册后提示上述途中文字 |
(1)注册成功状态
- 前台:弹框提示注册成功;跳转到首页; 显示登录状态
- 后台:会员列表新增一条记录
- 数据库:tp_users表增加一条数据、
(2)注册失败状态
- 前台:弹出提示注册失败的信息
- 后台:无
- 数据库:无
(2)拆解测试点



(3)编写用例

有效的条件可以一条里面覆盖多个。







未完待续。。。
相关文章:
功能测试 之 单模块测试----轮播图、登录、注册
单功能怎么测? 需求分析 拆解测试点 编写用例 1.轮播图 (1)需求分析 位置:后台--页面--广告管理---广告列表(搜索index页面增加广告位2) 操作完成后需要点击admin---更新缓存,前台页面刷新生效 (2)拆解…...
MyBatis-PageHelper 源码解说
归档 GitHub: MyBatis-PageHelper-源码解说 总说明 源码仓库: https://github.com/pagehelper/Mybatis-PageHelper克隆:git clone https://github.com/pagehelper/Mybatis-PageHelper.git切分支(tag):git checkout m…...
基于uni-app和图鸟UI的智慧校园圈子小程序开发实践
摘要: 随着教育信息化和“互联网教育”的快速发展,智慧校园建设已成为推动校园管理现代化、提高教育教学质量的重要手段。本文介绍了基于uni-app和图鸟UI开发的智慧校园圈子小程序,旨在通过一站式服务、个性化定制、数据互通和安全可靠等特点…...
STM32 keil工程移植到Visual Studio Code环境中编译
1、GCC Vscode 搭建 STM32 开发环境 GCC Vscode 搭建 STM32 开发环境(一)- 环境部署 - 知乎 (zhihu.com) 2、在原有keil工程下找到原本CUBEMX生成的.ioc工程文件 3、将.ioc文件复制一个新的文件夹下双击打开工程,将IDE选为Makefile&…...
细说CountDownLatch
CountDownLatch是Java中提供的一个同步辅助类,它允许一个或多个线程等待其他线程完成操作。在面试中,面试官经常会询问候选人是否在实际项目中使用过CountDownLatch,以评估其对多线程编程和并发控制的理解和经验。本文将详细介绍CountDownLat…...
java-克隆应用
5.2 创建复杂对象 对于某些复杂对象,通过克隆来创建其副本比通过构造函数创建新实例更加高效。例如,当对象包含大量字段或需要进行复杂初始化时,克隆可以显著提高性能。 java 复制代码 class ComplexObject implements Cloneable { private …...
RPC协议
3.8 既然有 HTTP 协议,为什么还要有 RPC 假设我们需要在 A 电脑的进程发一段数据到 B 电脑的进程,我们一般会在代码里使用 Socket 进行编程。 这时候,我们可选项一般也就 TCP 和 UDP 二选一。TCP 可靠,UDP 不可靠。 类似下面这…...
医疗器械3D全景展会在线漫游创造数字化时代的展览新篇章
在数字化浪潮的引领下,VR虚拟网上展会正逐渐成为企业展示品牌实力、吸引潜在客户的首选平台。我们与广交会携手走过三年多的时光,凭借优质的服务和丰富的经验,赢得了客户的广泛赞誉。 面对传统展会活动繁多、企业运营繁忙的挑战,许…...
IP_Endpoint类型在CAPL中的使用
在使用TCP/IP协议栈通信时,创建Socket套接字调用接口函数实现通信的整个过程成为一种主流且便捷的方式。在CAPL中,Client需要创建TCP或UDP套接字,绑定自己的IP地址和一个端口号,作为自己的通信端点。 on key c {clientsocket = tcpOpen(ipGetAddressAsNumber("192.16…...
数据资产与用户体验优化:深入挖掘用户数据,精准分析用户需求与行为,优化产品与服务,提升用户体验与满意度,打造卓越的用户体验,赢得市场认可
一、引言 在数字化时代,数据已经成为企业最宝贵的资产之一。通过深入挖掘和分析用户数据,企业能够精准把握用户需求和行为,从而优化产品与服务,提升用户体验和满意度。这不仅有助于企业在激烈的市场竞争中脱颖而出,还…...
基于TCAD与紧凑模型结合方法探究陷阱对AlGaN/GaN HEMTs功率附加效率及线性度的影响
来源:Investigation of Traps Impact on PAE and Linearity of AlGaN/GaN HEMTs Relying on a Combined TCAD–Compact Model Approach(TED 24年) 摘要 本文提出了一种新型建模方法,用于分析GaN HEMTs的微波功率性能。通过结合工…...
具身智能概念
具身智能作为人工智能发展的一个重要分支,伴随着大模型技术的爆发与硬件成本的降低,即软硬件技术走向成熟,正在成为广泛关注的热门,一时之间,具身智能机器人也成为了科技界新的风向标。 什么是具身智能? …...
C++ 43 之 自增运算符的重载
#include <iostream> #include <string> using namespace std;class MyInt{friend ostream& operator<< (ostream& cout , MyInt& int1); public:MyInt(){this->m_num 0;}// 前置自增: 成员函数实现运算符的重载 返回的是 引用&a…...
计算机网络:1概述、2物理层
目录 概述因特网网络、互连网(互联网)与因特网的区别与关系因特网发展的三个阶段因特网服务提供者(Internet Service Provider,ISP)因特网的标准化工作因特网的管理结构 三种交换电路交换分组交换报文交换 计算机网络性…...
【Ardiuno】实验使用ESP32接收电脑发送的串口数据(图文)
使用ESP32可以非常方便的与电脑进行串口通讯,一般我们可以用串口接收ESP32的输出作为调试使用,今天我们再来实验一下从电脑端向ESP32单片机发送数据。 发送数据程序代码: void setup() {Serial.begin(9600); }void loop() { if(Serial.ava…...
思科ospf+rip重发布配置命令
——————————————————————————————————————————— 基础配置 R1 Router>en #进入配置模式 Router#conf #进入配置模式 Router(config)#h…...
椭圆的矩阵表示法
椭圆的矩阵表示法 flyfish 1. 标准几何表示法 标准几何表示法是通过椭圆的几何定义来表示的: x 2 a 2 y 2 b 2 1 \frac{x^2}{a^2} \frac{y^2}{b^2} 1 a2x2b2y21其中, a a a 是椭圆的长半轴长度, b b b 是椭圆的短半轴长度。 2.…...
智慧乡村和美人家信息化系统
一、简介 智慧乡村和美人家信息化系统是一个综合管理平台,集成了首页概览、一张图可视化、数据填报、智能评估、便捷申报、公开公示、任务管理、活动发布和灵活配置等功能。该系统不仅提升了乡村管理效率,也优化了家庭生活的便捷性。通过一张图…...
ios-deploy - Required for installing your app on a physical device with the CLI
ios-deploy 是一个用于在 iOS 设备上安装、调试和运行 iOS 应用的开源工具。如果你正在使用命令行界面(CLI)来部署 React Native 或其他原生 iOS 应用到物理设备,那么安装 ios-deploy 是必要的。 以下是安装 ios-deploy 的一般步骤ÿ…...
thinkphp5使用模型删除与复杂查询EXP
模型删除 应用软删除 表中需要有字段,deletetime 模型中使用下面方法 use SoftDelete;protected $deleteTime delete_time;真实删除 // 软删除 User::destroy(1); // 真实删除 User::destroy(1,true); $user User::get(1); // 软删除 $user->delete(); // 真…...
css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...
Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...
C++.OpenGL (20/64)混合(Blending)
混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...
pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)
目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 (1)输入单引号 (2)万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...
MySQL 主从同步异常处理
阅读原文:https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主,遇到的这个错误: Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一,通常表示ÿ…...
聚六亚甲基单胍盐酸盐市场深度解析:现状、挑战与机遇
根据 QYResearch 发布的市场报告显示,全球市场规模预计在 2031 年达到 9848 万美元,2025 - 2031 年期间年复合增长率(CAGR)为 3.7%。在竞争格局上,市场集中度较高,2024 年全球前十强厂商占据约 74.0% 的市场…...
Python学习(8) ----- Python的类与对象
Python 中的类(Class)与对象(Object)是面向对象编程(OOP)的核心。我们可以通过“类是模板,对象是实例”来理解它们的关系。 🧱 一句话理解: 类就像“图纸”,对…...














