七分钟教会你如何编写一个合格的测试用例

news2025/1/19 23:12:57

目录

1、测试用例的基本要素

2、根据测试用例去测试带来的好处

3、测试用例的设计方法

3.1、等价类

3.2、边界值

3.3、错误猜测法

3.4、场景法

3.5、因果图法

 3.6、正交排列

4、怎样判断一个测试用例是好的测试用例


1、测试用例的基本要素

        测试用例是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素


2、根据测试用例去测试带来的好处

2.1、思路清晰,避免遗漏

        有了测试用例,我们就需要将大的项目细细划分,根据每个不同的功能来编写不同的测试用例,来整理我们对整个被测试项目的思路,避免遗漏要测试的功能点

2.2、重复性——自动化测试的基础

        我们测试一个系统不是一个人测一遍就算结束了,而需要多人进行反复测试,因此我们可以利用测试用例来规范和指导我们的测试行为

2.3、跟踪测试进展

通过编写测试用例,执行测试用例,我们可以清楚的知道我们的测试进度

2.4、历史参考

        我们在测试中,必然是会遇到很多功能相同或相近的,而他们的测试用例也就大同小异了,我们可以利用以前对这类功能设计的测试用例,便于我们遇到类似功能的时候作参考        


3、测试用例的设计方法

3.1、等价类

        根据输入(特殊情况下才考虑输出),把输入划分成若干个等价类)从每一个等价类当中选择测试用例进行测试,如果这个测试用例测试通过,我们就说这个测试用例代表的等价类测试通过。
等价类帮助我们解决测试用例无法穷举的情况。

举例:

利用等价类:

 

 另外,等价类还可以进行分类:

 

  • 有效等价类:对于程序的规格说明书是合理的、有意义的输入数据结构的集合,利用有效等价类验证程序是否实现了规格说明中所规定的功能和性能
  • 无效等价类:根据需求说明书,不满足需求的集合

 

3.2、边界值

        边界值分析法就是对输入或者输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界

 

  • 等价类和边界值往往结合起来使用,边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例;
  • 将软件的输入或者输出参数进行等价类划分;
  • 在等价类的基础之上进行边界值分析。一般情况下,假如边界值已经由等价类划分覆盖,则可以不予考虑;
  • 将边界值进行组合,作为测试用例的输入数据;

        细心的小伙伴会问,为什么我们要用边界值去设计测试用例呢?这个是由大量的测试实践经验得出,大量的Bug往往发生在输入定义域或者输出值域的边界上,而不是在内部。因此,我们针对边界情况设计测试用例,一般能发现更多的问题

3.3、错误猜测法

  • 错误猜测法是对被测试软件设计的理解,过往经验以及个人直觉,推测出软件可能存在的缺陷,从而针对性地设计测试用例的方法。
  • 这个方法强调的是对被测试软件的需求理解以及设计实现的细节把握,还有个人的经验和直觉。
  • 错误推测法和目前流行的“探索式测试方法”的基本思想一致,这类方法在敏捷开发模式下的投入产出比很高,被广泛应运于测试。
  • 这个方法的缺点是难以系统化,并且过度依赖个人能力。

3.4、场景法

 

        很多软件不同的场景,是基于不同的事件的触发,不同事件的触发,导致场景走向不同的事件流。不同的功能点串起来形成一个场景。不同的功能点又有不同的输出,不同的输出导致不同的测试场景。 

设计方法:

  • 理解需求,确定业务基本流程、备选流程、异常流程
  • 绘制流程图,再次确认流程路径
  • 根据业务流程图,抽取测试路径
  • 细化路径,利用等价类边界值方法细化路径,抽取测试用例
举例:

ATM取款情景:
插卡 —> 输入密码 —> 输入取款数 —> 取款 —> 退卡

1)插卡

  • 插错卡 (公交卡,会员卡等等)
  • 卡插反
  • 卡损坏
  • 停电吞卡
  • 卡号冻结,账号锁死
  • 网络不好,无法识别卡号

2)输入密码

  • 输入正确的密码
  • 输入错误的密码(密码格式不正确)不输入密码,直接点击确认
  • 密码输入错误超过三次,账户锁定
  • 密码第一次输入错误,第二次或第三次输入正确密码
  • 输入框是否支持删除输入操作
  • 测试密码是否加密
  • 是否支持不同字符的输入

