黑盒测试-因果图、判定表

合集下载

黑盒测试方法——因果分析法

黑盒测试方法——因果分析法
简化目标:合并相似规则
相似规则判断: 有两条或以上规则具有相同动作,并且在条件项 之间存在极大相似,便可以合并
“—”: 表示合并后该条件项与取值无关,称“无关条件”
黑盒测试方法——决策表
决策表化简
《软件测试》阅读决策表化简
1,5 2,4 3 6,7,8 9,11 10,12 13,14 15,16
若Ci出现,则Ei出现;若Ci不出现,则Ei也不出现
(2)非(~):
若C出现,则E不出现;若C不出现,则E出现
(3)或(∨):
若几个Ci中有一个出现,则E出现;若几个Ci都不出现,则E不出现
(4)与(∧):
若几个Ci都出现,则结果出现;若其中一个Ci不出现,则E不出现
黑盒测试方法——因果分析法 因果图
黑盒测试方法——决策表
决策表方法原理
决策表并非因果图的一个辅助工具
适用情形: 输入输出较多且输入之间和输出之间互相制约的 条件较多
决策表: 把作为条件的所有输入的组合以及对应输出都罗 列出来形成的表格。
特点: 能将复杂问题按照各种可能情况全部列出,表示 简明,并避免遗漏
黑盒测试方法——决策表
生成决策表
1
行动
A1 0 0 0 1 0
1
A2 1 1 0 0 0
0
A3 1 0 1 0 1
0
黑盒测试方法——因果分析法
生成测试用例
(1)决策表中的条件——测试用例的输入条件 (2)决策表中的行动——测试用例的期望输出 (3)一条决策规则——一个测试用例
黑盒测试方法——因果分析法
因果分析法总结
Step1:分析规格说明书,识别原因和结果 Step2:在因果图连接原因和结果 Step3:标明原因之间以及结果之间的约束条件 Step4:因果图转换为因果图列表进而生成决策表 Step5:决策表的规则转换为测试用例

因果图判定表设计实验用例黑盒测试报告

因果图判定表设计实验用例黑盒测试报告

南京信息工程大学实验(实习)报告实验(实习)名称黑盒测试(二)实验(实习)日期2014.11.21 得分指导老师系计算机与软件学院专业班级姓名学号实验二黑盒测试(二)一、实验目的理解黑盒测试的基本方法,掌握用判定表法、因果图法黑盒测试用例的设计方法。

二、实验时间2学时三、实验准备主流PC 机一套,要求安装windows 操作系统和Office 工具;四、实验内容1.题目一:某软件的一个模块的需求规格说明书中描述:a)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。

b)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的4%。

请绘制出因果图和判定表,并给出相应的测试用例。

解答:1)根据题意,原因和结果如下:原因:E1-----是年薪制员工;E2-----非年薪制员工;M1-----严重过失;M2-----过失。

结果:R1-----扣年终风险金的4%;R2-----扣年终风险金的2%;R3-----扣当月薪资的8%;R4-----扣当月薪资的4%;因果图1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16条件E1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 E2 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 M1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 M2 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0结果R1 1 0 0 0 R2 0 1 0 0 R3 0 0 1 0 R4 0 0 0 1测试用例 A B C D判定表测试用例为:A,B,C,D;2.题目二:登陆功能说明书:(用户输入和密码输入)1)管理员用户名为“admin”,密码为“123456”,正常登陆2)用户名和密码输入为空,提示“用户和密码不允许为空”在用户名和密码非空的情况下:3)要求用户名必须输入字母,否则提示“输入非法”4)要求密码必须输入数字,否则提示“输入非法”在输入合法的情况下:5)用户名错误,提示“用户名和密码输入错误”,用户名和密码清空6)用户名正确,密码错误,提示“用户名和密码输入错误”,用户名保留,密码清空请用因果图和判定表方法,设计出相应的测试用例。

黑盒测试技术4-因果图法

