测试用例的设计(超详细)

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

🍅 关注公众号:互联网杂货铺,回复1 ,免费获取软件测试全套资料,资料在手,薪资嘎嘎涨

1. 测试用例的概念

软件测试人员向被测试系统提供的一组数据的集合,包括 测试环境、测试步骤、测试数据、预期结果

2. 为什么在测试前要设计测试用例

测试用例是执行测试的依据

在回归测试的时候可以进行复用

是自动化测试编写测试脚本的依据

衡量需求的覆盖率

后续的测试人员可以借鉴前人写的东西

3. 基于需求进行测试用例的设计

需求是测试人员进行测试的依据

测试人员首先要分析需求,验证需求的正确性、合理性,无二义性并且逻辑自洽

在需求正确的基础上细化需求,从需求提炼出一个个测试点,再根据测试点进行测试用例的设计

在分析需求提取测试点时,一般分为 功能性需求测试 和 非功能性需求测试

1)功能性需求测试

功能性需求测试分析通常包括以下几个方面:

验证各个界面的功能

用具体业务将功能串起来进行测试

功能之间交互性、一致性的测试

一个功能的多个不同输入的测试

功能的异常测试

功能涉及到的算法的测试

2)非功能性需求测试

在功能的基础上做一些限制,满足特定场景的需求,让用户有更好的体验

一般在 性能、安全性、可靠性、兼容性、可移植性(移植到不同的设备)、易用性 等

不同类型的软件对于非功能性需求要求是不一样的

客户端软件,word、ppt、音乐播放器等,此类软件对功能要求很简单,对性能、安全性要求比较低,软件的可移植性要求比较高

这类软件一般都是在个人客户端上运行的,一般都是一对一的运行,不存在多人使用同一个服务器,所以对安全性和性能要求比较低,但是这类软件要求在不同环境下的使用,所以对可移植性要求比较高

企业软件,一些仅供企业内部使用的软件,对功能有一定的要求,对安全性、性能要求比较低

这类软件一般都是企业内部在使用,使用人数不多,所以对安全性和性能要求比较低

商业软件,市面上的大型复杂网络应用,对功能、性能、安全性、可移植性、易用性要求都很高

4. 具体的测试用例设计方法

1)等价类

等价类法一般应用在有输入的场合内

根据需求将输入分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例通过,则认为所代表的等价类测试通过,这样可以很好的解决测试用例无法穷举的情况

等价类又分为 有效等价类 和 无效等价类

有效等价类: 符合需求说明书的数据,用来验证程序是否实现了需求说明书所规定的功能

无效等价类: 不符合需求说明书的数据

对于注册邮箱时的等价类:

规定: 6 ~ 18 个字符,可使用字母、数字、下划线,需要以字母开头

有效等价类:

6 ~ 18 个字符,以字母抬头,纯字母

6 ~ 18 个字符,以字母抬头,后面为数字

6 ~ 18 个字符,以字母抬头,后面为下划线

6 ~ 18 个字符,以字母抬头,后面有数字和下划线

无效等价类:

小于 6 个字符,以任意字符组成

大于 18 个字符,以任意字符组成

6 ~ 18 个字符,不以字母开头

6 ~ 18 个字符,以字母开头,包含任意字符

2)边界值

对输入输出的边界进行针对性测试用例的设计,叫做边界值法

边界值法一般与等价类法一起组合使用,边界值法是等价类法的重要补充

案例:

用户注册时规定用户名 6 ~ 18 位

边界值:5,6,7,17,18,19

针对以上几个点进行测试用例的设计

3)错误猜测法

测试人员根据自己的经验、只是、个人直觉判断软件哪一块有问题,再进行针对性测试用例的设计

这个方法适用于补充测试用例,或者进行探索性测试的情况

但也有一个很明显的缺点,过度依赖测试人员的个人能力和主观判断

4)场景法

把一个个孤立的功能穿起来形成一个场景,每一个功能的输入会触发流程走向不同的场景,根据不同功能的不同输入触发形成的不同场景进行测试用例的设计

要点: 提取出场景中设计的所有功能点,考虑每一个功能的不同输入

5)因果图法