3)输入取款钱数

  • 输入小于卡余额的钱数
  • 输入等于卡余额的钱数
  • 输入大于卡余额的钱数
  • 输入非整百的数
  • 不输入直接按取钱按钮(取钱按钮置灰)
  • 多久不操作超时

4)取款

  • 输入小于等于银行卡余额的钱数时,取款成功
  • 输入大于银行卡余额的钱数,取款失败,并提示“余额不足”
  • 超过每日取款余额的上线
  • 超过每日取款次数的上线

5)退卡

  • 取钱后正常退卡
  • 操作超时,吞卡

6)ATM机

  • ATM机不正常
  • ATM一切正常
  • ATM余额不足
  • ATM断网,断电,硬件故障软件系统崩溃
  • 发生异常情况ATM机是否支持事务回滚

3.5、因果图法

因果图是一种逻辑图,恒等,与或非,用因果图来设计测试用例,叫做因果图法

 

 用于被测程序有多输入,且程序的输出依赖输入的情况,一般分析程序如下:

  • 找出所有的输入条件
  • 明确所有的输出条件
  • 明确所有条件之间的制约关系以及组合关系,哪些条件不能组合在一起,哪些条件可以组合在一起
  • 明确所有输出之间的制约关系以及组合关系,哪些条件不能组合在一起,哪些条件可以组合在一起
  • 找出什么样的输入条件组合会产生哪种输出结果
  • 根据因果图,写出判定表
  • 根据判定表设计测试用例
     

 3.6、正交排列

根据正交性设计测试用例,从大量的实验数据中根据正交原则取出最优的数据组合,根据最优数据组合试验的结果,来分析整个测试结果

正交法的目的就是为了减少测试用例数目,用尽可能少的用例覆盖输入的两两组合,设计方法如下:

  • 确定因素,对软件运行结果有影响的软件
  • 确定因素的取值范围
  • 确定每个因素的水平,采用等价类,边界值,在每个因素内跳出最具有代表性的测试值
  • 选择正交表设计测试用例

4、怎样判断一个测试用例是好的测试用例

  •  用例表达清楚,无二义性

  • 用例可操作性强

  • 用例的输入与输出明确【一条用例只有一个预期结果】

  • 用例的可维护性好

  • 用例对需求的覆盖率高

  • 用例的检索BUG能力强

好的测试用例是一个不熟悉业务的人也能依据用例很快的进行测试

本期结束啦!下期见~ 

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

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

相关文章