黑盒测试技术4-因果图法
❖ 与: 表示若几个原因都出现,结果才出现;若几个
e1 原因中有一个不出现,结果就不出现。 如图,若c1和c2都是1,则ei为1;否则ei为0。 “与” 可有任意个输入。
因果图的约束符号
输入条件的 4 种约束类型:
a
E
b (Exclusive)
❖ E 约束(异/互斥): 表示几个原因不会同时成立; 可能他们都不成立,但最多有一个成立。
定义
用于描述输入之间,输入输出之 用于表达多逻辑条件下执行不
间的约束关系和因果关系
同操作的情况的工具
区别
本质
考虑输入条件之间的联系、各种 考虑输入条件之间的各种组合, 组合,相应产生多个动作。 相应产生多个动作。
当输入条件 用例数量相对少(无效用例) 会产生大量测试用例 过多时 可以覆盖到条件之间的先后关系 不能覆盖条件之间的先后关系
• 根据题意,原因和结果如下:
原因
1:A < B+C 2:B < A+C 3:C < A+B 4:A = B 5:A = C 6:B = C
结果
21:不能构成三角形 22:等边三角形 23:等腰三角形 24:一般三角形
步骤2:画出因果图
原因
结果
1
1:A < B+C
21:不能构成三 角形
2
2:B < A+C 22:等边三角形 3
如图,a和b中至多有一个可能为1,即a和b不 能同时为1。
❖ I 约束(或/包含):
a 表示几个原因中至少有一个必须成立,当然也
I
b 可能都成立。
(In)
c 如图,a、b和c中至少有一个必须是1,即 a、b
和c不能同时为0。

黑盒测试-因果图、判定表

黑盒测试-因果图、判定表

2
©2007 iSoftStone Holdings Ltd. All Rights Reserved.
因果图介绍
恒等 c1 e1

c1 c1
e1

c2 c3 c1
V
e1
与 c2

e1
3
©2007 iSoftStone Holdings Ltd. All Rights Reserved.
条件的约束 • 输入条件约束
9
©2007 iSoftStone Holdings Ltd. All Rights Reserved.
例子 • 根据因果图建立如下的判定表: 根据因果图建立如下的判定表:
条 件 1 2 3 11 22 21 23 1 1 1 1 //// //// // // // //// 2 1 1 0 //// //// // // // //// 3 1 0 1 1 0 1 0 A3 A8 4 1 0 0 1 0 0 1 AM A 5 0 1 1 1 0 1 0 B5 B4 6 0 1 0 1 0 0 1 BN B 7 0 0 1 0 1 0 0 C2 X6 8 0 0 0 0 1 0 1 DY P: : 原 因
5
©2007 iSoftStone Holdings Ltd. All Rights Reserved.
步骤
①分析程序规格说明的描述中,哪些是原因,哪 分析程序规格说明的描述中,哪些是原因, 些是结果。 些是结果。原因常常是输入条件或是输入条件 的等价类。而结果是输出条件。 的等价类。而结果是输出条件。 分析程序规格说明的描述中语义的内容, ②分析程序规格说明的描述中语义的内容,并将 其表示成连接各个原因与各个结果的“因果图” 其表示成连接各个原因与各个结果的“因果图” 由于语法或环境的限制, ③由于语法或环境的限制,有些原因和结果的组 合情况是不可能出现的。 合情况是不可能出现的。为表明这些特定的情 况,在因果图上使用若干个特殊的符号标明约 束条件。 束条件。 把因果图转换成判定表。 ④把因果图转换成判定表。 把判定表中每一列表示的情况写成测试用例。 ⑤把判定表中每一列表示的情况写成测试用例。

黑盒测试-因果图法

黑盒测试-因果图法
2、游客支付房款不足 3、游客选择单人间 4、游客选择双人间 5、游客选择豪华间
结果: 1、该类型的房间被打开,且提醒房款支付不足 2、单人间已经被开启 3、双人间已经被开启 4、豪华间已经被开启
当支付房间全款(即预期入住天数内所有房款)或支付房间房款不足(仅支付定金),选择"单人间"、"双人间"或"豪华间",则相应类型 的房间被开启。若游客支付房款不足,则在开启房门的同时系统提示房款支付不足。
问题:采用因果图进行测试用例设计 第一步:首先分析需求说明,找出原因和结果
原因: 1、游客支付房间全款
A2+B2==(管理人员优秀表现)
C2==2类奖 金
A2+B1+B3==(管理人员普通表 C3==3类奖
现,且有特殊贡献)

A2+B2+B3==(管理人员普通表 C4==4类奖
现,且有特殊贡献)

原因
结果
A1+B1==(普通员工表现普通)
C5==5类奖 金
A1+B2==(普通员工表现优秀)
C6==6类奖 金
员工类别:普通员工A1 管理人员A2
变现类别:普通B1 优秀B2 特殊贡献B3 奖金类别:1类奖金C1 2类奖金C2
.................................... 测试用例如下表:
原因
结果
A2+B1==(管理人员普通表现)
C1==1类 奖金
应用场合:
当软件的输入条件较多的时候,可以考虑用因果图法来设计测试用例。考虑输入的所有排列组合情况,防止遗漏。 因果图的局限性: 假如有n个条件。每个条件有真或假两种取值,理论上就有2的n次方钟排列组合。大大增加了测试用例的个数,不便于维护。

黑盒测试的7种测试方法

黑盒测试的7种测试方法

