编写测试用例方法之因果判定法

终于有人把软件测试用例讲清楚了(一定要收藏) !我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片免费领取,千万不要错过哦。 阅读详情

今天我们来介绍一个编写测试用例的方法:因果判定表法,用这个方法来分析一个具体案例的测试用例:用户基本通话情况。首先,全图镇楼。

什么是因果分析法呢?之前我们使用的那些测试用例,都是针对单个比较简单的的一些页面,比如说输入框或是多个输入框,复杂一点的就是多个输入框可能用正交法。

如果页面上有输入框或者按钮,它们之间互相有逻辑的话,那这时候之前的那些测试方法可能就不太适用这种场景了。因为之前我们输入框无论是输入年龄还是输入手机号码,都是没有任何关联的。

6ad25a551e9f4234964677362a5295b2.png

打电话就是一个用户和另一个用户进行通话,有四种情况可能会出现。但是唯一需要的就是一种情况:能顺利通话,也就是说一个用户和另一个用户能顺利打电话。

有两个因素决定能不能打通,一是自己或是对方的手机有没有欠费,二是自己或对方的手机有没有关机。这两个因素决定了能不能打电话成功。也就是说,欠费和关机它俩是一个互相影响的一个因素。

7d922ec4fb864f07bdc16e18dd01d259.png

就像页面上的两个表,两个输入框他们俩都是互相影响的。也就说欠费的情况下,开机肯定是打不了电话的。不欠费的情况下,关机也打不了电话,所以只有保持在不欠费不关机的状态下才能打成电话。

所以两个用户进行通话的话,有第四种情况就是欠费关机,那肯定打不了。你不欠费关机的话也打不了,因为已经关机了,打电话时会提醒你在关机状态,如果欠费的话,然后对方不关机,还是打不了,因为你欠费了,没有通话的这种权限了。

只有你的手机有话费,对方也有话费,你的手机不关机,对方的手机也不关机,才能在两者之间进行顺利的打电话,也就是说以上我们所说的这四种情况,就是判定表的各种因素。

什么是判定表呢?其实判定表它就是包括了几个比较核心的概念,有条件桩、动作桩、条件项和动作项。那我们看一看什么是条件桩,欠费不欠费关机不关机,也就是说你的手机当前有哪些状态?你手机是欠费了或者不欠费,这是你手机的状态是客观存在的,不是因为你拿起电话他就不接他就不关机,或者你放下电话他就开机,就不欠费,这是客观存在的一种状态,这叫条件桩,条件就是当前已经存在的一种情况,就是关机了。

12bf48da5d4746d28bf70752657fc650.png

不关机证明你的手机正在启动的一个状态动作桩。动作桩是什么?动作桩就是你最后的结果,就是打通或者打不通。条件就是因为当前手机所处的状态就是一个条件,动作桩就是当前手机能不能打通的一个结果。

当然只有两个结果,要么打通要么不能打通。那条件项是什么?条件项就是条件桩条件中的不同组合构成了条件项,就是一项一项的,它肯定不是单个的,肯定是两个元素组合到一起的。

比如说欠费和关机。你欠不欠费和关不关机,这两个条件就作为两个条件项。条件项它有条件意义,在费用方面的条件就是欠不欠费。条件 2 就是本身手机的状态是不是关机,它有两个条件项。

而动作项就是这些条件项当中的条件 1 和条件2,从它们的条件项当中任选一个,组成了一个组合,最终完成了一个结果,这么一套组合拳打下来才叫动作项。

9bc352871169441d80d007880e9fe5b4.png

 就好像你要进房间,首先要拿出钥匙开门、关门,就那么一个一整串的一个动作流。所以这个动作项也就是拿起手机,欠不欠费,这个条件中选一个。 
然后第二个步骤就是在条件 2 中关不关机当中选一个,最后的结果就是打通或者不打通,这就是一个动作项。所以根据这些核心概念对打电话的动作进行分解之后,就获得了一个判定表。

判定表首先把条件项都列出来,条件1,欠费或者不欠费。条件2,关机或者不关机结果,然后把它们写出来。对于每一个组合和他们的结果,都作为一行,每一组合和结果都作为一行,竖行是他们的条件。条件1,条件 2 和结果。

这种方式是按文字描写的,不太清晰,一般都是通过字符或者数字来表示关系,这样的话也能从判定表里面立刻提取出测试用例。