基于LEACH和HEED的WSN路由协议研究与改进(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

Google谷歌浏览器Post请求预见strict-origin-when-cross-origin跨域问题的 解决办法

问题概述 关于这个问题,后端接口开发完成,前端功能界面和函数方法体编写完成后,博主在前后端联调的时候遇到的,接口是调用成功了,但是没有返回任何结果, 错误信息:“ Referrer Policy: strict-…

C++中二叉树的非递归遍历方法2-1

1 二叉树简介 树是一种数学上的抽象,在算法的设计与分析中起到一个中心作用。树是有n个节点的有限集合。二叉树是树的一种特殊形式,这种树的每个节点最多有2个子节点。 2 二叉树的遍历方法 二叉树的遍历分为前序遍历、中序遍历、后序遍历和层序遍历四…

【华为上机真题 2022】寻找身高相近的小朋友

🎈 作者:Linux猿 🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊! &…

力扣(LeetCode)147. 对链表进行插入排序(C++)

排序 ①遍历链表,当前遍历的结点记作 ppp 。 ②从前往后遍历链表,找到最后一个值小于 ppp 的结点 curcurcur 。 ③(关键操作) 插入,如图,将 ppp 插入 curcurcur 的后面。 p->next cur->next; cur->next p; p next;…

关于Mac启动人人开源前端项目遇到node-sass下载不了的问题!

今天在网上看到了一个前后端分离用户管理系统,于是心血来潮下载下来看一看,结果发现前端项目中用Mac开发的话坑比较多 1.关于node版本问题 node版本最好不要太高,我对于该项目使用的node版本是v10.16.3 node版本最好使用nvm来管理&#xff0c…

[附源码]Python计算机毕业设计Django的图书互换系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

java基于springboot的在线电影评论投票系统

项目介绍 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代…

可以提高开发效率的vscode插件

1,koroFileHeader 我们在新建一个文件后,常常需要在文件头部加入默认注释,vscode中提供了一个 的插件,可以帮助我们实现。 1.1,安装插件 在vscode extensions中搜索并按照koroFileHeader 插件 installl完成后&…

大数据-HDFS的Shell操作

一、了解HDFS常用Shell命令 1、三种Shell命令方式 命令适用场合hadoop fs适用于任何不同的文件系统,比如本地文件系统和HDFS文件系统hadoop dfs只能适用于HDFS文件系统hdfs dfshdfs dfs跟hadoop dfs的命令作用一样,也只能适用于HDFS文件系统 2、常用HD…

基于C+++Mysql实现(WinForm)图书管理系统【100010034】

图书管理系统 实验内容、步骤以及结果 做出数据流图和数据字典。 在数据流图和字典的基础上做出 E-R 图(概念结构设计)。 学生: 图书: 管理员: 汇总: 在 E-R 图基础上进行关系模式设计(至少满足 3NF)&am…

b站黑马的Vue快速入门案例代码——计数器

目录 目标效果: 重点原理: 1.创建Vue实例的时候: 2.v-on——为元素绑定事件 3.v-text——【解析文本用】设置标签的文本值 v-text【简写】为{{}} 实现步骤: 代码部分: 1.计数器模板.html(全是重点&#xf…

【Redis缓存】主从、哨兵、 Cluster集群一锅端,一文带你全了解

Redis主从Redis哨兵Redis Cluster集群公众号:捡田螺的小男孩 \1. Redis 主从 面试官经常会问到Redis的高可用。Redis高可用回答包括两个层面,一个就是数据不能丢失,或者说尽量减少丢失;另外一个就是保证Redis服务不中断。 对于尽量减少数据…

KKALRRQETVDAL,129198-88-5,钙调蛋白激酶底物

Autocamtide 2是钙/钙调蛋白依赖的蛋白激酶II (CaMKII)的高选择性肽底物。 它可以用于测定CaMKII的活力。Autocamtide 2 is a highly selective peptide substrate of calcium/calmodulin-dependent protein kinase II (CaMKII). It can be used in the CaMKII activity assay.…

被天空盒裁剪

一般来说天空盒都是在最后一层,最近发现一个天空盒裁剪的问题 距离放的太远了被裁剪了。 经研究发现是因为平时因为怕摄像机近截面裁剪到近距离的物品,习惯改成0.然后系统会自动改成0.01 只要改成大于0.01的值就可以了,比如默认的0.3.就会…

web网页设计期末课程大作业:旅游网页主题网站设计——中国风的温泉酒店预订网(13页)HTML+CSS+JavaScript

👨‍🎓学生HTML静态网页基础水平制作👩‍🎓,页面排版干净简洁。使用HTMLCSS页面布局设计,web大学生网页设计作业源码,这是一个不错的旅游网页制作,画面精明,排版整洁,内容…

中高频多因子库存储最佳实践

1. 概述 因子挖掘是量化交易的基础。随着量化交易竞争的加剧,量化投资团队需要处理大量因子。在许多情况下,因子数据量甚至会远远超过高频的行情数据量。以 5,000 只股票 10,000 个因子为例,一年的 10 分钟线数据量为 2.3TB,1分钟…

卡塔尔世界杯出现了半自动越位识别技术、Feelix Palm、动作轨迹捕捉等黑科技,一起来看看吧。

1.史上最快比赛用球 本届世界杯的官方比赛用球名为“旅程(Al Rihla)”,由于重量很轻,因此在空中的飞行速度比以往任何一届世界杯的比赛用球都快。 “旅程”的球体表面由20个名为SPEEDSHELL的纹理聚氨酯球面材料模块组成&#xf…

一文看懂卷积运算(convolution)与互相关运算(cross-correlation)的区别

目录 互相关运算定义 互相关运算图示 互相关运算完整计算示例 卷积数学定义 卷积运算图示 卷积与互相关运算区别 深度学习中的卷积为何能用互相关运算代替 互相关运算定义 在二维互相关运算中,卷积窗口从输入数组的最左上方开始,按从左往右、从上…

粤嵌实训(笔记)

目录 1. LCD换自己喜欢的颜色 2. LCD换个图案 3. LCD换张图片 4.网线登录 ifconfig eth0 192.168.5.9 5.触屏电子相册 6.网络编程(TCP通信) 7.网络编程(UDP通信) 说实话,对于这个粤嵌的实训,真的有很多想吐槽的地方,以下就是粤嵌给的一块…