如何编写高质量测试用例?

🍅 视频学习:文末有免费的配套视频可观看

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,薪资嘎嘎涨

测试场景: 为登录功能设计测试用例

测试员为什么要会编测试用例

测试员的目标是要保证系统在各种场景下的功能是符合设计要求的。而测试用例就是测试员想到的测试场景。(这也是高级别的测试员即使不会代码也能找到较好工作的原因)

编写测试用例的思路

等价类,边界值,正交 判定表 因果图 状态迁移图 场景分析 错误猜测法,其中等价类和边界值是最基础最重要的 我的思路是80%的用例使用这两种写,剩余的20使用其他方法。(其他测试方法是对等价类和边界值做了抽象) 等价类 将可能的场景分为一个有效等价类和多个无效等价类,后续只要从每个等价类中任意选取一个值进行测试,就可以用少量具有代表性的测试输入取得较好的测试覆盖结果(等价类:一组数据或因素对程序产生的影响是一样的) 边界值:使用等价类筛选后,选取边界上的再次进行验证(正好等于、刚刚大于或刚刚小于边界的值作为测试数据)

为登录功能设计测试用例 输入框:用户名 输入框:密码 按钮: 登录 功能 用户名

等价类:

  • 有效的等价类:已经注册的用户名;已注册但是不合法的用户名
  • 无效等价类未注册但是合法的用户名; 已注册但是不合法的用户名(特殊字符;长度); 未注册的用户名 , 空,空格

边界值: 空,长度恰好在需求范围外 特殊字符 密码

等价类

  • 有效等价类:与用户名对应的正确的密码;
  • 无效等价类: 与用户名对应的正确的密码;空,不正确的密码,不合法的密码(SQL注入) 结果

等价类:

  • 有效等价类:登录成功
  • 无效等价类:登录失败,提示信息正确;登录失败,提示信息不正确

非功能测试一般是在功能测试完之后在进行的,否则即使非功能测试的结果再好但是不能满足业务的需求,那就是做无用功。

当测试服务器主机是Windows Server: 判断一下对大小写有没有限制(Windows不区分大小写) 利用Charless等代理工具测试待测软件在弱网和网络切换时的情况 密码框是否加密显示(不可复制,不能猜出位数,浏览器查看源码的情况下也是加密的) 后台系统创建的用户第一次登录成功时,是否提示修改密码;(高校给学生购买了某网课平台的在线课程一般是用学号作为账户名) 验证码的时效性(验证码有效期内,有效期外,恰好在有效期与无效期,同一用户或IP是否有每天获取验证码的次数) 刷新页面是否会刷新验证码 普通用户登录后访问了管理员有权访问的页面是否阻止访问并给出提示信息 页面内容展示后页面的默认焦点是否在用户名的输入框中,且Tab和Enter可以使用 同一用户在同一终端的多种浏览器上登录,验证登录功能的互斥性是否符合设计预期; 同一用户先后在多台终端的浏览器上登录,验证登录是否具有互斥性。

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

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

测试用例的格式

测试用例管理与复用

excel--->数据库

总结

一个优秀的测试工程师应该是有非常广阔的知识面: 产品,开发,运维,数据分析, 安全等软件公司各个方面知识都有所涉猎的“八爪鱼” 这样才能看到软件的整体,甚至是看到软件的短时间内的未来 软件测试是一个妥协的过程,需要平衡测试的投入与产出,不可能做到穷尽测试保证软件完全没有BUG 就目前来说,如果开发用的时开源的主流技术一般不会出现明显的BUG,这也是一些公司没有测试员的原因,且行业内对高级测试员的要求是:一个懂业务懂测试的全栈。

同时,在这我为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接【点击文末小卡片免费领取资料文档】

【2024最新版】Python自动化测试15天从入门到精通,10个项目实战,允许白嫖。。。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HAL STM32+EC11编码器实现增减调节及单击、双击、长按功能

HAL STM32EC11编码器实现增减调节及单击、双击、长按功能 📺实现效果演示: 📘内容提要 📝本文主要实现,通过STM32 HAL库开发,实现的EC11编码器功能,按键结合状态机思想实现的拓展单击、双击、…

win下安装es可视化工具——elasticsearch head(win_Elasticsearch)

一、head简介 Elasticsearch Head是集群管理、数据可视化、增删改查、查询语句可视化工具。 二、node.js的安装 ElasticSearch-head 依赖于node.js 下面先安装node.js 下面是node.js下载地址http://nodejs.cn/download/; 下载后,就是一个安装包&#xf…

如何在Ubuntu安装配置SVN服务端并实现无公网ip访问内网资料库

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” 文章目录 前言1. Ubuntu安装SVN服务2. 修改配置文件2.1 修改svnserve.conf文件2.2 修改passwd文件2.3 修改au…

Java可以用于物联网的开发吗?

Java可以用于物联网的开发吗? 在开始前我有一些资料,是我根据网友给的问题精心整理了一份「Java的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!J…

备忘录记事本内容转移到新手机的方法

在日常的工作和生活中,我习惯用备忘录来记录一切:工作的要点、买菜的清单、生活的琐事……这些看似微小的记录,却是我生活的重要组成部分。然而,每次换手机,我总是面临一个难题:如何将旧手机上的备忘录内容…

下沉市场哪些品牌正当红?“下沉同花顺”异军突起

文 | 螳螂观察 作者 | 易不二 2023年的消费市场,越来越多“农村包围城市”的下沉品牌,以亮眼的表现成为拉动消费复苏的主力军。 全球36000多家门店的蜜雪冰城,向港交所递表冲刺IPO;两大量贩零食巨头赵一鸣零食与零食很忙战略合…