黑盒测试的7种测试方法黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。

在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。

黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。

很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。

黑盒测试有7种测试方法分别是等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、功能图法、正交实验法。

下面将一一介绍。

等价类划分法等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。

该方法是一种重要的,常用的黑盒测试用例设计方法。

1、划分等价类:等价类是指某个输入域的子集合。

在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。

并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试。

因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据。

取得较好的测试结果。

等价类划分可有两种不同的情况:有效等价类和无效等价类。

有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合。

利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。

无效等价类:与有效等价类的定义恰巧相反。

设计测试用例时,要同时考虑这两种等价类。

因为,软件不仅要能接收合理的数据,也要能经受意外的考验。

这样的测试才能确保软件具有更高的可靠性。

2、划分等价类的方法:下面给出六条确定等价类的原则。

①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。

黑盒测试_判定表因果图

黑盒测试_判定表因果图

出现
M(屏蔽):两个结果,a为1时,b必须是0,当a为0时,b值不定
a E b I a b c O b a R b b a a M
E(互斥)
I(包含)
O(惟一) R(要求) M(屏蔽)
因果图法设计测试用例的步骤
利用因果图导出测试用例需要经过以下几个步骤:
① 分析程度规格说明的描述中,哪些是原因,哪些是结

e3
因果图法测试举例(续)
(3)将因果图转换成如下所示的决策表:
选项 规则
1 1 1 1
2 1 1 0
3 1 0 1 1
4 1 0 0 1
5 0 1 1 1
6 0 1 0 1
7 0 0 1 0

8 0 0 0 0
√ √
条件: C1 C2 C3 10 动作: e1 e2 e3 不可能 测试用例
√ √ √ √ #3 #A
√ √ *6 *B A1
GT
因果图法测试举例(续)
(4)根据决策表中的每一列设计测试用例: 测试用例编号 1 输入数据 #3 预期输出 修改文件
2
3 4 5 6
#A
*6 *B A1 GT
给出信息M
修改文件 给出信息M 给出信息N 给出信息N和信息M
因果图法实例
某电力公司有A、B、C、D四类收费标准, 并规定: 居民用电 <100度/月 按A类收费 ≥100度/月 按B类收费 动力用电 <10000度/月,非高峰,B类收费 ≥10000度/月,非高峰,C类收费 <10000度/月, 高峰,C类收费 ≥10000度/月, 高峰,D类收费
判定表的缺点及解决方法
判定表的缺点
不能表达重复执行的动作,例如循环结构

黑盒4-_因果图法-年薪及中国象棋问题

黑盒4-_因果图法-年薪及中国象棋问题

0 0 0 0 0 1
Logo
规则
1
选项
2 1 1 1 0
3 1 1 0 1
4 1 1 0 0 1 0 0
5 1 0 1 1
6 1 0 1 0 0 1 0
7 1 0 0 1 0 0 1
8 1 0 0 0
9 0 1 1 1
10 0 1 1 0
11 0 1 0 1
12 0 1 0 0
13 0 0 1 1
习题2
Logo
• 中国象棋中走马的测试用例设计为例学习 因果图的使用方法(下面未注明的均指的 是对马的说明)
一、 分析中国象棋中走马的实际情况
Logo
1. 如果落点在棋盘外,则不移动棋子; 2. 如果落点与起点不构成日字型,则不移动棋子; 3. 如果在落点方向的邻近交叉点有棋子(绊马腿),则 不移动棋子; 4. 落点处有己方棋子,则不移动棋子; 5. 如果不属于1-4条, 落点处无棋子,则移动棋子; 6. 如果不属于1-4条, 落点处为对方棋子(非老将),则 移动棋子并除去对方棋子; 7. 如果不属于1-4条,且落点处为对方老将,则移动棋 子,并提示战胜对方,游戏结束。
Logo
测试用例
Logo
测试用例1: 输入数据: 年薪制员工,严重过失 预期输出: 扣年终风险金的4% • 测试用例2: 输入数据: 年薪制员工,过失 预期输出: 扣年终风险金的2% • 测试用例3: 输入数据: 非年薪制员工,严重 过失 预期输出: 扣当月薪资的8% • 测试用例4: 输入数据: 非年薪制员工,过失 预期输出: 扣当月薪资的4%
Logo
• 原因:C1. 年薪制员工 • C2. 严重过失 • 中间状态:11. 非年薪制员工 • 12. 过失 • 结果:E1. 扣年终风险金的4% • E2. 扣年终风险金的2% • E3. 扣当月薪资的8% • E4. 扣当月薪资的4%

实验二 黑盒测试(判定表法)

实验二 黑盒测试(判定表法)

