第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:多个条件必须同时成⽴,结果成⽴;只要有⼀个条件不成⽴,结果就不成⽴。
[黑盒测试基本方法]之因果图与判定表
测试用例设计方法之因果图法与判定表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)测试用例测试用例格式可参照下表。
第05章 5.4 因果图法
软件测试与质量保证》 《软件测试与质量保证》课件
步骤2: 步骤 :画出因果图
11、12为中间节点。 、 为中间节点 为中间节点。
软件测试与质量保证》 《软件测试与质量保证》课件
步骤3: 步骤 :施加相应的约束
软件测试与质量保证》 《软件测试与质量保证》课件
步骤4 步骤 将因果图转换为决策表
软件测试与质量保证》 《软件测试与质量保证》课件
软件测试与质量保证课件因果图法示意图分析关联画因果图输入输出数据输入输出数据之间的关系画出原因与结果不同组合间的关联和约束形成因果图转换将因果图转换为决策表导出测试用例输出软件测试与质量保证课件某软件规格说明书包含这样的要求
软件测试与质量保证》 《软件测试与质量保证》课件
我们知道, 我们知道,当被测对象的输 相互依赖、 入变量或输入条件相互依赖、相 的时候, 互制约的时候,适合用决策表法 进行测试, 进行测试,那还有没有其他适合 的方法呢? 的方法呢?
软件测试与质量保证》 《软件测试与质量保证》课件
5.4 因果图法
软件测试与质量保证》 《软件测试与质量保证》课件
什么是因果图法? 什么是因果图法?
因果图法是一种利用图解法分析输入的各种 组合情况,从而设计测试用例的方法,它适 组合情况,从而设计测试用例的方法, 合于检查程序输入条件的各种组合情况。 合于检查程序输入条件的各种组合情况。
软件测试与质量保证》 《软件测试与质量保证》课件
步骤2: 步骤 :画出因果图
原因 1:A < B+C : 2:B < A+C : 3: 3:C < A+B 4:A = B : 5:A = C : 6:B = C : 结果 21:不能构成三 : 角形 22:等边三角形 :等边三角形 23: 23:等腰三角形 24:一般三角形 :一般三角形
因果图法设计测试用例
因果图法设计测试⽤例等价类划分法、边界值分析法及错误推断法在对输⼊条件的考虑中并未重视输⼊条件的组合。
事实上,当输⼊条件存在若⼲种可能的组合时,必须对这些组合加以考虑,以证实测试程序在某种输⼊组合的情况下恩能否完成规格说明书中预先规定的功能,否则所做的测试是不充分的。
因果图(Cuase-effect Graph)是⼀种描述输⼊条件的组合及每种组合对应的输出的图形化⼯具。
在因果图的基础上可以设计测试⽤例。
因果图的画法:(a)恒等。
若原因出现,则结果出现;若原因不出现,则结果不出现。
(b)⾮。
若原因出现,则结果不出现;若原因不出现,则结果出现。
(c)或。
若⼏个原因中有⼀个出现,则结果出现;若⼏个原因均不出现,则结果不出现。
(d)与。
若⼏个原因都出现,结果才出现;若⼏个原因中有⼀个不出现,则结果不出现。
为了表⽰因果图中的约束条件,可⽤⼀些符号在因果图中加以标识。
从原因⽅⾯考虑主要有4种约束条件:(a)E(互斥、排他)。
a、b两个原因不会同时出现,最多只有⼀个出现。
(b)I(包含、或)。
a、b、c三个原因⾄少有⼀个出现。
(c)O(唯⼀)。
a、b两个原因必须有⼀个出现,且仅有⼀个出现。
(d)R(需求)。
a出现时b必定出现。
从结果⽅⾯考虑主要有1种约束条件:(a)M(屏蔽)。
a出现时,b必定不出现;a不出现时,b则不确定。
利⽤因果图设计测试⽤例应遵循的步骤:1)分析程序的规格说明书中哪些事原因,哪些是结果。
所谓原因,是指输⼊条件或输⼊条件的等价类,⽽结果是指输出条件。
给每⼀个原因和结果赋⼀个标识符。
2)分析程序规格说明书中的语义,确定原因与原因,原因与结果之间的关系,画出因果图。
3)由于语法环境的限制,⼀些原因与原因之间,原因与结果之间的组合不能出现。
对于这些特殊情况,在因果图中⽤⼀些记号标明约束或限制条件。
4)将因果图转化为判定表。
5)根据判定表的没⼀列设计测试⽤例。
当然,若能直接得到判定表,可以直接根据判定表设计测试⽤例。
测试用例设计方法2——因果图判定表
测试用例设计方法2——因果图判定表判定表法判定表是分析和表达多种输入情况下执行不同动作的工具,判定表方法主要用于处理程序输入条件的不同组合,但是要求条件的组合必须是bool类型,而且条件和预期的结果都是可以分析出来的。
判定表能够有效地弥补等价类和边界值方法的不足,使得输入条件之间的组合和相互影响得到充分的测试。
使用判定表的一般思路是:1、需求分析,分析出条件和结果之间的各种组合2、将条件和结果分别填入判定表3、讲条件和结果进行二进制排列4、针对每一项组合,分析出结果,并去除无效项,是判定表得到简化。
在合并判定表时,如果条件之中只有一个不同,则可以合并。
如果判定表的组合不够多,建议不要进行合并,这样可以测试的充分一些。
5、每一列生成一个测试用例以阅读指南的例子来设计一个判定表:从例子中可以看到,不同的条件组合使用判定表方法可以充分弥补等价类边界值得不足,但是当输入条件过多时,使用判定表会产生大量测试用例。
而其无效用例不易发现,更不能覆盖条件之间的先后关系。
因此,在一定情况下,使用判定表还需要因果图的帮忙。
--------------------------------------------------------------------------------因果图因果图用于描述系统之间的输入输出,输入输出之间的约束关系和因果关系。
因果图与判定表往往结合使用,使用因果图可以得到判定表。
使用因果图的方法:1、分析输入输出并进行标识2、分析输入和输入、输入和输出之间的关系3、将得到的关系使用因果图的方法表示出来4、根据因果图得到判定表5、依据判定表生成测试用例这里分析一个自动售货机的因果图分析方法:条件:有一个处理单价为5角的自动售货机,当投入5角或1元硬币时,选择橙汁或啤酒,饮料出来;若自动售货机没有零钱,则显示零钱照完,亮红灯,这时候投入的1元被退出来,饮料不送出来。
如果有零钱,则出饮料并找5角钱。
黑盒测试用例设计方法二(因果图法、判定表法、场景法)
⿊盒测试⽤例设计⽅法⼆(因果图法、判定表法、场景法)测试步骤⼀、因果图法1.1什么是因果图法因果图是⼀种适合于描述对于多种输⼊条件组合的测试⽅法根据输⼊条件的组合、约束关系和输出条件的因果关系,分析输⼊条件的各种组合情况,从⽽设计测试⽤例的⽅法它适合于检查程序输⼊条件涉及的各种组合情况。
1.2因果图步骤第⼀步:根据功能说明书中规定的原因和结果之间的关系画出因果图恒等:原因A成⽴,结果B⼀定成⽴⾮:愿意A成⽴时,结果B⼀定不成⽴或:原因A、B、C三者只要有⼀个成⽴,结果D就⼀定成⽴与:原因A、B、C都成⽴时,结果D才会出现第⼆步:根据功能说明在因果图中加上约束条件其中互斥、包含、唯⼀、要求是对原因的约束,屏蔽是对结果的约束。
它们的含义如下:1、互斥(exclusive):表⽰不同时为1,即a,b,c中⾄多只有⼀个12、包含(include):表⽰⾄少有⼀个1,即a,b,c中不同时为03、唯⼀(only):表⽰a,b,c中有且仅有⼀个14、要求(request):表⽰若a=1,则b必须为1。
即不可能a=1且b=05、屏蔽(mask):表⽰若a=1,则b必须为0(当你收到注册成功的提⽰,就⼀定不会收到数据填写错误的提⽰)1.3因果图使⽤实例例:阅读和分析功能说明书,识别出“原因”和“结果”,并加以编号(1)有⼀个饮料⾃动售货机(处理单价为5⾓钱)的控制处理软件,它的软件规格说明如下若投⼊5⾓钱的硬币,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。
若投⼊1元钱的硬币,同样也是按“橙汁”或“啤酒”的按钮,则⾃动售货机在送出相应饮料的同时退回5⾓钱的硬币。
分析原因和结果画出原因和结果之间的关系(部分关系)按照需求描述原因、结果的约束因果图使⽤中的局限性:当原因和结果很多的时候,它们之间的关系连线就会很多,导致因果图的可读性变差。
因此⽤作局部的⼩功能(原因和结果不是很多的时候)分析。
列出所有的原因和结果的列表,设计初步的测试⽤例步骤C5:这是⼀种bug,不能做测试设计。
因果图与判定表
0 1 1 0 0
1-5:xyz 6:空白
判定表化简2
1
条件( 原因)
3 0 1
4 0 0
1 2
1 0
3
动作( 结果)
0
1
0
1
1
1
A
B
C D
0
1 0
第1-5列 第6列 第1-5列
1
1 0
第6列 第1-5列
0
1 1
第6列
测试用例
空白
空白
xyz 123
空白 空白
空白 空白
C ?
因果图法习题3
例3,有一个处理单价为5角钱的饮料的自动售货机软 件测试用例的设计。其规格说明如下: (1) 若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖 啤酒〗的按钮,则相应的饮料就送出来。 (2) 若售货机没有零钱找,则一个显示〖零钱找完〗 的红灯亮,这时在投入1元硬币并押下按钮后,饮料 不送出来而且1元硬币也退出来; (3) 若有零钱找,则显示〖零钱找完〗的红灯灭,在 送出饮X
动作
进行优先维修 做其它处理
X
X
X
例1:化简后的判定表
1
功率大于50马力吗?
条件
2 N Y Y X
3 N Y N
4 N N -
Y - - X
维修记录不全? 运行超过10年?
动作
进行优先维修 做其它处理
X
X
例2:NextData函数判定表测试运用
例2: NextDate函数输入为month(月份)、day(日期)和 year(年),输出为输入后一天的日期。例如,如果输 入为:1964年8月16日,则输出为1964年8月17日。要 求输入变量month、day和year都是整数值,并且满足 以下条件: Con1. 1≤month≤12 Con2. 1≤day≤31 Con3. 1900≤year≤2050
测试用例设计方法的介绍因果图
测试用例设计方法的介绍—因果图前言为什么需要测试用例 (2)1.测试用例设计的方法分类 (2)1.1.黑盒测试 (2)1.2.白盒测试 (2)1.3.灰盒测试 (3)2.因果图的具体介绍 (3)2.1.为什么么需要因果图 (3)2.2.因果图概念介绍 (4)2.2.1.布尔逻辑运算符 (4)2.2.2.因果图的约束关系表示法 (6)2.3.使用因果图设计测试用例的步骤 (8)2.3.1.分析需求 (8)2.3.2.确定原因和结果 (8)2.3.3.确定逻辑关系 (8)2.3.4.确定约束关系 (8)2.3.5.把因果图转换为决策表 (8)2.3.6.根据原因给出结果 (9)2.3.7.设计测试用例 (9)2.4.举例说明 (9)2.4.1.例子1 (9)2.4.2.例子2 (12)3.使用因果图的好处 (14)4...................................................................................................... 错误!未定义书签。
前言为什么需要测试用例测试的目的是在有限的资源下,尽可能多的找出系统的缺陷。
这就要求在测试中,尽可能完全的走完系统的所有流程,保证所有的分支都经过测试。
而测试过程是由人来执行的,不可能避免的会遗漏一些应该测试内容,这样就很容易出现测试不全面的问题。
再者,现有的软件开发大多都是迭代式进行的,需要对同一个功能反复测试多遍。
很有可能第一轮测试得比较全面,当进行第二轮的时候,可能也会遗漏某些点。
这种情况下,测试过程是由人控制的,具有盲目性,是不可控制的。
而测试用例就是把软件测试行为做一个科学化的组织和归纳,用来指导测试行为。
一般需求入基线后,测试人员开始介入项目,对需求进行分析,并根据自己对需求的理解设计出详细的测试用例。
这样在测试执行时,按照设计好的过程去执行,避免由于人为的原因使测试不全面。
测试用例设计方法之判定表、因果图
测试⽤例设计⽅法之判定表、因果图判定表法概念:分析和表达多种输⼊条件下系统执⾏不同动作的⼯具,它可以把复杂的逻辑关系和多种条件组合的情况表达得既具体⼜明确判定表法设计⽤例的步骤:列出所有的条件桩和动作桩填⼊条件桩、条件项填⼊动作桩、动作项化简,合并相似规则将每条规则转化为⽤例优缺点分析:优点:能把复杂的问题按各种可能的情况⼀⼀列举出来,简明⽽易于理解,也可避免遗漏缺点:系统庞⼤时,列条件桩是体⼒活;合并存在漏测的风险。
⼀个显然易见的原因是,虽然某个输⼊条件在输出接⼝上是⽆关的,但是在软件设计上,内部针对这个条件⾛了不同的程序分⽀适⽤范围:多个输⼊判断条件存在逻辑关系,且不分先后的情况。
实例演习1、如果【觉得疲倦】并且对书的内容【感兴趣】,同时书中的内容让你【糊涂】的话,回到本章重读2、如果【觉得疲倦】并且对书的内容【感兴趣】,同时书中的内容【不让你糊涂】,继续读下去3、【不觉得疲倦】并且对书的内容【感兴趣】,但是书中的内容让你【糊涂】的话,回到本章重读4、如果【觉得疲倦】并且对书中的内容【不感兴趣】,同时书中的内容不让你糊涂,请停⽌阅读,休息5、如果【觉得疲倦】并且对书的内容【不感兴趣】,并且书中的内容让你糊涂,请停⽌阅读,休息6、【不疲倦】,对书的内容【感兴趣】,书中的内容不糊涂,继续读下去7、【不疲倦】,【不感兴趣】,书中内容糊涂,跳到下⼀章去读8、【不疲倦】,【不感兴趣】,书中内容不糊涂,跳到下⼀章去读解析:列出所有条件桩、动作桩化简合并因果图法概念:因果图⽅法最终⽣成的就是判定表判定表法设计⽤例的步骤:把⼤的系统规格划分解成可以测试的规格⽚段分析分解后待测的系统规格,找出原因、结果画出因果图把因果图转换成判定表简化判定表⽤判定表中的每⼀项⽣成测试⽤例优缺点分析:优点:因果图法能够帮助我们按照⼀定步骤,⾼效的选择测试⽤例,设计多个输⼊条件组合⽤例因果图分析还能为我们指出,程序规格说明描述中存在什么问题缺点:输⼊条件与输出结果的因果关系,有时难以从软件需求规格说明书得到即使得到了这些因果关系,也会因为因果关系复杂导致因果图⾮常庞⼤,测试⽤例数⽬及其庞⼤适⽤范围:多个输⼊条件组合实例演习采⽤基于因果图的⽅法为下列程序设计测试⽤例某⼀程序的规格说明:第⼀列字符必须是A或者B,第⼆列字符必须是⼀个数字,在此情况下进⾏⽂件的修改。
使用因果图设计测试用例
使用因果图设计测试用例使用因果图的好处1 考虑了多个输入之间的相互组合、相互制约关系2 能够帮助我们按一定步骤,高效率地选择测试用例,同时还能为我们指出,程序规格说明描述中存在着什么问题利用因果图导出测试用例需要经过的一般步骤1.分析程序规格说明的描述中,哪些是原因,哪些是结果。
2.分析程序规格说明的描述中语义的内容,并将其表示成连接各个原因与各个结果的因果图3.在因果图上使用若干个特殊的符号标明特定的约束条件4.把因果图转换成判定表5.把判定表中每一列表示的情况写成测试用例因果图基本符号因果图实例讲解某软件规格说明中包含这样的要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改。
但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。
分开原因和结果原因:1----第一列字符是A;2----第一列字符是B;3----第二列字符是一数字。
结果:21----修改文件;22----给出信息L;23----给出信息M。
此例子是讲解利用因果图设计测试用例的一个小例子。
以中国象棋中走马的测试用例设计为例学习因果图的使用方法。
一、分析中国象棋中走马的实际情况(下面未注明的均指的是对马的说明)1、如果落点在棋盘外,则不移动棋子;2、如果落点与起点不构成日字型,则不移动棋子;3、如果落点处有自己方棋子,则不移动棋子;4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;5、如果不属于1-4条,且落点处无棋子,则移动棋子;6、如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子;7如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。
二、根据分析明确原因和结果原因:1、落点在棋盘上;2、落点与起点构成日字;3、落点处为自己方棋子;4、落点方向的邻近交叉点无棋子;5、落点处无棋子;6、落点处为对方棋子(非老将);7、落点处为对方老将。
使用因果图法和判定表法设计测试用例
一、基本概念
1、应用场合:
在一个界面中有多个控件,控件之间存在组合关系和限制关系,不同的控件组合会产生不同的输出结果。
为了弄清输入条件和输出结果之间的关系,可以使用因果图方法。
2、核心:
因——原因,输入条件(动作)
果——结果,输出结果
根据需求找出“原因/输入”和“结果/输出”,进一步找到原因和结果的对应关系。
3、使用限制条件
比较适合于每个控件的输入状态(动作)比较少的情况,如:按钮按下和不按下,单选按钮,复选框,或者取值数量较少的列表框。
二、步骤
1、找出所有的输入(因),编号
2、找出所有的输出结果(果),编号
3、在第1步的基础上找到输入条件之间的组合关系和限制关系
4、在第2步基础上找到输出结果之间的组合关系和限制关系
5、根据步骤3和4,确立什么样的输入组合会产生什么样的输出组合,画出因果图
6、根据因果图,画出判定表(决策表)
7、根据判定表,编写测试用例(判定表的一列对应写一条用例)
三、重要结论
1、对于不同控件的有效等价类(或有效边界值),可以尽可能在一条用例中同时使用(测试),以减少用例数量
2、对于控件的无效等价类(或无效边界值),开始时一次只测试一个,不能组合,以避免屏蔽。
后面可以适当组合。
- 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 交通一卡通自动充值软件