面试遇到登录功能测试用例设计,你回答对了吗

news2024/11/27 12:48:29

给你一个登录功能,如何设计测试用例

哪怕是最常用最小的一个登录功能,其实涉及到的测试用例也是非常多的,这个题目通常会通过面试来考察求职者的综合能力,尤其是测试用例的设计思维,因为你即使你背了各种测试用例设计方法,比如等价类、边界值、判定表等,真正实际工作中,不可能严格按照这种标准去设计,绝大多数情况下,由于受限于时间成本和经济成本,是不可能去穷尽所有可能的组合的,而是把这些设计方法融会贯通,用尽可能少的用例覆盖更多的场景和功能,针对性地选择测试范围和设计测试用例,以在缺陷风险和研发成本之间取得平衡。

假设有一个登录框,有账号、密码输入框,记住密码功能、登录按钮,请尽可能多的设计一些测试用例。

 

一、功能测试

  • 输入已注册用户名和正确密码,验证登录成功。
  • 输入已注册用户名和不正确密码,验证登录失败且提示信息正确。
  • 输入未注册用户名和任意密码,验证登录失败且提示信息正确。
  • 验证用户名和密码均为空时,登录失败且提示信息正确。
  • 验证用户名或密码为空时,登录失败且提示信息正确。
  • 如果启用了验证码功能,在正确的用户名、密码前提下输入正确的验证码,验证登录成功。
  • 如果启用了验证码功能,在正确的用户名、密码前提下输入错误的验证码,验证登录失败且提示信息正确。
  • 用户名和密码是否区分大小写。
  • 页面上的密码框是否加密显示。
  • 后台系统创建的用户首次登录成功时是否提示修改密码。
  • 忘记用户名和忘记密码的功能是否可用。
  • 前端页面是否按设计要求限制用户名和密码长度。
  • 如果登录功能需要验证码,点击验证码图片是否可以更换验证码,且新验证码是否可用。
  • 刷新页面是否会刷新验证码。
  • 验证时效性验证码的有效性,包括时效内和时效外的验证码。
  • 用户登录成功但会话超时后,继续操作是否会重定向到用户登录界面。
  • 不同级别用户(例如管理员和普通用户)登录系统后的权限是否正确。
  • 页面默认焦点是否定位在用户名的输入框中。
  • 快捷键Tab和Enter等是否可以正常使用。

二、UI测试

  • 验证布局是否合理,输入框和按钮是否对齐。
  • 验证界面的设计风格是否与UI的设计风格一致。
  • 验证界面的文字是否简洁易懂,是否存在错别字。

三、性能测试

  • 验证单用户登录的响应时间是否小于3秒。
  • 验证单用户登录时后台请求数量是否过多。
  • 验证高并发场景下用户登录的响应时间是否小于5秒。
  • 验证高并发场景下服务端的监控指标是否符合预期。
  • 验证高并发场景下是否存在资源死锁和不合理的资源等待。
  • 验证长时间大量用户连续登录和登出时服务器端是否存在内存泄漏。

四、安全测试

  • 验证用户密码是否在后台存储时进行了加密。
  • 验证用户密码在网络传输过程中是否加密。
  • 验证密码是否具有有效期,并在到期后提示需要修改密码。
  • 验证在未登录情况下,在浏览器中直接输入登录后的URL地址是否会重新定向到用户登录界面。
  • 验证密码输入框是否不支持复制和粘贴操作。
  • 验证密码输入框内输入的密码是否可以在页面源码模式下被查看。
  • 验证在用户名和密码输入框中分别输入典型的"SQL注入攻击"字符串后,系统的返回页面。
  • 验证在用户名和密码输入框中分别输入典型的"XSS跨站脚本攻击"字符串后,系统行为是否被篡改。
  • 验证在连续多次登录失败情况下,系统是否会阻止后续的尝试以应对暴力破解。
  • 验证同一用户在同一终端的多种浏览器上登录时,登录功能的互斥性是否符合设计预期。
  • 验证同一用户先后在多台终端的浏览器上登录时,登录是否具有互斥性。