广西师范大学计信学院《软件测试技术》课程实验实验报告题目:黑盒测试法——判定表法班级:10计本1班学号:201012301006姓名:焦德伟完成日期:2012/10/17实验二黑盒测试法——判定表法实验目的:1.掌握因果图、判定表的方法2.掌握按判定表设计测试用例实验时间:2学时实验内容:1、题目一:隔一天日期问题功能描述:输入年份、月、日;输出:输入日期在日历上的隔一天日期。

如输入1912年12月15日,应输出1912年12月17日。

要求:(1) 读源码并分析程序,给出问题规定的可能采取的操作(即列出所有的动作桩)。

所有的动作桩:(1)、年份超过界限,请重新输入a1(2)、月份超过界限,请重新输入a2(3)、日期超过界限,请重新输入a3(4)、本月为二月,请重新输入日期a4(5)、month+1 and day=1 a5(6)、month+1 and day=2 a6(7)、day=day+2 a7(8)、year++ and month=1and day=1 a8(9)、year++ and month=1and day=2 a9 (9)、输入非法a10 (2) 画出简化后的决策表,设计测试用例。

实验的决策表:条件桩:年份越界:Y1月份越界M1日期越界D1闰年:Y2平年:Y3月份二月:M2月份为十二月:M3月份为30天每月:M4月份为31天非十二月:M5日期小于27:D7日期为27:D2日期为28:D3日期为29:D4日期为30:D5日期为31:D6实验测试用例:测试用例:(3)执行测试用例,进行测试记录和缺陷统计。

实验测试记录的部分效果:缺陷报告书:缺陷统计:总过19组数据,其中10组出现错误!。

黑盒测试二—因果图方法

黑盒测试二—因果图方法

一、利用因果图方法设计测试用例,步骤必须描述清楚。

主要包括:1)分析题目中存在的输入条件和输出结果;2)分析原因和原因、原因和结果之间的关系,化因果图;3)将因果图转换为判定表,并进行优化;4)针对判定表中的每一列设计测试用例。

某软件规格说明书包含这样的要求,在输入的某行字符中,第一个字符必须是字母S或者M或者L,第二个字符必须是数字,在此情况下进行数据的登记,但如果第一个字符不正确,则给出输出信息第一个标号不正确;如果第二个字符不是数字,则给出信息第二个标号不正确。

第一个程序:package com;import java.util.Scanner;public class test1 {public static void main(String[] args) {Scanner sca = new Scanner(System.in);if(sca.hasNext()){String str = sca.next();int num = -1;if(str.length()>1){switch (str.charAt(0)) {case 'S':num = (int)str.charAt(1);if(num>=48 && num<=57)System.out.println("进行数据的登记");elseSystem.out.println("第二个标号不正确");break;case 'M':num = (int)str.charAt(1);if(num>=48 && num<=57)System.out.println("进行数据的登记");elseSystem.out.println("第二个标号不正确");break;case 'L':num = (int)str.charAt(1);if(num>=48 && num<=57)System.out.println("进行数据的登记");elseSystem.out.println("第二个标号不正确");break;default:System.out.println("第一个标号不正确");break;}}elseSystem.out.println("第一个标号不正确");}}}第二个程序:package com;import java.util.Scanner;public class test {public static String checkStr(String str){if(str.length()>2){int one = (int)str.charAt(0);int two = (int)str.charAt(1);if(one==76 || one==77 || one==83){if(two>=48 && two<=57)return str;elsereturn "第二个标号不正确";}elsereturn "第一个标号不正确";}return "第一个标号不正确";}public static void main(String[] args) {Scanner sca = new Scanner(System.in);if(sca.hasNext()){String str = sca.next();String result = test.checkStr(str);System.out.println(result);}}}因果图1∽E3 C 2 ∨113∨E14∽E2。

[黑盒测试基本方法]之因果图与判定表

[黑盒测试基本方法]之因果图与判定表

测试用例设计方法之因果图法与判定表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。

软件测试2_黑盒测试 (下)

软件测试2_黑盒测试 (下)
功率大于50马力吗 维修记录不全吗 运行超过10年吗

举例:维修机器问题(续)
(3)填入条件项;
1 2
Y Y N
3
Y N Y
4
Y N N
5
N Y Y
6
N Y N
7
N N Y
8
N N N
功率大于50马吗?
Y Y Y
条 维修记录不全吗? 件
运行超过10年吗?
动 进行优先处理 作 作其他处理

利用集合的笛卡尔积计算条件项的取值
举例:维修机器问题(续)
(4)填入动作项;
1 2 Y Y N 3 Y N Y 4 Y N N 5 N Y Y 6 N Y N 7 N N Y 8 N N N
功率大于50马力吗?
Y Y Y
条 维修记录不全吗? 件 动 进行优先处理 作 作其他处理

