第05章、使用因果图和判定表方法设计测试用例
因果图测试法附简单实例经典实用

C3 选择可乐
Cm3
投入5元
I
Cm4
Cm2
出货
投入3元
C4 选择冰红茶 E
C5 选择冰雪碧
因果图测试法附简单实例
实例分析
完整的因果图
投入3张一元纸币 C1
E 投入1张五元纸币 C2
I
选择可乐
C3
Cm3
投入5元
Cm2
投入3元
Cm4
出货
选择冰红茶
C4
E
选择冰雪碧 C5
Cm1
选择了饮料
因果图测试法附简单实例
E1 退还两元零钱 E2 可乐出货 E3 冰红茶 E4 雪碧出货
实例分析 (4)转换为判定表
c c c c c
因果图测试法附简单实例
实例分析 (5)根据判定表设计测试用例
这只是个很简单的例子
如果你能直接写出判定表也可 以不画因果图直接写出判定表 ->测试用例。比如这个例子。
实例分析 自动售货机售卖可乐、冰红茶和雪碧三种饮料,单价都 是3元。自动售货机只接受面值五元或一元的钞票。 若投入3张一元钞票,按下“可乐、冰红茶或雪碧”按钮后, 饮料自动送出; 若投入1张五元的钞票,则在送出饮料后退还两元零钱。
因果图测试法附简单实例
实例分析
自动售货机售卖可乐、冰红茶和雪碧三种饮料,单价都是3元。自动售货机 只接受面值五元或一元的钞票。 若投入3张一元钞票,按下“可乐、冰红茶或雪碧”按钮后,饮料自动送出;若 投入1张五元的钞票,则在送出饮料后退还两元零钱。
因果图测试法附简单实例
什么是因果图测试法?
·黑盒测试法的一种
·是一种利用图解法分析输入的各种组合情况,从而设
计测试用例的方法
测试用例设计-错误推测法、判定表、因果图

2.判定表
举例3: 分析— 条件桩:1. 导入单位工程为清单计价;
2. 当前工程为定额计价工程,存在“导入清单计价工程”菜单; 3. “导入措施项目”勾选; 4. 导入窗口点“确定”; 5. 提示窗口点“确定” 动作桩:21. 执行导入清单计价工程操作; 22. 选择的项目工程文件或单位工程的定额计价工程,则给提示; 23. 选择的项目工程文件或单位工程的定额计价工程,系统自动弹出导 入GBQ的选项窗口; 24. 措施项目不被导入,提示导入成功; 25. 措施项目被导入,提示导入成功; 26. 退出提示窗口
25 N N N N N N N N N N N N N N N N
26 N N N N N N N N N N N N N N N N
2.判定表
举例3: 简化判定表—
1
2
3
5
6
7
9
17 25
条件 1 桩2
Y
Y
Y
Y
Y
Y
Y
NN
Y
Y
Y
Y
Y
Y
N
Y
N
3
Y
Y
Y
N
N
N ———
4
Y
Y
N
Y
Y
N ———
5
Y
N—
况不可能出现,为表明这些特殊情况,在因果图上用一些记号表明约束或限制 条件; 转换:把因果图转换为判定表; 输出:把判定表的每一列拿出来作为依据,设计测试用例
3.因果图
举例1: 需求—
“……对于功率大于50马力的机器,并且维修记录不全或已运行10年以上的机器
,应给予优先的维修处理……”
Y
N ————
因果图与决策表测试用例