比如我们用字符来表示的话,N就是 no, no就是一个比较负面的。比如关机是一个负面的东西,欠费也是一个负面的,所以 N 可以代表欠费和关机。如果你的手机是关机了,那可以用 N 来表示。如果你的手机欠费了,也可以用 N 表示,它表示一个负面的概念。

a654f0dd83bf438f8836f604deb14627.png

Y就是yes,表示一个正面的,就是不欠费,那当然是一个正面的消息,然后不关机也是一个正面的消息。所以出现这两种状态的时候,都可以用 Y 来表示。

对于这一个判定表之前已经整理出来的每一个动作,每一行就是一个动作,因为欠费关机。这就是一个动作,根据他的中文意思,把对应的N 和 Y 写上去,它有两种状态打通或者打不通。

所以最后两个N的话,就在打不通上面打勾。如果一个 N 一个 Y 也是打不通,只有在两个 Y 出现的时候才会打通。同样的,把那 Y 和 N 换成 0 和 1 也是一样的。

2594fde0dc2d410d9749937ff3ce8955.png

0 代表就是 false 就是 N,一样的意思,代表也是负面。 true是正面的,就是不欠费不关机的。其实判定表也是一样的,表里面每一行代表是一个测试用例,每一行代表一个测试用例,一共是四个 测试用例。这样就行了,就是输入条件。然后结果就作为你的测试用例就可以了。

对于这一个通话的情况,我们需要对它进行一种分析,就是它的条件是什么,他所产生的结果又是什么?这个所谓的条件就是因,然后所产生的结果就是所谓的果。

就是做了什么事,好事还是坏事。这是你做的事的因和果,就好比你做了好事,可能别人就得到了帮助。如果你做了坏事,那别人可能就会很痛苦。

类比例子,就是条件满足了,通话成功,条件不满足则通话失败。以上就是关于因果判定法的介绍,你学会了吗?后面我们将介绍更多的编写测试用例的方法,简单好用,敬请期待!

379037f322934434ab801e7137dc000e.png

编写测试用例的方法 编写测试用例的方法一、等价类划分法二、边界值法三、场景法四、正交表法 一、等价类划分法 1、应用场景:多用于输入框。 2、概念:等价类划分法是指分步骤的把海量的测试用例见得很少,但过程同样有效。 3、等价类:一般是指一个输入域的集合,在这个集合中每个输入条件都是有效的,一般分为有效等价类和无效等价类。 有效等价类:指符合需求的,输入合理的数据集合。 无效等价类:指不符合需求的,输入不合理的数据集合。 4、示例: 计算1~100之间两个整数的和。 如果进行完全测试,加数1~100之间有100个取值,2~ 阅读详情

相关推荐

刚面完的字节跳动Python软件测试用例编写(含思路)

测试用例编写是软件测试的基本技能;也有很多人认为测试用例是软件测试的核心;软件测试中最重要的是设计和生成有效的测试用例;测试用例是测试工作的指导,是软件测试的必须遵守的准则。 在这里我们不讨论以上的各种观点,但是综上所述,大家可以看出,测试用例编写这项软技能非常重要且是测试人的必备技能,相信很多人没有质疑。 下面我们介绍下测试用例编写。 我们将用例编写分为黑盒用例编写和白盒用例编写两大类。 标题总体编写思路: 黑盒测试用例(优先)+白盒测试用例(补充)=完整测试用例 总体编写策略: 对于测试用例编写来说,

jin19990112的博客 1万+

常用测试用例设计方法3-判定表法

目录 一,判定表法的定义 二,为什么要使用判定表法 三,判定表法的优缺点 1,优点 2,缺点 四,判定表法的四大组成部分 五,判定表的规则与合并标准 规则: 六,判定表法的适用场景 七,判定表法分析案例 案例一: 1,明确需求 2,画判定表 案例二: 1,明确需求 2,画判定表 3,提取数据,编写用例 一,判定表法的定义 判定表法又称决策表,判定表法(Decision table)同因果图法一般也是一种表达逻辑判断的工具。 判定表是一种以表格形式分析和表达多逻辑条件下

小宝的宝呢的博客 2万+

测试用例方法

2.1 测试用例 测试用例: 将要进行的测试工作,具体化,并且记录到一个文件中,一般情况下是一个excel【表格】 在测试用例中,明确的指定了每一步做什么操作,期望得到什么结果 测试工作 等程序员完成代码,此时可以进行前期准备工作,就是编写测试用例,将需要测试的每一项都填写 到表格中 当程序员完成了代码,此时就可以开始进行测试,也就是根据表格中的内容一项一项的进行测试 测试用例的基本构成 第一部分:测试用例编号: 编号必须唯一 编号的构成可以写成: .