运行超过10年吗?








1,2合并,5,7合并,6,8合并
举例:维修机器问题(续)
(5)化简;
(1) 功率大于50马力吗? Y Y — (2) Y N Y (3) Y N N (4) N — Y (5) N — N
条 维修记录不全吗? 件
动 作 作其他处理
进行优先处理
运行超过10年吗?



基于判定表的测试
根据输入输出绘制 判定表;
设计测试用例覆盖 判定表中每条规则;
条件桩(Condition Stub )
列出问题的所有条件
动作桩(Action Stub )
列出可能采取的操作
条件项(Condition Entity)
列出条件桩的取值

黑盒测试用例设计方法二(因果图法、判定表法、场景法)

黑盒测试用例设计方法二(因果图法、判定表法、场景法)

⿊盒测试⽤例设计⽅法⼆(因果图法、判定表法、场景法)测试步骤⼀、因果图法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,不能做测试设计。

黑盒测试用例--因果图设计法

黑盒测试用例--因果图设计法

黑盒测试用例--因果图设计法
•因果图:是一种简化了的逻辑图,能直观地表明程序输入条件(原因)和输出动作(结果)之间的相互关系
•因果图法:是借助图形来设计测试用例的一种系统方法,特别适用于被测试程序具有多种输入条件,程序的输出又依赖于输入条件的各种的情况。

描述:
1.年薪制员工:严重过失,扣年终风险金的4%;
过失,扣年终风险金的2%
2.非年薪制员工:严重过失,扣当月薪资的8%
过失,扣当月薪资的4%
要求:如果年薪制员工既是过失又是严重过失则扣年终风险金的4% ;非年薪制员工既是过失又是严重过失扣当月薪资的8%
首先列出原因和结果
其次画出因果图:
再次:转换为判定表:
最后:分析测试用例
因果图的优点、缺点:
优点:不论输入条件的组合多么复杂,总可以按照上面的例子给出的步骤找出测试用例。

不足:输入条件的组合数2ª随a的上升急剧增长,当a较大时,因果图的结构将变得十分复杂,而把因果图转换为判定表则更为麻烦。

转自:哈尔滨软件测试交流/。

软件测试——黑盒测试方法

软件测试——黑盒测试方法

软件测试——⿊盒测试⽅法1、测试⽤例的定义:是为了特定的⽬的⽽设计的⼀组有测试输⼊、执⾏条件、预期结果的案例(⽂档)2、测试⽤例的构成要素:例如qq邮箱⽤例测试:3、⿊盒测试⿊盒测试⽤例设计⽅法:等价类、边界值、判定表、因果图、正交实验、状态迁移法、场景法、错误推测(1)等价类在所有的测试数据中,具有某种共同特征的数据⼦集,⼀般按照有效等价类和⽆效等价类等价类划分规则:等价类测试⽅法的分析步骤:等价类测试⽤例案例:例⼦:固定电话号测试地区码(3/4位)+电话号码(7/8位)(2)边界值选取正好等于、刚刚好⼤于或刚刚好⼩于边界值作于测试数据注意:⼤量的错误是发⽣在输⼊或输出范围的边界上,⽽不是在输⼊范围的内部边界值的选取:边界值法测试⽤例步骤:边界值法测试⽤例案例:例⼦:固定电话号测试地区码(3/4位)+电话号码(7/8位)(3)判定表法使⽤等价类⽅法时对于输⼊域与输⼊域存在关联时⽆法覆盖例如:两个输⼊不能组合:改⽤判定表法:条件桩:所有的输⼊的组合条件项:不同输⼊条件的组合动作桩:所有的输出的组合动作项:不同输⼊条件的组合的结果规则:⼀组条件与所得结果的组合,⼀个规则就是⼀个测试⽤例判定表法设计⽤例的步骤:案例:(4)因果图法判定表法适合⽤于条件少的时候,因为规则与条件是指数的关系,若条件过多,规则就会随之增多,会增加我们的⼯作量因果图引⼊:因果图中条件与条件,条件与结果的之间的依赖关系:案例:(5)状态迁移法状态迁移图案例:(7)场景法场景法介绍与步骤:基本流、备选流、异常流图解分析:案例:(8)正交实验法因⼦:就是条件(输⼊项)⽔平:就是取值(输⼊项的求值)案例:(9)错误推测法4、⿊盒测试⽅法总结:。

因果图与判定表