目录用例名称 (1)测试摘要 (1)测试用例 (2)1.1用例集合FirstTest (2)1.1.1标识 (2)1.1.2说明 (2)1.1.3数据 (2)1.2用例集合SecondTest (3)1.2.1标识 (3)1.2.2说明 (3)1.2.3数据 (3)用例名称基于单项模块的因果图测试用例测试摘要本测试使用手工测试,针对单项模块进行功能测试。
本阶段测试属于单元测试,测试采用黑盒测试。
本阶段测试工作的进行,依赖的软硬件配置和资料文档包括:1.Nunit自动化测试工具2.完成编译/未经编译的被测程序模块××.dll/.cs3.被测程序模块规格说明文档《×××》4.项目术语字典、用户需求说明书、概要设计说明书等其他辅助资料。
测试用例1.1某软件模块用例集合1.1.1 标识1.1.2 说明本测试用例集合的设计,采用因果图法;现针对被测模块中的某一项功能进行测试验证。
1.1.3 数据因果表原因结果C1:年薪制员工 E1:扣年终风险金的4% C2:非年薪制员工 E2:扣年终风险金的2% C3:严重过失 E3:扣当月薪资的8% C4:过失E4:扣当月薪资的4%因果图^^用例决策表编写人员 王金玲 编写日期30/3/2012C1C2C3C4E1 E2E3E4^^规则 选择1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 条件C111 1 1 1 1 1 1 0 0 0 0 0 0 0 0 C2 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 C3 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0C41 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 动作 E1 1 1 0 0 0 0 0 E2 0 0 1 1 0 0 0 E30 0 0 0 1 1 0 E41用例 编号 1.1 1.2 1.3 1.4 1.5 1.6 1.7测试 用例 C1.C2.C3 C1.C3 C1.C4 C1 C2.C3.C4 C2.C3 C2.C4预期 输出E1 E1 E2 E2 E3 E3 E41.2自动售货机用例集合1.2.1 标识1.2.2 说明本测试用例集合的设计,采用因果图法;现针对被测模块中的××功能进行测试验证。
因果图测试用例

3.建立判定表
判定表的建立应该依据软件规格说明,步骤如下:
1.确定规则的个数,假如有N个条件,每个条件有两个取值(0,1),故又2n种规则。
2.列出所有的条件桩和动作桩
3.填入条件项
4.填入动作项,制定初始判定表
发出
发出提货单
发出
发出
发出
发出通知单
发出
简化:比如〉500未过期和〈=500未过期。这两个条件项导致的结果是一样的,并且条件项之间很相似,我们就可以将它们合并成如下表:
金额
〉500和〈=500
〉500
〈=500
状态
未过期
已过期
已过期
发出批准单
发出
发出
发出提货单
发出
发出
发出通知单
发出
这里再引入一个概念--规则,以上判定表里,右部的每一列(条件项和对应的动作项)都是一条规则。每一条规则都可以转化为测试用例,测试用例如下表:
出错率是指在使用软件过程中,用户出现了多少错误,这些错误有多严重,从错误中是否容易恢复等。
练习:
1.订购单的检查。
如果金额超过500元,又未过期,则发出批准单和提货单;
如果金额低于500元,则不论是否过期都发出批准单和提货单,在过期的情况下还需要发出通知单。
金额
〉500
〉500
〈=500
〈=500
状态
未过期
已过期
未过期
已过期
发出批准单
发出
发出
<-10000
-10000到+10000
>+10000
测试用例设计方法之判定表和因果图

