功能测试 之 单模块测试----轮播图、登录、注册
- 需求分析
- 拆解测试点
- 编写用例
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(); // 真…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...

ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...

什么是VR全景技术
VR全景技术,全称为虚拟现实全景技术,是通过计算机图像模拟生成三维空间中的虚拟世界,使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验,结合图文、3D、音视频等多媒体元素…...

算法打卡第18天
从中序与后序遍历序列构造二叉树 (力扣106题) 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 示例 1: 输入:inorder [9,3,15,20,7…...

如何把工业通信协议转换成http websocket
1.现状 工业通信协议多数工作在边缘设备上,比如:PLC、IOT盒子等。上层业务系统需要根据不同的工业协议做对应开发,当设备上用的是modbus从站时,采集设备数据需要开发modbus主站;当设备上用的是西门子PN协议时…...
AWS vs 阿里云:功能、服务与性能对比指南
在云计算领域,Amazon Web Services (AWS) 和阿里云 (Alibaba Cloud) 是全球领先的提供商,各自在功能范围、服务生态系统、性能表现和适用场景上具有独特优势。基于提供的引用[1]-[5],我将从功能、服务和性能三个方面进行结构化对比分析&#…...