功能测试 之 单模块测试----轮播图、登录、注册
- 需求分析
- 拆解测试点
- 编写用例
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(); // 真…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...

深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...
掌握 HTTP 请求:理解 cURL GET 语法
cURL 是一个强大的命令行工具,用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中,cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...
AWS vs 阿里云:功能、服务与性能对比指南
在云计算领域,Amazon Web Services (AWS) 和阿里云 (Alibaba Cloud) 是全球领先的提供商,各自在功能范围、服务生态系统、性能表现和适用场景上具有独特优势。基于提供的引用[1]-[5],我将从功能、服务和性能三个方面进行结构化对比分析&#…...