“用户登录”测试用例总结

前言:作为测试工程师,你的目标是要保证系统在各种应用场景下的功能是符合设计要求的,所以你需要考虑的测试用例就需要更多、更全面。鉴于面试中经常会问“”如何测试用户登录“”,我们利用等价类划分、边界值分析等设计一些测试用例。

显式功能性需求测试用例

1. 输入已注册的用户名和正确的密码,验证是否登录成功;

2. 输入已注册的用户名和不正确的密码,验证是否登录失败,并且提示信息正确;

3. 输入未注册的用户名和任意密码,验证是否登录失败,并且提示信息正确;

4. 用户名和密码两者都为空,验证是否登录失败,并且提示信息正确;

5. 用户名和密码两者之一为空,验证是否登录失败,并且提示信息正确;

6. 如果登录功能启用了验证码功能,在用户名和密码正确的前提下,输入正确的验证码,验证是否登 录成功;

7. 如果登录功能启用了验证码功能,在用户名和密码正确的前提下,输入错误的验证码,验证是否登 录失败,并且提示信息正确;

8. 用户名和密码是否大小写敏感;

9. 页面上的密码框是否加密显示;

10. 后台系统创建的用户第一次登录成功时,是否提示修改密码;

11. 忘记用户名和忘记密码的功能是否可用;

12. 前端页面是否根据设计要求限制用户名和密码长度;

13. 如果登录功能需要验证码,点击验证码图片是否可以更换验证码,更换后的验证码是否可用;

14. 刷新页面是否会刷新验证码;

15. 如果验证码具有时效性,需要分别验证时效内和时效外验证码的有效性;

16. 用户登录成功但是会话超时后,继续操作是否会重定向到用户登录界面;

17. 不同级别的用户,比如管理员用户和普通用户,登录系统后的权限是否正确;

18. 页面默认焦点是否定位在用户名的输入框中;

19. 快捷键Tab 和Enter等,是否可以正常使用

 

非功能性需求测试用例

安全性测试用例包括:

1. 用户密码后台存储是否加密;

2. 用户密码在网络传输过程中是否加密;

3. 密码是否具有有效期,密码有效期到期后,是否提示需要修改密码;

4. 不登录的情况下,在浏览器中直接输入登录后的URL地址,验证是否会重新定向到用户登录界面;

5. 密码输入框是否不支持复制和粘贴;

6. 密码输入框内输入的密码是否都可以在页面源码模式下被查看;

7. 用户名和密码的输入框中分别输入典型的“SQL注入攻击”字符串,验证系统的返回页面;

8. 用户名和密码的输入框中分别输入典型的“XSS跨站脚本攻击”字符串,验证系统行为是否被篡改;

9. 连续多次登录失败情况下,系统是否会阻止后续的尝试以应对暴力破解;

10. 同一用户在同一终端的多种浏览器上登录,验证登录功能的互斥性是否符合设计预期;

11. 同一用户先后在多台终端的浏览器上登录,验证登录是否具有互斥性。

性能压力测试用例包括:

1. 单用户登录的响应时间是否小于3秒;

2. 单用户登录时,后台请求数量是否过多;

3. 高并发场景下用户登录的响应时间是否小于5秒;

4. 高并发场景下服务端的监控指标是否符合预期;

5. 高集合点并发场景下,是否存在资源死锁和不合理的资源等待;

6. 长时间大量用户连续登录和登出,服务器端是否存在内存泄漏

兼容性测试用例包括:

1. 不同浏览器下,验证登录页面的显示以及功能正确性;

2. 相同浏览器的不同版本下,验证登录页面的显示以及功能正确性;

3. 不同移动设备终端的不同浏览器下,验证登录页面的显示以及功能正确性;

4. 不同分辨率的界面下,验证登录页面的显示以及功能正确性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/19463.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

git的clone,上传,mirror与upstream同步