因果图是一种可以直观地 表达程序输入输出之间相互关系 的逻辑图

使用场景: 适用于被测试程序 具有多种不同输入条件并且输出结果依赖于输入条件 的情况

因果图中的关系:

恒等: 输入为真,输出为真

与: 输入条件有多个,条件全为真,输出才为真

或: 输入条件有多个,其中一个为真,输出就为真

非: 输入为真(假),输出为假(真)

使用因果图设计测试用例的流程:

分析程序所有的输入和输出

找出输入和输出之间的逻辑关系

根据输入和输出的逻辑关系画出因果图

根据因果图画出判定表

根据判定表设计测试用例

案例: 618 抢购活动中,订单已提交并且购物金额大于 300 或者有红包,则说明有优惠,否则无优惠

分析输入输出

输入:订单已提交、购物金额大于 300、有红包

输出:有优惠、没有优惠

找出输入输出之间的逻辑关系

根据逻辑关系画出因果图

根据因果图画出判定表

  1. 根据判定表设计测试用例
    判定表中每一行都是一个测试用例

6)正交法

根据正交性,从大量的测试数据中,选择最优的数据组合,根据最优的数据组合的结果来衡量整个测试的输出结果

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

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

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

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

相关文章

MySQL窗口函数--lead()函数

lead()函数: 查询当前行向下偏移n行对应的结果 该函数有三个参数:第一个为待查询的参数列名,第二个为向下偏移的位数,第三个参数为超出最下面边界的默认值。 如下代码: 查询向下偏移 2 位的年龄 SELECT user_id,user…

学习Android的第一天