因果图与判定表
等价类划分法和边界值分析方法都是着重考虑输入条 件,如果程序输入之间没有什么联系,采用等价类划 分和边界值分析是一种比较有效的方法。 但如果输入之间有关系,例如,约束关系、组合关系 ,这种关系用等价类划分和边界值分析是很难描述的 ,测试效果难以保障。 因此必须考虑使用一种适合于描述对于多种条件的组 合,产生多个相应动作的测试方法,因果图正是在此 背景下提出的。
1
E ∨
22 11
~

2
21
3
~
23
判定表
1
条件 (原 因)
2 1 1 0
3 1 0 1 1 0 1 0 A2
4 1 0 0 1 0 0 1 AV
5 0 1 1 1 0 1 0 B4
6 0 1 0 1 0 0 1 BT
7 0 0 1 0 1 0 0 V4
8 0 0 0 0 1 0 1 RW
1 2 3 11 22 21 23
例2:NextData函数判定表测试运用
采用判定表法则可以通过使用“不可能动作”的概念表示 条件的不可能组合,来强调这种依赖关系。 为了获得下一个日期,NextDate函数需要执行的操作只有 如下5种: ① day变量值加1; ② day变量值复位为1; ③ month变量值加1; ④ month变量值复位为1; ⑤ year变量值加1。
- Y N
Y N -
N N -
建议
请回到本章开头重读
继续读下去 跳到下一章去读
停止阅读,请休息
X X
X
(15) (26) (34) (78)
例1:构造判定表
问题要求:“对功率大于50马力的机器、维 修记录不全且已运行10年以上的机器,应给 予优先的维修处理… …”。这里假定优先维 修:只要功率大于50马力;或记录不全且运 行10年以上;

实验三 黑盒测试—决策表法、因果图法

实验三  黑盒测试—决策表法、因果图法

实验3、黑盒测试:决策表法、因果图法及测试用例设计
一、实验目的
1、掌握决策表法、因果图的概念。

2、掌握决策表法、因果图测试用例设计法。

二、实验内容
有一个饮料自动售货机(处理单价为5角钱)的控制处理软件,它的软件规格说明如下:
若投入5角钱的硬币,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。

若投入1元钱的硬币,同样也是按“橙汁”或“啤酒”的按钮,则自动售货机在送出相应饮料的同时退回5角钱的硬币。

用程序模拟该自动售货机(注:用屏幕输入、输出来模拟售货机的动作),然后用因果图法测试该程序。

三、实验步骤:
1)分析原因与结果
2)画出因果图
3)转化为决策表
4)根据决策表设计测试用例,得到测试用例表
代码:
#include <stdio.h>
main(){
float i;
char j;
printf("请投入硬币:\n");
scanf("%f",&i);
printf("请选择所需饮料:\na:橙汁 or b:啤酒\n");
scanf("%s",&j);
if(i==0.5){
printf("出货成功");
}
else{
printf("找零%.2f元\n出货成功",i-0.5);
}
}
答:。

软件测试技术第4章黑盒测试第4节因果图

软件测试技术第4章黑盒测试第4节因果图

用场景分析法设计测试用例 ― 举例
第三步:对每一个场景生成测试用例
测试用例ID 1 2 3 4 5 场景/条件 场景1:成功购物 场景2:账户不存在 场景3:账户密码错误 场景4:账户余额不足 场景5:账户没钱 账户 V I V V V 密码 V n/a I V V 账户余额 V n/a n/a I I 预期结果 成功购物 提示账号不存在 提示账号密码错误, 返回基本流步骤3 提示用户账户余额 不足,请充值 提示用户账户没钱, 请充值
2.因果图的基本符号
c1
c1=1 或 c2=1 或 c3=1 e1=1
e1=0

c2 c3 c1
e1
否则

c2
e1
c1=1且c2=1 否则
e1=1 e1=0
输入条件的约束
输入条件的约束(续)
3.利用因果图设计测试用例

1.分析程序规格说明的描述中,哪些是原 因,哪些是结果
原因常常是输入条件或是输入条件的等价类;
V(有效):用于表明这个条件必须是有效的才可执行基本流; I(无效):用于表明这种条件下将激活所需备选流; n/a(不适用):表明这个条件不使用测试用例
用场景分析法设计测试用例 ― 举例
第四步:设计测试数据
测试用例ID 1 场景/条件 场景1:成功购物 场景2:账户不存 在 账户 密码 账户余额 800 预期结果 成功购物
用场景分析法设计测试用例 ― 举例 用户进入一个在线购物网站进行购 物,选购物品后,进行在线购买,这是 需要使用账号登录,登录成功后,进行 付钱交易,交易成功后,生成订购单, 完成整个购物过程。
用场景分析法设计测试用例 ― 举例
第一步:确定基本流和备选流
基本流:登录在线网站—>选择物品—>登录账号 —>付款—>生成订单; 备选流1:账户不存在 备选流2:账户密码错误;