文章目录 clone日志信息的同步子树合并同步 clone clone他人项目,git到自己的项目 rm -rf .git .git存放原始项目的日志信息,这里需要添加自己的日志信息,需要删除重写。也可手动删除 git init 初始化文件,依据本地日志信息生产.…

Gradle和Maven的区别

Gradle和Maven 当涉及到构建和管理项目时,Gradle和Maven是两个非常流行的选项。本文将讨论Gradle和Maven之间的区别以及它们的配置信息差异。 1. Gradle和Maven的区别 1.1 构建脚本语言 Maven使用XML作为构建脚本语言,而Gradle使用基于Groovy的DSL&…

c 语言解析 时间字符串

#include <iostream> #include <ctime>int main(int argc, char *argv[]) {struct tm timeinfo;char cur_time[] "current time: 2021-09-06 23:50:13";// 解析时间到timeinfo中strptime(cur_time, "current time: %Y-%m-%d %H:%M:%S", &…

查看内存类型和频率 - Win系统

查看内存类型和频率 - Win系统 问题方法1&#xff08;推荐&#xff09;&#xff1a;使用命令行方法2&#xff1a;使用CPU-Z方法3&#xff1a;使用AIDA64 问题 我们在为电脑扩充内存时需要提前了解电脑内存的类型和频率&#xff0c;防止内存不兼容&#xff0c;但在设备管理器和…

java+springboot+mysql疫情物资管理系统

项目介绍&#xff1a; 使用javaspringbootmysql开发的疫情物资管理系统&#xff0c;系统包含超级管理员&#xff0c;系统管理员、员工角色&#xff0c;功能如下&#xff1a; 超级管理员&#xff1a;管理员管理&#xff1b;部门管理&#xff1b;职位管理&#xff1b;员工管理&…

基于STM32设计的数显热水器

一、项目介绍 当前介绍的项目是基于 STM32F103ZET6 系列 MCU 设计的数显热水器&#xff0c;通过显示屏来显示热水器的温度及其工作状态&#xff0c;通过 PT100 传感器来检测热水器的温度变化&#xff0c;并通过电加热片实现加热过程&#xff0c;以达到控制热水器温度的目的。 …

结构思考力-有效提升你的工作效率20倍以上

结构思考力是一种帮助人们察觉并改善自身思考结构的思考艺术&#xff0c;它将人们的思维表达以一种逻辑结构的形式来表示&#xff0c;从而简化人与人之间的沟通成本&#xff0c;提高工作效率。每个人思考问题的方式不同&#xff0c;不同的思考结构使人们的注意力的方向也不同&a…

机房环境、动力、网络、安防,帮您提高运维效率,确保机房安全

机房作为单位的核心部门&#xff0c;由计算机、服务器、网络设备、存储设备等关键设备组成&#xff0c;智能化计算机机房这个概念在各个领域中&#xff0c;已经占据了很重要的地位&#xff0c;伴随着国家大力倡导的&#xff0c;东数西算&#xff0c;数字经济、云计算、5G大数据…

IPC进程间通信探索——管道的原理与特点

&#x1f923; 爆笑教程 &#x1f449; 《看表情包学Linux》 &#x1f525; CSDN 累计订阅量破千的火爆 C/C 教程的 2023 重制版&#xff0c;C 语言入门到实践的精品级趣味教程。了解更多&#xff1a; &#x1f449; "不太正经" 的专栏介绍 ← 试读第一章订阅链接&am…

JVM基础篇-线程运行诊断

JVM基础篇-线程运行诊断 CPU占用过多定位 用top定位哪个进程对cpu的占用过高ps H -eo pid,tid,%cpu | grep 进程id &#xff08;用ps命令进一步定位是哪个线程引起的cpu占用过高&#xff09;jstack 进程id 可以根据线程id 找到有问题的线程&#xff0c;进一步定位到问题代码的…

SpringBoot整合SSMP小demo