测试⽤例设计⽅法之判定表和因果图⼀、判定表等价类边界值分析法主要关注单个或者多个输⼊类条件的测试,并未考虑到输⼊条件之间的各种组合,输⼊条件与输出结果之间有相互制约关系的测试1、概念: 存在多个输⼊条件、多个输出结果,输⼊和输⼊之间有组合关系,输⼊和输出之间有依赖或者制约关系2、判定表的组成: -条件桩:所有输⼊条件、如⽋费状态、关机状态 -动作桩:所有的可能的输出结果,如允许主被叫、不允许主被叫 -条件项:单个条件的取值范围,⼀般都是有效等价类和⽆效等价类 -表⽰⽅式 -字符: -真/有效等价类/Y -假/⽆效等价类/N -数字 -真/有效等价类/Y -假/⽆效等价类/N -动作项:基于每⼀种条件的组合,得到确认的结果,如打不通、打得通3、设计测试⽤例的步骤: 1、明确条件桩(找到所有的属兔条件) 2、明确动作桩(找到所有的输出结果) 3、对条件桩进⾏组合 4、明确每个组合对应的动作桩(每个输⼊条件组合的情况下的输出结果) 5、设计测试⽤例,每⼀⾏对应⼀条测试⽤例4、判定表的应⽤场景: -多输⼊组合场景,即输⼊与输⼊之间有组合案例⼀、若⽤户⽋费或者关机则不允许主被叫; 步骤:1、找到所有的输⼊条件 2、找到输⼊条件的组合 3、找到组合对应的输出结果案例⼆、订单状态订单检查,如果⾦额⼤于500元,⼜未过期,则发出批准单和提货单;如果⾦额⼤于500元,但过期了,则不发批准单与提货单;如果⾦额⼩于500元,则不论是否过期都发出批准单和提货单;在过期的情况下,不论⾦额⼤⼩还需要发出通知单。
案例三、⽂件修改如果想对⽂件进⾏修改,输⼊的第⼀列字符必须是A/B,第⼆列字符必须是⼀个数字,如果第⼀列字符不正确,则给出信息L;如果第⼆列字符不正确,则给出信息M。
⼆、因果图(扩展) ------------------ ⼀般直接⽤判定表 因果图设计⽅法是对判定表的扩展 -概念:⽤图解的⽅法表⽰输⼊的各组合关系,写出判定表,进⽽设计测试⽤例的⼀种⽅法 -适⽤范围:适⽤于分析程序输⼊条件的各种组合情况,以及输⼊和输出之间的依赖关系 -核⼼: -因:即输⼊条件 -果:即输出结果 -基本符号(重点掌握) -恒等:条件成⽴,结果成⽴ -⾮(~)NOT: 条件成⽴,结果不成⽴,条件不成⽴,结果成⽴ -或(V)OR:只要有⼀个条件成⽴,结果就成⽴;所有条件都不成⽴时,结果才不成⽴ -与 ^ and:多个条件必须同时成⽴,结果成⽴;只要有⼀个条件不成⽴,结果就不成⽴。
[黑盒测试基本方法]之因果图与判定表
![[黑盒测试基本方法]之因果图与判定表](https://img.taocdn.com/s3/m/4c5b8d245901020207409c9a.png)
测试用例设计方法之因果图法与判定表1.因果图法1.1.前言从用自然语言书写的程序规格说明的描述中找出因(输入条件)和果(输出或程序状态的改变),可以通过因果图转换为判定表。
因果图法即因果分析图,又叫特性要因图、石川图或鱼翅图,它是由日本东京大学教授石川馨提出的一种通过带箭头的线,将质量问题与原因之间的关系表示出来,是分析影响产品质量的诸因素之间关系的一种工具。
1.2.定义因果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件涉及的各种组合情况。
因果图法一般和判定表结合使用,通过映射同时发生相互影响的多个输入来确定判定条件。
因果图法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。
采用因果图法能帮助我们按照一定的步骤选择一组高效的测试用例,同时,还能指出程序规范中存在什么问题,鉴别和制作因果图。
因果图法着重分析输入条件的各种组合,每种组合条件就是“因”,它必然有一个输出的结果,这就是“果”。
1.3.因果关系因果图的表示中输入与输出间的因果关系有四种:1)恒等关系:当输入条件发生,会产生对应输出,当输入条件不发生时,不会产生都会应输出。
2)非关系:与恒等关系相反。
3)或关系:多个输入条件中,只要有一个发生,则会产生对应输出。
4)与关系:多个输入条件中,只有所有输入项发生时,才会产生对应输出。
特定的符号标明因果关系如下(图1.3.1):图1.3.1因果图的表示中输入与输入间的约束关系有四种:1)异(E):所有输入中至多一个输入条件发生。
2)或(I):所有输入中至少一个输入条件发生。
3)唯一(O):所有输入中有且只有一个输入条件发生。
4)要求(R):所有输入中只有一个输入条件发生,则其它输入也会发生。
特定的符号标明输入与输入间约束关系如下(图1.3.2):图1.3.2因果图的表示中输出条件约束类型(见图1.3.2):1)输出条件的约束只有M约束(强制):若结果a是1,则结果b强制为0。
第05章、使用因果图和判定表方法设计测试用例