目录 什么是 Android? Android 官网 Android 应用程序 Android 开发环境搭建 Android 平台架构 Android 应用程序组件 附件组件 Android 第一个程序 HelloWorld 什么是 Android? Android(发音为[ˈnˌdrɔɪd],非官方中文…

Linux 驱动开发基础知识——总线设备驱动模型(八)

个人名片: 🦁作者简介:学生 🐯个人主页:妄北y 🐧个人QQ:2061314755 🐻个人邮箱:2061314755qq.com 🦉个人WeChat:Vir2021GKBS 🐼本文由…

SAP SD出库单部分开票后无法继续开票

SAP SD出库单部分开票后无法继续开票。 凭证 80051268 没有包含任何带有未清数量的项目 消息编号 VF171 诊断 凭证80051268不包含可以转换到开票类型中的项目。 系统响应 系统拒绝任何后续处理。 步骤 请检查选择的销售和分销凭证。 除了修改VBUP的相关字段,还有…

服务器未启动而端口进程仍在运行如何查看并杀死

首先登录服务器然后查看当前监听的端口: sudo netstat -tuln比如这里的8080,我们此时并未启动服务器,但是它却正在运行,这会导致服务器刚启动就秒挂。如果没有日志的话会让人有点疑惑,这种情况可能是之前运行了该进程…

外汇天眼:SIX推出了新的SIX参考利率加密货币和SIX实时加密货币指数

全球金融信息提供商SIX今天宣布推出新的SIX参考利率加密货币和SIX实时加密货币指数。新的SIX参考利率加密货币指数和SIX实时加密货币指数涵盖了主要的加密资产比特币(BTC)和以太坊(ETH),为市场及其表现提供了全面的快照…

C/C++ - 函数模板

目录 函数模板基础 函数模板定义 函数模板实例 函数模板调用 函数模板本质 模板函数特化 模板参数限定 默认模板参数 多个模板参数 非类型模板参数 函数模板拓展 模板参数匹配规则 函数模板基础 函数模板定义 使用 template <typename T>​​​​​ 或 templ…

python如何实现异步并发

下面是一个示例代码&#xff0c;展示了如何设计一个异步线程池&#xff0c;并实现线程池满了就等待&#xff0c;空了就继续扔的功能&#xff1a; import concurrent.futures import time # 创建一个线程池 thread_pool concurrent.futures.ThreadPoolExecutor(max_workers8) …

【Java】实现图书管理系统

文章目录 1. 设计背景2. 需求分析3. 设计思路4. 实现4.1 book包4.1.1 Book类4.1.2 BookList类(书架) 4.2 user包4.2.1 User 类4.2.2 AdminUser类&#xff08;管理员用户&#xff09;4.2.3 NormalUser类&#xff08;普通用户&#xff09; 4.3 operation包4.3.1 IOPeration接口4.…

docker笔记整理

Docker 安装 添加yum源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 安装docker yum -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin 启动docker systemctl start docker 查看docker状态 s…

指针(五)

1. sizeof 和 strlen 的对比 1.1 sizeof sizeof 计算变量所占用内存空间大小的&#xff0c;单位是字节&#xff0c;如果操作数是类型的话&#xff0c;计算的是使用类型创建的变量所占用空间的大小。 sizeof 只关注占用内存空间的大小&#xff0c;不在乎内存中存放了什么数据…

【博士每天一篇论文-算法】Continual Learning Through Synaptic Intelligence,SI算法

阅读时间&#xff1a;2023-11-23 1 介绍 年份&#xff1a;2017 作者&#xff1a;Friedemann Zenke&#xff0c;巴塞尔大学弗里德里希米歇尔研究所(FMI) Ben Poole&#xff0c;谷歌 DeepMind 研究科学家 期刊&#xff1a; International conference on machine learning. PMLR…

天线阵列车载应用——前言

本书的总体结构 这本参考书向读者介绍了汽车工业中使用的尖端天线阵列技术。新型通信多阵元天线系统是一种非常有前途的车载设备。例如&#xff0c;智能车辆公路系统(IVHS)包括车对车通信、汽车到路边系统、防撞雷达天线阵列和用于自动巡航控制应用的智能天线阵列&#xff0c;为…

数据可视化工具之选,三选一?

在数据可视化的世界中&#xff0c;选择一款合适的工具对于提升工作效率和洞察力至关重要。本文将对三款主流数据可视化工具进行详细比较&#xff0c;包括山海鲸可视化、Echarts和D3.js&#xff0c;以帮助您做出明智的选择。 山海鲸可视化 山海鲸可视化是一款免费且功能强大的…

手机如何扫描身份证?分享两个方法!

在现代社会&#xff0c;身份证已经成为我们生活中不可或缺的重要证件之一。有时候&#xff0c;我们需要将身份证信息提交给相关部门或者机构&#xff0c;而手动输入身份证信息不仅繁琐&#xff0c;还容易出错。这时&#xff0c;使用手机扫描身份证就成了一个方便快捷的选择。本…

Web性能优化之如何评估网页性能——性能指标和度量工具介绍

前言 用户在访问 web 网页时&#xff0c;大部分都希望网页能够在一秒完成。事实上&#xff0c;加载时间每多 1 秒&#xff0c;就会流失 7%的用户。如果时间超过 8s 用户就会感到不耐烦、会放弃访问。这也就是著名的 “8秒原则”。 虽然当今设备及网络环境都大幅提升&#xff…

C语言assert断言详解指针(3)

各位少年&#xff0c;大家好&#xff0c;我是博主那一脸阳光&#xff0c;今天分享assert法官的断言&#xff0c;指针宝箱的使用。 前言&#xff1a;如果你在计算机的世界中触犯了语法法规&#xff0c;那么编译器就要上线了&#xff0c;就会出现报错。然而想想我们在现实中设计到…

【Linux】Linux基本指令

目录 1.ls指令 2.cd指令 3.touch指令 4.mkdir指令 5.rmdir指令和rm指令 5.1rmdir指令 5.2rm指令 6.man指令 7.cp指令 8.mv指令 9.cat指令 10.more指令 && less指令 10.1more指令 10.2less指令 11.head指令 && tail指令 11.1head指令 11.2tai…

MySQL优化必备知识-索引篇

索引用于快速查找具有特定列值的行。如果没有索引&#xff0c;MySQL必须从第一行开始&#xff0c;然后读取整个表以查找相关行。表越大&#xff0c;成本越高。如果表中有相关列的索引&#xff0c;MySQL可以快速确定在数据文件中间查找的位置&#xff0c;而不必查看所有数据。这…

vue常用指令(v-on传递参数和事件修饰符)

1、传 递 自 定 义 参 数 : 函 数 调 用 传 参 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title…