创建项目 spring web&#xff0c;mybatis&#xff0c;mysql勾选 加入mp和druid&#xff0c;依赖见SpringBoot基础认识_阳光明媚UPUP的博客-CSDN博客 yml数据源 server:port: 81 spring:datasource:druid: #整合方式配置driver-class-name: com.mysql.jdbc.Driverurl: jdbc:m…

深度学习之tensorboard可视化工具

(1)什么是tensorboard tensorboard是TensorFlow 的一个可视化工具包&#xff0c;提供机器学习实验所需的可视化和工具&#xff0c;该工具的功能如下&#xff1a; 跟踪和可视化指标&#xff0c;例如损失和精度可视化模型图&#xff08;操作和层&#xff09;查看权重、偏差或其…

【动态规划】子序列系列

文章目录 动态规划&#xff08;子序列系列&#xff09;1. 最长递增子序列2. 摆动序列3. 最长递增子序列的个数4. 最长数对链5. 最长定差子序列6. 最长的斐波那契子序列的长度7. 最长等差数列8. 等差数列划分 || - 子序列 动态规划&#xff08;子序列系列&#xff09; 1. 最长递…

mac电脑访问windows共享文件夹连接不上(设置445端口)

前提&#xff1a;首先需要保证mac和windows都在同一局域网内&#xff0c;如果不在肯定是连不上的&#xff0c;就不用往下看了。 事情是这样的&#xff0c;公司入职发了mac电脑&#xff0c;但是我是window重度用户&#xff0c;在折腾mac的过程中&#xff0c;有许多文件需要从wi…

金融数学方法:蒙特卡洛模拟

1.方法介绍 蒙特卡洛模拟是一种基于概率和统计的数值计算方法&#xff0c;用于解决各种复杂问题。它以概率统计为基础&#xff0c;通过随机抽样和重复实验的方式进行模拟&#xff0c;从而得到问题的近似解。它的基本思想是通过大量的随机样本来近似计算问题的解&#xf…

搜索与图论(二)

最短路 单源最短路 所有边权都是正数 朴素Dijkstra算法 基本思路:从1号点到其他点的最短距离 步骤: 定义一个s集合包含当前已确定最短距离的点 1、初始化距离dis[1] 0,dis[其它] 正无穷 2、for i 0-n循环n次 2.1找到不在s中的距离最近的点 ->t 2.2把t加到s当中去…

【面试题】作用域面试题

作用域 全局作用域局部作用域&#xff08;函数里&#xff09;也称函数作用域块级作用域 {}包裹的 例如if for 括号&#xff08;&#xff09;也算 变量 全局变量 谁都能用&#xff0c;在函数内也可以局部变量&#xff0c;只能在该函数内用&#xff0c;如果这个函数嵌套了子函…

Arcgis 分区统计majority参数统计问题

利用Arcgis 进行分区统计时&#xff0c;需要统计不同矢量区域中栅格数据的众数&#xff08;majority&#xff09;&#xff0c;出现无法统计majority参数问题解决 解决&#xff1a;利用copy raster工具&#xff0c;将原始栅格数据 64bit转为16bit

kotlin 编写一个简单的天气预报app(三)broadcast换成eventbus

使用eventbus替换broadcast 将从Broadcast切换到EventBus有以下几个好处&#xff1a; 解耦性&#xff1a;通过使用EventBus&#xff0c;您可以实现组件之间的解耦。传统的Broadcast机制需要发送方和接收方明确知道对方的存在&#xff0c;并且需要在代码中设置Intent过滤器和广…

Vue中的插值表达式

Vue中的插值表达式&#xff08;Interpolation&#xff09;用于将数据动态绑定到HTML模板中。它的主要作用是在模板中直接显示变量的值&#xff0c;并实现数据的双向绑定。以下是插值表达式的一些作用&#xff1a; 1.变量展示&#xff1a;插值表达式允许将Vue实例中的数据直接显…