Tarena HighEnd IT Training
第03章、使用因果图法和判 定表法设计测试用例
Copyright Tarena Technologies Inc., 2008. All rights reserved.
Ø输入: ①投币50元 ②投币100元 ③选择充值50元 ④选择充值100元
8、条件④ 单独出现
Ø输出: (a)完成充值、退卡 (b)提示充值成功 (c)找零 (d)提示错误
输出d
1
E
互斥
2
3
E
互斥
4
46/94
a
要R 求
b
E
互斥
c
d
E
互斥
n 写出判定表
1
①投币50元
1
输
②投币100元
③选择充值50元 1
输出a、b、c组合
1
E
互斥
2
3
E
互斥
4
∧ ∧ ∧
36/94
a
b
要R 求 E
互斥
c
d
E
互斥
n 写出判定表
1
①投币50元
1
输
②投币100元
③选择充值50元 1
入 ④选择充值100元
2 3 45
1 1 1
1
678
输
(a)完成充值、 退卡
1
(b)提示充值成 1
功
出 (c)找零
(d)错误提示
1
1 11 1
判定表+因果图法测试用例设计

第三部分任务3-3附2因果图法附2作业:因果图法测试作业.1、象棋游戏规则(针对棋子“馬”):1)如果落点在棋盘外,则不移动棋子2)如果落点与起点不构成日字型,则不移动棋子。
3)如果落点处有自己方棋子,则不移动棋子。
4)如果落点方向的临近交叉点有棋子(绊马腿),则不移动棋子。
5)如果不属于1-4条,且落点处无棋子,则移动棋子。
6)如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子。
7)如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。
(1)使用因果图法列出原因和结果(2)画出因果图,修改为最简洁的图。
注意分析原因之间、结果之间是否有约束关系。
(3)根据因果图列出判定表(4)根据判定表的中得出的输入数据,写出规范的。
参考步骤:(1)分析数据原因:1————2————。
结果:A————B————。
(2)因果图(3)判定表(4)测试用例测试用例格式可参照下表2(附加)、有一个处理单价为5角钱的饮料的自动售货机,相应规格说明如下:若投入5角钱或1元钱的硬币,按下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。
(每次只投入一个硬币,只押下一种饮料的按钮)如投入5角的硬币,按下按钮后,总有饮料送出。
若售货机没有零钱找,则一个显示〖零钱找完〗的红灯会亮,这时再投入1元硬币并按下按钮后,饮料不送出来而且1元硬币也退出来。
若有零钱找,则显示〖零钱找完〗的红灯不会亮,若投入 1元硬币及按饮料按钮,则送出饮料的同时找回5角硬币。
(1)使用因果图法列出原因和结果(2)画出因果图,修改为最简洁的图。
注意分析原因之间、结果之间是否有约束关系。
(3)根据因果图列出判定表(4)根据判定表的中得出的输入数据,写出规范的测试用例。
参考步骤:(1)分析数据原因:1————2————。
结果:A————B————。
(5)因果图(6)判定表(7)测试用例测试用例格式可参照下表。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Tarena HighEnd IT Training
第03章、使用因果图法和判 定表法设计测试用例
Copyright Tarena Technologies Inc., 2008. All rights reserved.
u 若输入50元纸币,并选择充值50元,完成充值后退卡,提示充值成功; u 若输入50元纸币,并选择充值100元,提示输入金额不足,并退回50元; u 若输入100元纸币,并选择充值50元,完成充值后退卡,提示充值成功,找
零50元; u 若输入100元纸币,并选择充值100元,完成充值后退卡,提示充值成功; u 若输入纸币后在规定时间内不选择充值按钮,退回输入的纸币,并提示错
入 ④选择充值100元
2 3 45 678
1
1
11
1
1
1
1
1 1
输
(a)完成充值、 退卡
1
(b)提示充值成 功
1
11 11
出 (c)找零
11
11
(d)错误提示
1
47/94
1 1 11
l 步骤7、根据判定表设计测试用例
u 注意:判定表的一列对应一条测试用例
用例编号 用例说明
预期结果
实际结果
1
1、投币50元
Ø输出: (a)完成充值、退卡 (b)提示充值成功 (c)找零 (d)提示错误
结论: Ø输出a和d不能组合 Ø输出b和d组合
28/94
l (2)哪些输出结果可以组合在一起(可以同时输出)
Ø输出: (a)完成充值、退卡 (b)提示充值成功 (c)找零 (d)提示错误
结论: Ø输出a和b必须组合 Ø输出a、b、c组合 Ø输出c、d可以组合 Ø输出d单独存在
误; u 若选择充值按钮后不输入纸币,提示错误
20/94
l 步骤1:找出所有的输入条件,并对所有条件进行统一编号
Ø输入: (1)投币50元 (2)投币100元 (3)选择充值50元 (4)选择充值100元
21/94
l 步骤2、明确所有的输出结果,并进行编号
Ø输出: (a)完成充值、退卡 (b)提示充值成功 (c)找零 (d)提示错误
用例说明 投币50元
6
投币100元
7
选择充值50元
8
选择充值100元
预期结果
实际结果
系统提示错误并退 回50元
系统提示错误并退 回100元
系统提示错误
系统提示错误
49/94
l 使用因果图法分析两位整数加法计算器
案例1-2
50/94
l 步骤1、找出所有的输入条件,并对所有条件进行 统一编号
(1)第一个数文本框 n 条件1:99<=X<=0 n 条件2:0<=X<=99 n 条件3:X<99 n 条件4:X>99 n 条件5:小数 n 条件6:字符
输出d
1
E
互斥
2
3
E
互斥
4
44/94
a
要R 求
b
E
互斥
c
d
E
互斥
n 写出判定表
1
①投币50元
1
输
②投币100元
③选择充值50元 1
入 ④选择充值100元
2 3 45 678
1
1
11
1
1
1
1
1
输
(a)完成充值、 退卡
1
(b)提示充值成 功
1
11 11
出 (c)找零
11
11
(d)错误提示
1
45/94
111
Ø输入: ①投币50元 ②投币100元 ③选择充值50元 ④选择充值100元
8、条件④ 单独出现
Ø输出: (a)完成充值、退卡 (b)提示充值成功 (c)找零 (d)提示错误
输出d
1
E
互斥
2
3
E
互斥
4
46/94
a
要R 求
b
E
互斥
c
d
E
互斥
n 写出判定表
1
①投币50元
1
输
②投币100元
③选择充值50元 1
Ø输入: ①投币50元 ②投币100元 ③选择充值50元 ④选择充值100元
6、条件② 单独出现
Ø输出: (a)完成充值、退卡 (b)提示充值成功 (c)找零 (d)提示错误
输出c、d组合
1
E
互斥
2
3
E
互斥
4
a
要R 求
E
b
E
互斥
互斥
c
d
42/94
n 写出判定表
1
①投币50元
1
输
②投币100元
③选择充值50元 1
11/94
因果图中的约束条件
12/94
l 互斥
n 含义:
n 表示不同时为1,即a,b,c中至多只有一个1
13/94
l 包含
n 含义:
n 表示至少有一个1,即a,b,c中不同时为0
14/94
l 唯一
n 含义:
n 表示a,b,c中有且仅有一个1
15/94
l 要求
n 含义:
n 若a=1,则b必须为1。即不可能a=1且b=0
互斥
2
3
E
互斥
4
Ø输入: ①投币50元 ②投币100元 ③选择充值50元 ④选择充值100元
26/94
l 步骤4、明确所有输出之间的制约关系以及组合关系
u 哪些输出结果不能组合在一起(不能同时输出) u 哪些输出结果可以组合在一起(可以同时输出)
27/94
l (1)哪些输出结果不能组合在一起(不能同时输出)
中国北京 电话:(010)62135687、62136369 地址:北京市海淀区北三环西路甲18号 中鼎大厦B座7层
中国上海 电话:(021)61202630、61202603 地址:上海市北京东路668号 上海科技京城B区9层
中国广州 电话:(020)85518868、85518898 地址:广州天河区岗顶侨鑫教育主楼三层
u 哪些输出结果不能组合在一起(不能同时输出) u 哪些输出结果可以组合在一起(可以同时输出)
l 5、找出什么样的输入条件组合会产生哪种输出结果 l 6、根据因果图,写出判定表 l 7、根据判定表设计测试用例
18/94
l 案例演示
案例1-1
19/94
l 交通一卡通自动充值软件系统需求
u 系统只接收50元或100元纸币,一次充值只能使用一张纸币,一次充值金额 只能为50元或100元。
29/94
l 输出结果的因果图
a
要R 求
b
E
互斥
c
d
E
互斥
Ø输出: (a)完成充值、退卡 (b)提示充值成功 (c)找零 (d)提示错误
30/94
n 步骤5、找出什么样的输入条件组合会产生哪种 输出结果
E
互斥
E
互斥
Ø条件①和条件③可以组合
1
Ø条件①和条件④可以组合
a
2
Ø条件②和条件③可以组合 Ø条件②和条件④可以组合 Ø条件① ② ③ ④可以单独出现
16/94
l 屏蔽
n 含义:
n 若a=1,则b必须为0
17/94
使用因果图法设计测试用例基本步骤
l 1、找出所有的输入条件 l 2、明确所有的输出结果 l 3、明确所有条件之间的制约关系以及组合关系
u 哪些条件不能组合在一起 u 哪些条件可以组合在一起
l 4、明确所有输出之间的制约关系以及组合关系
7/94
l 恒等
n 含义:
n 若a=1,则b=1 n 若a=0,则b=0
8/94
l非
n 含义:
n 若a=1,则b=0 n 若a=0,则b=1
9/94
l 或(V)
n 含义:
n 若a=1,或b=1,或c=1,则d=1 n 若a=b=c=0,则d=0
10/94
l 与(∧)
n 含义:
n 若a=b=c=1,则d=1 n 若a=0或b=0或c=0,则d=0
Topics
本章内容
l 使用因果图法设计测试用例 l 使用判定表法设计测试用例
201337
2
一、使用因果图法设计测试用例
3/94
因果图法概述
l 在一个功能模块或一个界面中,往往会有多个控件,这些控件一般会有一定 的制约关系或者是组合关系,并且输出依赖于输入的条件。如果只是单独去 测每个控件,往往使测试有很多冗余数据,同时又会造成测试的不全面,遗 漏一些数据,这样,在设计测试用例时,可以使用因果图法,考虑这些输入 的组合以及输出对输入的依赖关系。
Ø输入: ①投币50元 ②投币100元 ③选择充值50元 ④选择充值100元
4、条件②和条件④组合
Ø输出: (a)完成充值、退卡 (b)提示充值成功 (c)找零 (d)提示错误
输出a和b组合
1
E
互斥
2
3
E
互斥
4
∧ ∧
38/94
a
要R 求
b
E
互斥
c
d
E
互斥
n 写出判定表
1
①投币50元
1
输
②投币100元
4/94
l 案例:
u 交通一卡通自动充值软件