因果图测试用例设计方法
一、定义
因果图法就是从程序规格说明书的描述中找出因(输入条件)和果(输出或程序状态的改变),通过因果图转换为判定表,最后为判定表中的每一列设计一个测试用例。
首先我们来了解一下因果图的基本符号:
二、应用的范围
更复杂的条件组合,2^n,n比较多的时候
三、步骤
1) 根据程序规格说明书描述的语义内容,分析并确定“因”和“果”;
2) 将“因”和“果”表示成 “因果图”;
3) 在因果图上使用若干个约束符号来标明约束条件;
4) 将得到的因果图转换成判定表;
5) 为判定表中每一列所表示的情况设计一个测试用例。
四、案例
以中国象棋中马的走法为例子,具体说明:
1、如果落点在棋盘外,则不移动棋子;
2、如果落点与起点不构成日字型,则不移动棋子;
3、如果落点处有自己方棋子,则不移动棋子;
4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;
5、如果不属于1-4条,且落点处无棋子,则移动棋子;
6、如果不属于1-4条,且落点处为对方棋子 (非老将) ,则移动棋子并除去对方棋子;
7、如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。
案例分析--因果图
1) 根据程序规格说明书描述的语义内容,分析并确定“因”和“果”;
原因:
1、 落点在棋盘外;
2、 不构成日字;
3、 落点有自方棋子;
4、 绊马腿;
5、 落点无棋子;
6、 落点为对方棋子;
7、 落点为对方老将。
结果:
21、 不移动;
22、移动;
23、移动己方棋子消除对方棋子;
24、 移动并战胜对方。
2) 将“因”和“果”表示成 “因果图”,并标明约束条件;
3) 将得到的因果图转换成判定表;
11这个结点称做中间结点,是为了让因果图的结构更加明了,简化因果图导出的判定表。分析得出以下两个结论:
只有1、2、3、4都不成立时,产生11,跟5、6、7结合分别得出22、23、24三个结果;
不管5、6、7哪个成立,只要1、2、3、4有一个成立,就产生结果21;再加上落点有自方棋子的状况。
可以得到判定表如下:
进一步分析,将各种不可能产生的组合情况,取消掉,图中用灰色表示。这些都是之前没有写的一些约束条件导致的。比如落点在棋盘外,那么落点就不可能在对方棋子上了。
4) 为判定表中每一列所表示的情况设计一个测试用例。
五、总结
因果图常和判定表结合起来使用,先用因果图后用判定表.
因果图测试用例设计方法相关推荐
- 【黑盒测试用例设计方法4】因果图法及其示例
[黑盒测试用例设计方法4]因果图法及其示例 因果图可以描述系统的输入和输出的因果关系以及输入和输入之间的约束关系.根据系统输入和输出之间的因果图可以得到判定表,因果图和判定表两种方法经常一起使用. 输 ...
- 黑盒测试用例设计方法-因果图
常用测试用例设计方法-因果图 因果图测试用例设计 因果图理论 因果图设计过程 举个经典的例子:象棋的走马规则 因果图的优缺点 通过因果图发现过的BUG 个人心得 因果图测试用例设计 因果图理论 因果图 ...
- 测试用例设计方法基础理论知识
一.什么是测试用例 测试用例设计:将软件测试的行为活动,作为一个科学化的组织归纳. 测试用例:设计一个情况,软件程序在这种情况下,必须能够正常运行并且达到程序所设计的执行结果. 因为我们不可能进行穷举 ...
- 软件测试用例优秀例子_功能测试用例设计方法分享
测试用例可以用来衡量一个项目测试质量,因此在平时的测试流程中,编写测试用例就是测试过程中很重要的一步,每一个测试工程师都需要并且非常熟练的编写测试用例,能在编写测试用例中尽可能的覆盖任何异常的测试点: ...
- 测试用例设计方法_黑盒测试——测试用例设计方法
黑盒测试 也称为功能测试或数据驱动测试.通过软件的外部表现来发现其缺陷和错误.在测试时,把被测程序视为一个不能打开的盒子,在完全不考虑程序内部逻辑结构和内部特性的情况下进行.它是在已知产品所应具有的功 ...
- 黑盒法测试c语言,黑盒测试的测试用例设计方法(经典理论知识,推荐)
一.黑盒测试的测试用例设计方法 1. 等价类划分方法 2. 边界值分析方法 3. 错误推测方法 4. 因果图方法 5. 判定表驱动分析方法 6. 正交实验设计方法 7. 功能图分析方法 二.等价类划分 ...
- python测试用例设计方法_功能测试用例设计方法分享
本文首发于:行者AI 测试用例可以用来衡量一个项目测试质量,因此在平时的测试流程中,编写测试用例就是测试过程中很重要的一步,每一个测试工程师都需要并且非常熟练的编写测试用例,能在编写测试用例中尽可能的 ...
- 【测试】功能测试用例设计方法总结
测试用例可以用来衡量一个项目测试质量,因此在平时的测试流程中,编写测试用例就是测试过程中很重要的一步,每一个测试工程师都需要并且非常熟练的编写测试用例,能在编写测试用例中尽可能的覆盖任何异常的测试点: ...
- 功能性测试用例设计方法深入理解
一 进行测试设计的一般流程 设计测试案例的时候,需要有清晰的测试思路,对要测试什么,按照什么顺序测试,覆盖哪些需求做到心中有数.测试用例编写者不仅要掌握软件测试的技术和流程,而且要对被测软件的设计.功 ...
- 测试用例设计方法与举例说明
转载自---https://www.cnblogs.com/molrang/p/6420918.html 黑盒测试用例设计方法包括等价类划分法.边界值分析法.错误推测法.因果图法.判定表驱动法.正交试 ...
最新文章
- C# Idioms: Enum还是Enum Class(枚举类)
- ASP.NET 动态输出Javascript 文本格式换行问题 [ASP.NET | C# | Response]
- java的debug模式_java第六章:debug模式介绍及大量实例练习
- php特殊符号写入excel_PHP:使用PEAR写入excel文件
- C语言开关读程序,手把手教你学单片机的C语言程序设计(十)开关语句和循环语句.pdf...
- cdr怎么转plt_win10系统下cdr格式文本转plt格式文本怎么做
- 象牙大钢琴II压缩版-Synthogy Ivory by JR Samples II Kontakt
- 【2019年01月18日】股息率分红最高排名
- Open_cv中常用函数的原型及参数解释(一)
- linux网络查看,Linux网络命令(网络环境查看和网络测试命令)
- MySQL创建数据库和表格
- 为什么 wps输入文字 是红色下划线的 ???????????
- RGB与HSV颜色空间转换
- 自己买监控摄像头容易安装吗
- bss段,data段、text段、堆heap和栈stack
- STM8L151 DAC
- 宝塔linux如何防护,使用宝塔面板的CC***防护策略
- linux:解压命令
- 互联网标准技术架构图
- nextjs 写 css loader 处理多地区不同基础变量的方法
热门文章
- ug中模型不见了怎么办_UG双击prt文件却打不开模型是怎么回事?来看看解决方案吧...
- API是什么意思,具体是什么?
- Android中DRM版权保护机制的研究
- 坐标计算机在线,公路坐标计算系统免费版
- 石柯送点 国足0:2不敌韩国小组第二出线
- 大数据技术之_13_Azkaban学习_Azkaban(阿兹卡班)介绍 + Azkaban 安装部署 + Azkaban 实战...
- 使用selenium爬取艺恩网年度票房(8.16)
- 用友u852找不到本地服务器,用友U852安装常见问题
- 周星驰vs韩寒vs宁浩…Python告诉你春节该看哪部电影
- linux bridge 抓包,Linux bridge hairpin mode