五、兼容性测试

  • 不同浏览器下,验证登录页面的显示以及功能正确性;
  • 相同浏览器的不同版本下,验证登录页面的显示以及功能正确性;
  • 不同移动设备终端的不同浏览器下,验证登录页面的显示以及功能正确性;
  • 不同分辨率的界面下,验证登录页面的显示以及功能正确性。

六、网络相关

  • 验证在网络延迟、弱网、切换网络或断网的情况下是否能正常登录。
  • 验证在无网络模式下登录时,是否正确给出"网络未连接"或"网络异常"的提示。
  • 验证在第一次登录请求超时后(服务器出问题,随后恢复正常),再次请求登录是否能成功。
  • 验证在第一次无网络情况下登录失败后,再次连接网络并登录。
  • 验证在正在登录过程中遇到网络切换(例如从4G切换到WiFi环境)时是否能正常登录。

我们看到,设计用例时,不仅要考虑功能,还要更多考虑性能、安全、兼容性问题,而这些非功能性需求是产品稳定、安全的关键。

看到上述这些测试用例的设计思路,哪些你想到了,哪些角度是你忽略了?我想很多人应该,总有些点,没有覆盖到,但我们应该应该尽可能去训练自己这种全局和多维度的思维。

如果想成为优秀的测试工程师,必须具有宽广的知识面,才能设计出非常完备的测试用例,提高测试覆盖率。

最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】

 全套资料获取方式:点击下方小卡片自行领取即可

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

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

相关文章

开发一款保护程序检测进程假死,精准打开保护的程序

网上很多保护程序都收费, 有免费的,可以将一般程序改成windows服务,我没用,应该很强大 功能点: 1,首先要有能加入保护程序的功能 2,不断的轮询检测程序是否已经运行 3,不断的轮询检测程序是否假死 4,一些其他检测 将保护的程序存入文件列表 保护程序运行时加载…

嵌入式开发学习(STC51-9-led点阵)

内容 点亮一个点; 显示数字; 显示图像; LED点阵简介 LED 点阵是由发光二极管排列组成的显示器件 通常应用较多的是8 * 8点阵,然后使用多个8 * 8点阵可组成不同分辨率的LED点阵显示屏,比如16 * 16点阵可以使用4个8 *…

恒盛策略:医药股反弹,掀涨停潮!

今天上午A股商场涨跌互现,上证指数一度显着跌落,但临近上午收盘时翻红。 作为行情风向标,券商板块盘中一度大幅跌落,但随后快速收窄跌幅,板块内分解较为显着,其中市值超越1000亿元的龙头券商之一的中金公司…

OPENCV C++(八)HOG的实现

hog适合做行人的识别和车辆识别 对一定区域的形状描述方法 可以表示较大的形状 把图像分成一个一个小的区域的直方图 用cell做单位做直方图 计算各个像素的梯度强度和方向 用3*3的像素组成一个cell 3*3的cell组成一个block来归一化 提高亮度不变性 常用SVM分类器一起使用…

HTML Emoji和Emoji 参考手册

HTML表情可以用来在网页中插入各种表情符号图标,丰富了网页表现形式和视觉效果。下面是一些常用HTML表情代码大全📜 Emoji 参考手册 HTML Emoji 扩展:📌 HTML 自定义实现emoji - (freesion.com)

native vlan tag设置错误,导致交换机无法访问

一同事找来,说他的一个测试交换机,下挂一些测试设备,能正常访问,但交换机的ip192.168.100.128却无法telnet访问,ping过去显示无法访问目的主机,让给看一下原因? 已知组网这个交换机接在交换机的…

用于实体对齐的联合学习实体和关系表示2019 AAAI 8.7+8.8

用于实体对齐的联合学习实体和关系表示 摘要介绍相关工作实体对齐图卷积网络 问题公式我们的方法整体架构初步实体对齐图卷积层对齐训练 近似关系表示联合实体和关系对齐 实验总结 摘要 实体对齐是在不同知识图之间集成异构知识的一种可行方法。该领域的最新发展通常采用基于嵌…

端口映射软件可以做什么?快解析如何设置端口映射?

说到端口映射,首先说说nat。简单地说,nat就是在局域网内部网络中使用内部地址,而当内部节点要与外部网络进行通讯时,就在网关处,将内部地址替换成公用地址,从而在外部公网(internet)…

网络系统观察之道