测试方法因果图法

测试方法因果图法

C2 E2
C3 E3
E
C4
V
12
E4
C5
3决策表
c1:投入1元5角硬币 c2:投入2元硬币 c3:按可乐按钮 c4:按雪碧按钮 c5:按红茶按钮 11:已投币 12:已按钮 a1:退还5角硬币 a2:送出可乐饮料 a3:送出雪碧饮料 a4:送出红茶饮料
1234 1111 0000 1000 0100 0010 1111 1110
11
c5
E
c6
V
E1
V
E2 E3
V
V
E4
c7
规则
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
选项
11 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 C5 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 C6 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 C7 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
2因果图
10为导出结果的中间原因
c1
a1
V 10
~
V
c2
a2
c3
~
a3
因果图表示
带有E约束的因果图
c1
a1
E
V 10
~
V
c2
a2
c3
~
a3
具有E约束的因果图表示
将因果图转化为判定表
12 3
C1 1 1 1
C2 1 1 0
C3 1 0 1
10
1
a1
a2

a3 不可能 √ √
测试
3
用例
45 10 01 01 11
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4
©2007 iSoftStone Holdings Ltd. All Rights Reserved.
条件的约束 • 输入条件的约束
a R b 输出条件的约束 a M b M约束(强制):若a是1时,则结果 强制为 。 约束(强制):若 是 时 则结果b强制为 强制为0。 约束 ): R约束(要求): 是1时,b必须是 , 约束(要求):a是 时 必须是1, 约束 ): 必须是 即不可能a是 时 是 。 即不可能 是1时b是0。
21----修改文件; 修改文件; 修改文件 22----给出信息 ; 给出信息L; 给出信息 23----给出信息 ; 给出信息M; 给出信息
8
©2007 iSoftStone Holdings Ltd. All Rights Reserved.
例子 因果图和具有约束的因果图: 因果图和具有约束的因果图:
6
©2007 iSoftStone Holdings Ltd. All Rights Reserved.
例子 软件规格说明书: 软件规格说明书 “第一列字符必须是 或B,第二列字符必 第一列字符必须是A或 , 第一列字符必须是 须是一个数字, 须是一个数字,在此情况下进行文件的修 但如果第一列字符不正确, 改。 但如果第一列字符不正确,则给出信 息L,如果第二列字符不是数字,则给出 ,如果第二列字符不是数字, 信息M.” 信息
黑盒测试
因果图、 因果图、判定表测试
因果图
因果图方法( ):一种 因果图方法(Cause-Effect graphics):一种 ): 黑盒测试方法。 黑盒测试方法。 方法的依据: 方法的依据: 需求规格说明中的因果关系。 需求规格说明中的因果关系。 能够帮助我们按照一定步骤,高效率地选择测 能够帮助我们按照一定步骤, 试用例,同时还指出, 试用例,同时还指出,程序规格说明描述中存 在着的问题
5
©2007 iSoftStone Holdings Ltd. All Rights Reserved.
步骤
①分析程序规格说明的描述中,哪些是原因,哪 分析程序规格说明的描述中,哪些是原因, 些是结果。 些是结果。原因常常是输入条件或是输入条件 的等价类。而结果是输出条件。 的等价类。而结果是输出条件。 分析程序规格说明的描述中语义的内容, ②分析程序规格说明的描述中语义的内容,并将 其表示成连接各个原因与各个结果的“因果图” 其表示成连接各个原因与各个结果的“因果图” 由于语法或环境的限制, ③由于语法或环境的限制,有些原因和结果的组 合情况是不可能出现的。 合情况是不可能出现的。为表明这些特定的情 况,在因果图上使用若干个特殊的符号标明约 束条件。 束条件。 把因果图转换成判定表。 ④把因果图转换成判定表。 把判定表中每一列表示的情况写成测试用例。 ⑤把判定表中每一列表示的情况写成测试用例。
11
©2007 iSoftStone Holdings Ltd. All Rights Reserved.
判定表驱动测试 在一些数据处理问题中, 在一些数据处理问题中,某些操作是否实 施依赖于多个逻辑条件的取值; 施依赖于多个逻辑条件的取值; 在这些逻辑条件取值的组合所构成的多种 情况下,分别执行不同的操作; 情况下,分别执行不同的操作; 处理这类问题的一个非常有力的分析和表 达工具是判定表( 达工具是判定表(Decision Table) )
12
©2007 iSoftStone Holdings Ltd. All Rights Reserved.
例子 • 一张关于科技书阅读指南的判定驱动表: 一张关于科技书阅读指南的判定驱动表: • 3个问题 种情况 个问题8种情况 个问题
1 问 题 书 建 议 读 一 阅读 读 X X 读 Y Y Y X X 2 Y Y N 3 Y N Y 4 Y N N 5 N Y Y X X X X 6 N Y N 7 N N Y 8 N N N
a E b a F b c a G b G约束(唯一): ,b中必须有一个且仅有一个为 。 约束(唯一):a, 中必须有一个且仅有一个为 中必须有一个且仅有一个为1。 约束 ): F约束(或):a,b和c中至少有一个必须为 , 约束( ): , 和 中至少有一个必须为 中至少有一个必须为1, 约束 即a,b和c不能同时为 。 , 和 不能同时为0。 不能同时为 E约束(异):a,b中至多有一个可能为 , 约束( ): , 中至多有一个可能为 中至多有一个可能为1, 约束 不能同时为1。 即a和b不能同时为 。 和 不能同时为
16
©2007 iSoftStone Holdings Ltd. All Rights Reserved.
2
©2007 iSoftStone Holdings Ltd. All Rights Reserved.
因果图介绍
恒等 c1 e1