一个响指,代码生成!华为云CodeArts Snap正式公测

月初,华为云CodeArts Snap正式开启公测,这是一款基于华为云研发大模型的智能化编程助手,旨在为开发者提供高效且智能的编程体验,提升研发人员的单兵作战能力。 如今,生成式AI爆发式增长,大模型商用节奏加快…

JVM/GC复习

JVM/GC JVM(java虚拟机)MATjstack(将正在运行的JVM的线程进行快照并且打印出来)死锁VisualVM工具(监控线程内存使用情况)JMX GC垃圾回收算法1.引用计数法2.标记清除发3.标记压缩算法4.复制算法5.分代算法 收集器1.串行垃圾收集器2.并行垃圾收集器2.CMS垃圾收集器 3.G1垃圾收集器…

威联通QNAP NAS结合cpolar内网穿透实现公网远程访问NAS中存储的文件

文章目录 推荐 前言1. 威联通安装cpolar内网穿透2. 内网穿透2.1 创建隧道2.2 测试公网远程访问 3. 配置固定二级子域名3.1 保留二级子域名3.2 配置二级子域名 4. 使用固定二级子域名远程访问 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣…

一文了解prettier

简介 eslint和prettier都是用来做代码格式化的,他们其中又分为npm包和vscode插件,顺序是:先有npm包再有vscode插件 eslint限制工具 作用: 检查代码规范变量声明是否调用是否有console.log()语句… 用法 新建index.js文件 //…

MySQL数据库的锁机制

目录 一、引言 二、锁的类型及作用 2.1 行级锁 2.2 间隙锁与临键锁 2.3 共享锁与排他锁 2.4 意向锁 2.5 表级锁 2.6 元数据锁 三、锁的管理与优化 3.1 合理设置事务隔离级别 3.2 避免长事务 3.3 索引优化 3.4 明确锁定范围 3.5 避免不必要的全表扫描 四、实战分…

JDBC数据库连接

JDBC(Java DataBase Connectivity)就是用Java语言操作关系型数据库的一套API JDBC的步骤固定,大体分为8个步骤,以MySQL数据库为例 1.创建工程并导入驱动jar包 2.注册驱动 注册驱动的目的是告诉代码要执行哪一个jar包 Class.forName(com.mysql.jdbc.D…

多尺度特征融合13种创新方案全面汇总,含2024年最新

前段时间和大佬朋友交流学术的时候,发现目前发论文最好用的2大创新方式一是加注意力机制,二是多尺度特征融合。上回我们讲过了加注意力机制,今天我们就来聊聊多尺度特征融合。 多尺度特征融合是一种在图像处理和CV中使用的技术,由…

05-Seata下SQL使用限制

不支持 SQL 嵌套不支持多表复杂 SQL(自1.6.0版本,MySQL支持UPDATE JOIN语句,详情请看不支持存储过程、触发器部分数据库不支持批量更新,在使用 MySQL、Mariadb、PostgreSQL9.6作为数据库时支持批量,批量更新方式如下以 Java 为例 …

大创项目推荐 题目:垃圾邮件(短信)分类 算法实现 机器学习 深度学习 开题

文章目录 1 前言2 垃圾短信/邮件 分类算法 原理2.1 常用的分类器 - 贝叶斯分类器 3 数据集介绍4 数据预处理5 特征提取6 训练分类器7 综合测试结果8 其他模型方法9 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 基于机器学习的垃圾邮件分类 该项目…

网络协议与攻击模拟_09部署DHCP服务器

一、部署DHCP服务器 Windows server部署DHCP服务器 1、虚拟机网络架构理解 Vmware里面不同的虚拟机可以设置相同的Vmnet网络,也可以设置不同的Vmnet网络。两台虚拟机设置相同的Vmnet1网卡,可以看作为使用虚拟交换机将两台Vmnet1的虚拟机连接起来的。 …

在使用springboot框架式的的script无法通过${}来获取值

今天使用springboot框架做项目&#xff0c;想着来实现一下搜索的下拉框回显功能&#xff0c;然后就一直在报错误&#xff0c;关键是报的错误牛头不对马嘴&#xff0c;检查了一下后端代码&#xff0c;发现没什么问题&#xff0c;就把目光聚焦了.jsp页面的代码 <script type&…

xinput1_3.dll文件的几种修复办法以及修复xinput1_3.dll注意事项

xinput1_3.dll文件是DirectX的一部分&#xff0c;它在Windows系统中负责处理游戏控制器的输入。然而&#xff0c;有时候此文件可能会出现问题&#xff0c;导致游戏无法正常运行或启动。在本文中&#xff0c;将介绍多种解决xinput1_3.dll文件问题的方法&#xff0c;并对它们进行…

Linux本地部署MeterSphere测试平台并实现公网远程访问

文章目录 前言1. 安装MeterSphere2. 本地访问MeterSphere3. 安装 cpolar内网穿透软件4. 配置MeterSphere公网访问地址5. 公网远程访问MeterSphere6. 固定MeterSphere公网地址 前言 MeterSphere 是一站式开源持续测试平台, 涵盖测试跟踪、接口测试、UI 测试和性能测试等功能&am…

Java项目:基于SSM框架实现同城蔬菜配送管理系统(SSM+B/S架构+源码+数据库+毕业论文)

一、项目简介 本项目是一套ssm825基于SSM框架实现同城蔬菜配送管理系统&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&…