什么是“可观察性”? 当然,“可观察性”这个术语并不是我们发明的。我们最开始从用户那里听到这个概念,这些用户主要来自网站可靠性工程 (SRE) 社区。有些信息来源认为,这个术语起源于硅谷巨头(如 Twitter&#xff09…

CTF流量题解http2.pcapng

使用wireshark工具打开流量文件。 根据网络协议进行分组排序,对流量文件里面的内容进行观察。 16进制转换,16进制转换文本字符串,在线16进制转换 | 在线工具 (sojson.com) Base64编码/解码器,在线解码Base64 (sojson.com) https:…

VS2008总在当前项目文件夹创建3个不必要的文件夹的解决方法

如下图所示: 这3个文件夹都是无必要的空文件夹(1.Visual Studio 2008 2.Visual Studio 2008Projects 3.Visual Studio 2008Templates),每个项目都这样就有点烦躁的了。每次打开还要给你重建。 解决方法: 1.重置“项…

【Java可执行命令】(十八)可视化监控和管理工具 jconsole:获取 JVM的内存使用情况、线程活动、GC 行为等重要指标的可视化工具 ~

Java可执行命令之jconsole 1️⃣ 概念2️⃣ 优势和缺点3️⃣ 使用3.1 语法格式3.2 注意事项 4️⃣ 应用场景🌾 总结 1️⃣ 概念 jconsole 是 Java Development Kit (JDK) 自带的一款图形化监控和管理工具。它旨在提供一个简单而强大的界面,用于监视和管…

成品短视频App源码,开启你的创意视频之旅!

短视频App如今已成为人们记录和分享生活的热门方式。你是否想过自己拥有一款属于自己的短视频App呢?有了短视频App源码,就能轻松实现这一愿望。本文将介绍短视频App源码的优势、开发流程和功能特点,助你快速创建个性化短视频App,开启你的创意…

并发——什么是线程,什么是进程

文章目录 1.1. 何为进程?1.2. 何为线程? 1.1. 何为进程? 进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。 在 Java 中,当我们启动 main 函数时…

鉴源论坛·观擎丨浅谈操作系统的适航符合性(下)

作者 | 蔡喁 上海控安可信软件创新研究院副院长 版块 | 鉴源论坛 观擎 社群 | 添加微信号“TICPShanghai”加入“上海控安51fusa安全社区” 在浅谈操作系统的适航符合性(上)中,详细介绍了民用飞机操作系统的研制现状及其适航要求&#xff…

【雕爷学编程】Arduino动手做(197)---零知 STM32F103RBT6 标准开发板2

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&#x…

SAP ABAP元素域值描述通过函数(DD_DOMVALUE_TEXT_GET)获取

代码如下&#xff1a; PERFORM FRM_GET_DOMVALUE_TEXT USING ZMMD_ZFLZQ <GFS_DATA>-ZFLZQ CHANGING <GFS_DATA>-ZZQTEXT .IF <GFS_DATA>-ZXYLX IS NOT INITIAL .PERFORM FRM_GET_DOMVALUE_TEXT USING ZMMD_ZXYLX <GFS_DATA>-ZXYLX CHANGING <GFS_…

matlab使用教程(11)—创建随机数

MATLAB 使用算法来生成伪随机数和伪独立数。这些数在数学意义上并非严格随机和独立的&#xff0c;但它们能够通过各种随机和独立统计测试&#xff0c;并且其计算可以重复&#xff0c;方便用于测试或诊断目的。 rand 、 randi 、 randn 和 randperm 函数是创建随机数数组的主要…

C++核心编程:C++中的引用

C中的引用 引用的基本语法 作用&#xff1a;给变量起别名 语法&#xff1a;数据类型 & 别名 原名 //比如给一个int变量a命名一个别名 b int &b a;b 20; cout<< a << endl;//a 20引用的注意事项 引用必须初始化 int &b;//错误的引用在初始化后&…

美国超导:一家第四次工业革命中的小型成长型公司

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 总结: &#xff08;1&#xff09;在韩国研究人员宣布发现首个常压室温超导体LLK-99这个潜在的革命性化合物,并大肆宣传后&#xff0c;美国超导(AMSC)的股票暴涨了60%。 &#xff08;2&#xff09;美国超导是一家专门从事超…