q159369的博客 1303

测试用例设计方法——等价类划分法、边界值分析法、场景法、判定表、因果图、错误推测法和正交试验法

一、等价类划分 定义:依据需求将输入划分成若干个等价类,从等价类中选定一个测试用例,如果该用例通过,则表明整个等价类通过。 适用范围:适用于有无限多种输入。 目的:使用较少的测试用例尽可能多的将功能覆盖。 有效等价类:有意义的输入构成的集合,对需求规格说明书来说是合法的。 无效等价类:不满足需求的输入。 例如:学生成绩录入系统,分数X为0到100的整数。 有效等价类:0≤X≤100(50) 无效等价类:X≤0(-5),X≥100(200) 如果没有整数要求,还要考虑小数,非数字(字母,汉字

hpwalk的博客 2万+

测试用例设计方法(二)

1 因果图 1 定义 因果图法比较适合输入田间比较多的情况,测试所有的输入条件的排列组合。所谓的原因就是输入,所谓的结果就是输出 2 因果图测试用例的编写过程 1 确定原因、结果、中间过程 2 链接因果图 ...

m0_62041966的博客 457

黑盒测试用例编写八大方法

测试用例定义(8要素) 测试用例实例 什么是黑盒测试 只能看见输入输出,不知道被测系统具体实现,仅仅知道对外接口 通过输入输出测试 常见黑盒测试方法(8个测试方法) 等价类测试方法 计算机0-100数字计算,要实现加法,最笨的方法是要两两相加,一旦数据多了就很难完成 定义:在所有测试数据中(有满足要求的也有不满足要求的),挑选出具有某种共同特征的数据子集 (把所有数字进行分类,可以根据需求来分,要求是0-100,满足要求的是一类,不满足要求的是一类) 线性情况:像0-100数据线性增加 word修

qq_43151742的博客 5910

测试用例设计——判定表法

前面两讲分别用等价类划分的方法和边界值分析的方法阐述了如何对一个两位数加法器进行测试,以上两种方法,都是着重考虑输入条件,但未考虑输入条件之间的联系、相互组合等。考虑输入条件之间的相互组合,可能会产生一些新的情况,但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。那么,如果考虑输入条件之间的联系、相互组合是不是就没有办法进行测试了呢? 因此,必须...

molly_cici的博客 1万+

强化学习——day16 动态规划算法

动态规划(dynamic programming)是程序设计算法中非常重要的内容,能够高效解决一些经典问题,例如背包问题和最短路径规划。动态规划的基本思想是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到目标问题的解。动态规划会保存已解决的子问题的答案,在求解目标问题的过程中,需要这些子问题答案时就可以直接利用,避免重复计算。本章介绍如何用动态规划的思想来求解在马尔可夫决策过程中的最优策略

想太多的学习日志 1550

判定表法

新的实例 打印机是否能打印出来正确的内容有多个因素影响,包括驱动程序、纸张、墨粉等。(为了简化问题,不考虑中途断电、卡纸等因素的影响) 假定:优先警告缺纸,然后警告没有墨粉,最后警告驱动程序不对。 等价类怎么做? 定义 决策表是把作为条件的所有输入的各种组合值以及对应输出值都罗列出来而形成的表格。它能够将复杂的问题按照各种可能的情况全部列举出来,简明并可避免遗漏。因此,...

... 7923

opencv+nvcodec实现视频硬解码

最近遇到一个新项目,AI推理在上,为了方便和节省成本的考虑决定研究下模块。根据官网的说法显卡具有独立的和模块,所以理论上和是独立互不干涉的。以前的项目都只是把显卡当成推理工具,没有将它的功能利用起来,本身也是一种浪费。事实真的有这么丝滑吗?看到这里,如果你真的觉得是白叫的那就真的是了,事实究竟如何,请听我娓娓道来。NVCODEC全称是 NVIDIA VIDEO CODEC,是NVIDIA为绝大多数显卡配置的硬件编解码单元。不一定是所有显卡都有,一般来讲越新的显卡硬件编解码就越强,支持的格式也就越新。

jiexijihe945的博客 1万+

Canoe主要功能的详细介绍

CANoe是德国Vetor公司推出的一款用于总线开发的设备,全程为CAN open environment。后来随着总线技术的发展,CANoe不仅限于CAN类型的总线开发,还包含LIN、FlexRay、MOST和以太网等开发。在车载网络和ECU开发、测试和分析方面,CANoe几乎长期占据着垄断地位,当然是因为其强大的功能性了。目前用这个工具的主要是整车厂和供应商的网络设计工程是、开发工程师和测试工程师。小编当时安装CANoe的时候也是花了一定的时间和精力,好在没有崩溃。

车载测试 3723

如何编写测试用例

我们为什么需要编写测试用例? 什么是测试用例 测试用例的设计方法 等价类 边界值 判定表法 因果图法 状态迁移图法 场景法

再来一块红烧肉 5533

实战|验证码突破思路

漏洞成因:由于逻辑设计缺陷,可绕过验证,比如直接删除COOKIE或验证码参数可绕过、当验证不通过清空session时,验证码参数值为空时绕过等。测试方法:抓包,删除验证码字段,查看是否可以成功发送抓包,正常流程下,记录验证码后的数据包,替换目标包中内容,直接发送,查看是否可以直接绕过验证码案例:Step1.输入正确账户信息和错误验证码,登录时抓包Step2.删除COOKIEStep3.客户端登陆成功。

weixin_46239998的博客 8106

判定表方法

判定表: 以 表格的形式 来组合多个条件 通过判定表可以综合考虑多个条件的输入和输出结果之间的关系 【案例】:手机通话 条件: 是否欠费:欠费、不欠费 是否开机:开机、关机 条线组合: 条件1:是否欠费 条件2:是否关机 结果 欠费 关机 不能通话 欠费...

Yiyi_baby_的博客 1万+

uni-app - 文本展开 / 收起折叠功能,支持自定义样式(当文本内容超出规定行数后,展开收起折叠的功能)兼容 H5 / App / 小程序且易用更容易修改的插件组件源码,超详细的示例代码及注释

uniapp实现文本的展开与收起功能,uniapp展开全部和收起,uniapp里文本的展开与收起,uniapp中文本内容超出规定行数后展开收起的处理,UNIAPP兼容h5、微信小程序多行文本展开或收起,uni-app中,文字超出隐藏并显示省略号(实现展开、收起全文),uni-app中文本过长-实现折叠与展开效果,中文本内容超出规定行数(字数)后展开收起的处理,超出部分...显示,uniapp适用于uniapp多行文本溢出显示...,多行文本展开或收起,uni-app-文本展开/收起折叠功能,支

🏆 前端领域优质创作者 5642

ESP32-IDF开发之旅 网络篇⑩ Web配网

本文介绍了基于ESP32S3的Web配网实现方案。作者通过移植开源项目,在ESP32S3上实现了WiFi配置功能,包括AP模式创建、HTTP服务器搭建、NVS存储读写等核心功能。文章详细解析了代码结构,包含WiFi初始化、事件处理、NVS存储管理和HTML页面服务等关键模块。实现方案采用AP+STA双模式,支持通过网页扫描WiFi并保存配置信息,适用于物联网设备的网络配置场景。代码中使用了FreeRTOS任务、ESP-IDF事件组等技术,并提供了完整的错误处理和日志记录功能。

单片机菜鸟哥的博客 351

软件测试测试用例的设计方法

是一种用最少的测试用例去覆盖最多的测试路径的方法,基于组合数字和概率学,通过设计最少的测试用例来获取最大的测试覆盖率的方法。流程图法是用流程图的方式去展现基于用户使用场景设计测试用例的一种方法,使用形状和连线来表示业务流程执行顺序的一种图,可以帮助测试整理理解系统的业务,各个模块、子模块在业务上的关联性。使用判定表法时的步骤是:1、需求分析,2、明确条件桩,3、明确动作桩,4、对条件桩进行组合,5、明确每个组合对应的动作项,6、设计测试用例,每行数据对应一条测试用例。输入或输出:平行四边形。

Arnodz的博客 1985

​​​​手把手教你玩转RT-Thread操作系统专栏--​​​​第5章 设备驱动开发:RT-Thread的设备框架​​​​5.4 I2C/SPI驱动:如何驱动外部传感器(以MPU6050为例)​

通过本节学习,掌握了基于RT-Thread设备模型的I2C/SPI驱动开发流程,包括硬件初始化、寄存器读写、设备注册及应用程序调用。I2C(Inter-Integrated Circuit)和SPI(Serial Peripheral Interface)是嵌入式系统中最常用的两种串行总线协议,广泛用于连接传感器、存储器等外设。函数通过I2C协议读取外设寄存器的数据(如MPU6050的加速度寄存器)。SPI读取需先拉低片选(CS),发送寄存器地址,再读取数据,最后拉高CS。查找I2C设备,并调用。

xiaoheshang_123的博客 125

编写测试用例的方法_适合小白的测试用例编写方法,一看就会!

1等价类划分法适用场景:有数据输入的地方,就可以使用等价类划分法。如:输入框。测试思想:从大量数据中划分范围(等价类),然后从每个范围中挑选代表数据,这些代表数据要能反应这个范围内数据的测试结果。概念:有效等价类:对程序来说,有意义的、合理的数据(正确的、有效的数据)。无效等价类:对程序来说,没有意义、不合理的数据(错误的、无效的数据)。例:需求:手机号输入框:只允许输入数字。(只拿手机...

weixin_36284848的博客 2029

Linux内核配置选项详解及编译过程

在内核编译完成后,可以通过重启系统并选择新编译的内核来使用它。可以在该菜单下选择需要编译进内核的设备驱动,也可以选择将设备驱动编译为模块。可以在该菜单下选择需要编译进内核的设备驱动,也可以选择将设备驱动编译为模块。可以选择需要的调试选项,并根据需要启用或禁用相应的功能。可以选择需要的文件系统类型,并根据需要启用或禁用相应的选项。可以选择需要的网络协议和功能,并根据需要启用或禁用相应的选项。可以选择需要的调试选项,并根据需要启用或禁用相应的功能。可以选择需要的文件系统类型,并根据需要启用或禁用相应的选项。

TechGlide的博客 747

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

测试2:编写测试用例的方法

编写测试用例的方法

虽然但是 4601

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

测试方法,测试用例的编写

测试用例编写是软件测试的基本技能;也有很多人认为测试用例是软件测试的核心;软件测试中最重要的是设计和生成有效的测试用例;测试用例是测试工作的指导,是软件测试的必须遵守的准则。 在这里我们不讨论以上的各种观点,但是综上所述,大家可以看出,测试用例编写这项软技能非常重要且是测试人的必备技能,相信很多人没有质疑。 下面我们介绍下测试用例编写。 我们将用例编写分为黑盒用例编写和白盒用例编写两大类。 总体编...

不期而遇,不言而喻 770

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

测试用例基础知识

扩充的测试点需要基于测试工程师对产品的熟悉程度,测试经验以及实践。这些测试点的设计是需要测试工程师通过不断学习,熟悉项目,测试积累中得到的。一般根据产品需求来定,根据产品效果图或者产品需求来定测试用例怎么去编写,还要考虑到普通用户使用软件的习惯,以及一些特殊情况和极端情况。一个基本的登录页面,按照常规的思路能够想到的测试点有哪些?以上测试点是基于用户输入的基础点。

IT枫斗者的博客 1105

测试用例分析及编写

1.测试用例 1.1 用例与测试用例 ​ 用例就是用户使用的案例。 ​ 测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便核实是否满足某个特定需求。 1.2 测试用例的作用 ​ 1. 防止测试有遗漏 ​ 2. 测试用例是测试人员具体执行测试的依据,作为测试标准并指导测试人员进行测试工作。测试人员会按照测试用例中的操作步骤和具体数据逐一执行测试用例,发现问题并提交BUG单,最终完善软件的质量。 1.3 测试用例的编写格式 ​ 测试用例一般包含8大要素 用例编号 用例

Caesar的博客 3018

判定表法和错误错误推断法

判定表法和错误推断法 1、判定表法 ​ 根据因果图来制作判定表(因果图可以不画) ​ 组成部分: ​ 1、条件桩:所有条件 ​ 2、动作桩:所有结果 ​ 3、条件项:针对条件桩的取值 ​ 4、动作桩:针对动作桩的取值 ​ 书写步骤: ​ 1、列出所有条件和动作桩 ​ 2、填写条件和动作桩的项目 ​ 3、简化列表 ​ 注意:如果出现“-"此项不影响最终结果。 ​ 判定表发实例: 判定表发实例.png 2、错误推断法: ​ 1、错误推测法是指利用直觉和经验猜测数出错的可能类型,有针对列举出程序中可能的错误和容易

m0_50551074的博客 946
上一篇: 【实例篇】怎样测试一个矿泉水瓶
下一篇: 【实战篇】怎样测试一只白板笔
编程小猪猪
博客等级 码龄5年 5390粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程小猪猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值