c1 c1
e1

c2 c3 c1
V
e1
与 c2

e1
3
©2007 iSoftStone Holdings Ltd. All Rights Reserved.
条件的约束 • 输入条件约束
7
©2007 iSoftStone Holdings Ltd. All Rights Reserved.
例子 原因和结果: 原因和结果:
原因: 原因: 1----第一列字符是 ; 第一列字符是A; 第一列字符是 2----第一列字符是 ; 第一列字符是B; 第一列字符是 3----第二列字符是一数字; 第二列字符是一数字; 第二列字符是一数字 结果: 结果:
22 1 ∨ 2 3 因果图实例 23 11 ∧ 21 E 2 3 具有E约束的因果图 具有 约束的因果图 23 1 ∨ 11 ∧ 21 22
11为中间节点; 为中间节点; 为中间节点 考虑到原因1和原因 不可能同时为1,因此在因果图上施加E约束 考虑到原因 和原因2不可能同时为 ,因此在因果图上施加 约束 和原因 不可能同时为
13
©2007 iSoftStone Holdings Ltd. All Rights Reserved.
判定表的组成
规则
条 条件桩( 条件桩(Condition stub) ) 动作桩( 动作桩(Action stub) ) 条件项( 条件项(Condition Entity) ) 动作项( 动作项(Action Entity) ) 桩 动作项 件 桩 条件项
X X X X2007 iSoftStone Holdings Ltd. All Rights Reserved.
规则和并的例子 • 规则和并后: 规则和并后:
1 问 题 Y Y 建 议 X X X X 后 2 Y N 3 Y N 4 N N -
14
©2007 iSoftStone Holdings Ltd. All Rights Reserved.
规则及规则和并 • 任何一个条件组合的特定取值及其相应要 执行的操作成为规则, 执行的操作成为规则,在判定表中贯穿条 件项和动作项的一列就是一条规则。显然, 件项和动作项的一列就是一条规则。显然, 判定表中泪出多少组条件取值, 判定表中泪出多少组条件取值,也就有多 少条规则,即条件项和动作项由多少列。 少条规则,即条件项和动作项由多少列。 • 化简 就是规则和并 Y Y Y Y Y Y N N N -- N -• 有两条活多条规则具有相同的动作,并且 有两条活多条规则具有相同的动作, -N Y N N N 其条件项之间存在着极为相似的关系。 其条件项之间存在着极为相似的关系。
动 作
结 果

8 的
的 的 据
因 表的
因 下
1 6

10
©2007 iSoftStone Holdings Ltd. All Rights Reserved.
讨论 在较为复杂的问题中, 在较为复杂的问题中,这个方法常常是十 分有效的, 分有效的,它能有力地帮助我们确定测试 用例。 用例。 如果哪个开发项目在设计阶段就采用了判 定表,也就不必再画因果图, 定表,也就不必再画因果图,而是可以直 接利用判定表设计测试用例了。 接利用判定表设计测试用例了。
9
©2007 iSoftStone Holdings Ltd. All Rights Reserved.
例子 • 根据因果图建立如下的判定表: 根据因果图建立如下的判定表:
条 件 1 2 3 11 22 21 23 1 1 1 1 //// //// // // // //// 2 1 1 0 //// //// // // // //// 3 1 0 1 1 0 1 0 A3 A8 4 1 0 0 1 0 0 1 AM A 5 0 1 1 1 0 1 0 B5 B4 6 0 1 0 1 0 0 1 BN B 7 0 0 1 0 1 0 0 C2 X6 8 0 0 0 0 1 0 1 DY P: : 原 因
相关文档
最新文档