软件测试第四章--因果图讲解
(4)把因果图转换为决策表。 (5)根据决策表中的每一列设计测试用例。
3.6.3 因果图法测试举例
实例 用因果图法测试以下程序。
程序的规格说明要求:输入的第一个字符必须是#或*, 第二个字符必须是一个数字,此情况下进行文件的修改;如 果第一个字符不是#或*,则给出信息N,如果第二个字符不 是数字,则给出信息M。
和果(输出结果或程序状态的改变),画出因果图。
(2)将得到的因果图转换为判定表。 (3)为判定表中每一列所表示的情况设计一个测试用例。
因果图法的简介(续)
使用因果图法的优点:
(1)考虑到了输入情况的各种组合以及各个输入情况之间的 相互制约关系。
(2)能够帮助测试人员按照一定的步骤,高效率的开发测试 用例。
a
R
b
要求
R约束(要求):a是1时,b必须是1,即a为1时,b不能为0。
因果图(续)
因果图中用来表示约束关系的约束符号:
a
M
b
强制
M约束(强制):若结果a为1,则结果b强制为0。
因果图(续)
因果图中用来表示约束关系的约束符号:
E 异
a
I
b 或
a
a
O
b b
唯一
c
a
a
R
M
要求
b
强制
b
因果图(续)
因果图法最终生成的是决策表。利用因果图生成测试用例的 基本步骤如下:
(1)分析软件规格说明中哪些是原因(即输入条件或输入条 件的等价类),哪些是结果(即输出条件),并给每个原因 和结果赋予一个标识符。
(2)分析软件规格说明中的语义,找出原因与结果之间、原 因与原因之间对应的关系, 根据这些关系画出因果图。
解题步骤:
(1)分析程序的规格说明,列出原因和结果。 (2)找出原因与结果之间的因果关系、原因与原因之间的约
束关系,画出因果图。
(3)将因果图转换成决策表。 (4)根据(3)中的决策表,设计测试用例的输入数据和预期
输出。
因果图法测试举例(续)
(1)分析程序规格说明中的原因和结果:
原因
结果
c1:第一个字符是#
因果图法的简介(续)
因果图法是基于这样的一种思想:一些程序的功能可以用判 定表(或称决策表)的形式来表示,并根据输入条件的组合 情况规定相应的操作。
因果图法的定义:是一种利用图解法分析输入的各种组合情 况,从而设计测试用例的方法,它适合于检查程序输入条件 的各种组合情况。
采用因果图法设计测试用例的步骤: (1)根据程序规格说明书描述,分析并确定因(输入条件)
若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料 的同时退还5角硬币。”
(1)分析这一段说明,列出原因和结果: 1. 售货机有零钱找 2. 投入1元硬币 3. 投入5角硬币 4. 押下橙汁按钮 5. 押下啤酒按钮
(或称原因),右结点ei表示输出状态(或称结果)。ci 与 ei 取值0或1,0表示某状态不出现,1则表示某状态出现。 恒等:若 c1 是1,则 e1 也为1,否则 e1 为0。 非:若 c1 是1,则 e1 为0,否则e1为1。 或:若 c1 或 c2 或 c3 是1,则 e1 为1,否则 e1 为0。 与:若 c1 和 c2 都是1,则 e1 为1,否则 e1 为0。
因果图法
因果图法简介 因果图 因果图法测试举例
因果图法的简介
因果图法产生的背景: 等价类划分法和边界值分析方法都是着重考虑输入条件,
但没有考虑输入条件的各种组合、输入条件之间的相互制约 关系。这样虽然各种输入条件可能出错的情况已经测试到了, 但多个输入条件组合起来可能出错的情况却被忽视了。
如果在测试时必须考虑输入条件的各种组合,则可能的 组合数目将是天文数字,因此必须考虑采用一种适合于描述 多种条件的组合、相应产生多个动作的形式来进行测试用例 的设计,这就需要利用因果图(逻辑模型)。
(3)因果图法是将自然语言规格说明转化成形式语言规格说 明的一种严格的方法,可以指出规格说明存在的不完整性 和二义性。
因果图
因果图中用来表示4种因果关系的基本符号:
c1
e1
恒等
c1
∨
c2
e1
c3
或
c1 ~
e1
非
c1 ∧ e1
c2
与
因果图(续)
因果图中的4种基本关系 在因果图的基本符号中,图中的左结点ci表示输入状态
e1:给出信息N
c2:第一个字符是*
e2:修改文件
c3:第二个字符是一个数字 e3:给出信息M
(2)画出因果图(编号为10的中间结点是导出结果的进一步
原因):
c1
~ e1
E
∨ 10
c2
∧ e2
c3
~
e3
因果图法测试举例(续)
(3)将因果图转换成如下所示的决策表:
选项
规则
条件: C1 C2 C3 10
因果图(续)——因果图中的约束
在实际问题中输入状态相互之间、输出状态相互之 间可能存在某些依赖关系,称为“约束”。
对于输入条件的约束有E、I、O、R四种约束,对于 输出条件的约束只有M约束。
因果图(续)
因果图中用来表示约束关系的约束符号:
a
E
b
异
E约束(异):a和b中最多有一个可能为1,即a和b不能同时 为1。
因果图(续)
因果图中用来表示约束关系的约束符号:
a
I
b
或
c
I 约束(或):a、b、c中至少有一个必须为1,即 a、b、c不能同时为0。
因果图(续)
因果图中用来表示约束关系的约束符号:
a
O
b
唯一
O约束(唯一):a和b必须有一个且仅有一个为1。
因果图(续)
因果图中用来表示约束关系的约束符号:
12345678
11110000 11001100 10101010
111100
动作:
e1 e2 e3 不可能
√√
√
√
√
√
√
√√
测试用例
#3 #A *6 *B A1 GT
因果图法测试举例(续)
(4)根据决策表中的每一列设计测试用例:
测试用例编号
输入数据
预期输出
1
#3
修改文件
2
#A
给出信息M
3
*6
修改文件
4
*B
给出信息M
5
A1
ቤተ መጻሕፍቲ ባይዱ
给出信息N
6
GT
给出信息N和信息M
练习
例如,有一个处理单价为5角钱的饮料的自动售货机软件测试 用例的设计。其规格说明如下:
若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的 按钮,则相应的饮料就送出来。
若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮 ,这时在投入1元硬币并押下按钮后,饮料不送出来而且1 元硬币也退出来;
黑盒测试技术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。
软件测试中的因果图与关系图测试
软件测试中的因果图与关系图测试在软件测试过程中,因果图和关系图是两个重要的测试工具。
它们能够帮助测试人员快速有效地识别和分析软件系统中的问题,进而提高软件的质量和可靠性。
本文将介绍软件测试中的因果图和关系图测试,并探讨它们的应用和优势。
一、因果图测试因果图也被称为鱼骨图或石川图,是一种用图形方式表示问题和其根本原因之间因果关系的工具。
因果图测试通过将问题分解为不同的因素,并分析它们之间的因果关系,帮助测试人员确定问题的根本原因。
在进行因果图测试时,首先需要明确要解决的问题。
然后,将问题作为因果图的鱼头,并在鱼骨上画出几条主要的鱼刺来表示可能的原因类别。
例如,对于一个软件崩溃的问题,可能的原因类别包括软件代码、硬件环境、用户操作等。
接下来,在每个原因类别下,进一步细分成具体的原因因素,直到找到问题的根本原因。
因果图测试的优势是可以快速识别问题的根本原因,帮助测试人员集中精力解决关键问题。
此外,因果图测试也有助于团队的协作和沟通,因为它提供了一种结构化的方法将问题和原因可视化。
二、关系图测试关系图测试也被称为流程图或数据流图测试,是通过图形方式表示软件系统的不同模块、组件或数据之间的依赖和交互关系。
关系图测试帮助测试人员识别系统中的数据流程、控制流程以及模块之间的关系,以便更好地进行测试和分析。
在进行关系图测试时,首先需要明确系统的不同组成部分,并标记它们之间的依赖关系。
然后,通过绘制有向箭头表示数据或控制的流向,以及模块之间的交互关系来创建关系图。
通过分析关系图,测试人员可以确定测试的重点和策略,以确保系统的功能和性能达到需求。
关系图测试的优势是帮助测试人员理清系统的架构和逻辑,快速定位问题区域,提高测试效率。
此外,关系图测试也有助于可视化系统的复杂性,促进团队成员之间的理解和合作。
三、因果图与关系图测试的应用因果图和关系图测试在软件测试中有着广泛的应用。
它们可以用于各个阶段的测试,包括需求分析、设计验证、单元测试、集成测试和系统测试等。
黑盒测试技术之因果图-教学课件
3.实例
4、根据因果图建立决策表
3.实例
5、生成测试用例
THANKS
第四章 测试设计技术
——黑盒测试技术之因果图
主讲人:丁慧
1.因果图 2.使用因果图和决策表设计测试用例 3.实例
1.因果图
因果图技术:面向功能的动态测试的方法,以图形形式(因果图)来 描述规格说明,并借由因果图,通过一系列中间步骤生成测试用例。
因果图最终生成的就是决策表,提供了一个把规格转化为决策表的系 统化方法,从该图中可以产生测试数据。
1.因果图
1.因果图
2.使用因果图和决策表设计测试用例
使用因果图和决策表设计测试用例步骤如下: 1. 分析需求规格说明找出原因和结果; 2. 画出因果图; 3. 标记约束或限制条件; 4. 把因果图转换为决策表; 5. 生成测试用例;
3.实例
某软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列 字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正 确,则给出信息L;如果第二列字符不是数字,则给出信息M。
因果图中原因表示输入条件,结果是对输入执行的一系列计算后得到 的输出。
1.因果图
因果图中基本符号 ➢ 以直线连接左右节点,左节点表示原因 (输入状态ci),右节点 表示结果(输出状态ei) ➢ ci和ei均可取值0或1,0表示状态不出现,1表示状态出现
因果图中三大关系 ➢ 原因和结果的关系 ➢ 原因和原因的关系 ➢ 结果和结果的关系
软件测试用例之因果图法
软件测试⽤例之因果图法
简介
从⽤⾃然语⾔书写的程序规格说明的描述中找出因(输⼊条件)和果(输出或程序状态的改变),可以通过因果图转换为判定表。
因果图法即因果分析图,⼜叫特性要因图、⽯川图或鱼翅图,它是由⽇本东京⼤学教授⽯川馨提出的⼀种通过带箭头的线,将质量问题与原因之间的关系表⽰出来,是分析影响产品质量的诸因素之间关系的⼀种⼯具。
作⽤
因果图法是⼀种适合于描述对于多种输⼊条件组合的测试⽅法,根据输⼊条件的组合、约束关系和输出条件的因果关系,分析输⼊条件的各种组合情况,从⽽设计测试⽤例的⽅法,它适合于检查程序输⼊条件涉及的各种组合情况。
因果图法⼀般和判定表结合使⽤,通过映射同时发⽣相互影响的多个输⼊来确定判定条件。
因果图法最终⽣成的就是判定表,它适合于检查程序输⼊条件的各种组合情况。
采⽤因果图法能帮助我们按照⼀定的步骤选择⼀组⾼效的测试⽤例,同时,还能指出规范中存在什么问题,鉴别和制作因果图。
因果图法着重分析输⼊条件的各种组合,每种组合条件就是“因”,它必然有⼀个输出的结果,这就是“果”。
基本步骤
利⽤因果图导出测试⽤例⼀般要经过以下⼏个步骤:
1)分析软件规格说明的描述中哪些是原因,哪些是结果。
原因是输⼊或输⼊条件的等价类,结果是输出条件。
给每个原因和结果并赋予⼀个标识符,根据这些关系,画出因果图。
2)因果图上⽤⼀些记号表明约束条件或限制条件。
3)对需求加以分析并把它们表⽰为因果图之间的关系图。
4)把因果图转换成判定表。
5)将判定表的每⼀列作为依据,设计测试⽤例。
4 因果图法
实例二:步骤回顾总结
回顾!!!
E(互斥/异或) 若必填: O(唯一)
R(要求)
I(包含)
本节课程内容
1 2 3
因果图法概述
实例讲解及演练 方法应用与总结
方法应用与总结
• 应用场合
– 当软件的输入条件过多时,可以考虑输入的所有排列组合情况, 考虑条件之间和条件结果之间关系,防止遗漏
• 局限性
– 测试用例数目可能会很大,不便于维护
本节内容总结
• 因果图法概述
– 等价类+边界值:着重考虑输入条件,忽略输入条件的组合情况 及各个输入条件之间的相互制约关系 – 因果图:针对输入之间的关系,考虑输入条件之间的组合、约 束等情况
• 实例讲解及演练
– 字符显示实例——饮料机购物
• 方法应用与总结
– 当软件的输入条件过多时,可以考虑输入的所有排列组合情况, 防止遗漏
• 原因: ① 投入1元5角硬币
③ 按“可乐”按钮 • 中间状态: ① 已硬币
②投入2元硬币
⑤ 按“红茶”按钮
④按“雪碧”按钮 ②已按钮
• 结果: ① 送饮料且退还5角硬币
③ 送出“雪碧”饮料
②送出“可乐”饮料
④送出“红茶”饮料
实例二:解析(2)
2)画出因果图:
输入条件(原因)
输出条件(结果)
E
投入2元硬币
v
(2)
(11)
按“可乐”按钮
(3)
按“红茶”按钮
(5)
v
按“雪碧”按钮
Eห้องสมุดไป่ตู้------ (4)
v
(12)
v
v v
投入1元5角硬币
(1)
(21)
8.黑盒测试(4)-因果图
实例
图4 因果图示例
实例
因为C1和C2不可能同时为1,即第一个字符不可能既是A又是B,在因果 图上可对其施加E约束,得到具有约束的因果图,如图5所示。
图5 具有E约束的因果图
实例
(3)将因果图转换成决策表,如表1所示。 (4)设计测试用例。表1中的前两种情况,因为原因1和原因2不可能同时 为1,所以应排除这两种情况。根据此表,可以设计出6个测试用例,如表 2所示。
输入与输出的约束关系
(a)异
(b)或
(c)惟一
(d)要求
(e)强制 图3 约束符号
设计步骤
(1)分析软件规格说明书中的输入输出条件并划分出等价类,将每 个输入输出赋予一个标志符;分析规格说明中的语义,通过这些语义 来找出多个输入因素之间的关系。 (2)找出输入因素与输出结果之间的关系,将对应的输入与输出之 间的关系关联起来,并将其中不可能的组合情况标注成约束或者限制 条件,形成因果图。 (3)由因果图转化成决策表,任何由输入与输出之间关系构成的路 径,形成决策表的一列,也被视为决策表的一条规则。 (4)将决策表的每一列拿中使用4种符号分别表示4种因果关系,如图2所示。 用直线连接左右节点,其中左节点Ci表示输入状态(或称原 因),右节点ei表示输出状态(或称结果)。Ci和ei都可取 值0或1,0表示某状态不出现,1表示某状态出现。
• 图2中各符号的含义如下: 恒等:若C1是1,则e1也是1,否则e1为0。 非:若C1是1,则e1是0,否则e1为1。 或:若C1或C2或C3是1,则e1是1,否则e1为0。 与:若C1和C2都是1,则e1是1,否则e1为0。
设计步骤
从因果图生成的测试用例中包括了所有输入数据的取 TRUE与FALSE的情况,构成的测试用例数目达到最少, 且测试用例数目随输入数据数目的增加而线性地增加。
软件测试 第4章动态测试技术-黑盒测试方法
第4章动态测试技术(1)-黑盒测试方法1.黑盒测试概述1.定义:黑盒测试是依据软件的需求规约,设计测试用例,检查程序的功能是否符合需求规约的要求2.测试用例:由测试输入数据和预期结果组成(运行实际结果和预期结果不一致说明存在错误)3.主要的黑盒测试方法有等价类划分边界值分析错误猜测法因果图法判定表测试法基于场景测试法正交试验法比较测试2.等价类划分1.概述:1.1由于不能穷举所有可能的输入数据来进行测试,所以只能选择少量有代表性的输入数据,来揭露尽可能多的程序错误(设计测试用例遵循的原则之一)1.2等价类划分方法将所有可能的输入数据划分成若干个等价类,然后在每个等价类中选取一个代表性的数据作为测试用例的输入数据等价类是指输入域的某个子集,该子集中的每个输入数据对揭露软件中的错误都是等效的,测试等价类的某个代表值就等价于对这一类其他值的测试 也就是说,如果该子集中的某个输入数据能检测出某个错误,那么该子集中的其他输入数据也能检测出同样的错误;反之,如果该子集中的某个输入数据不能检测出错误,那么该子集中的其他输入数据也不能检测出错误例如:判断一个三角形的三条边是否构成等边三角形,那么{1,1,1}、{3,3,3,}、{8,8,8}……都是等效的。
1.3等价类划分方法把输入数据分为有效输入数据和无效输入数据(除测试正常的数据外,还应该测试不正常的数据)1.4有效输入数据指符合规格说明要求的合理的输入数据,主要用来检验程序是否实现了规格说明中的功能1.5无效输入数据指不符合规格说明要求的不合理或非法的输入数据,主要用来检验程序是否做了规格说明以外的事例如:程序判断三角形是否等边三角形,输入a、b、c三条边,如果a=b,b=c,a=c =>等边三角形,{0,0,0}、{-1,-1,-1}属于无效输入数据,不仅要检查正常的数据输入,还应驾车不正常的数据输入1.6在确定输入数据等价类时,常常还要分析输出数据的等价类,以便根据输出数据等价类导出输入数据等价类2.等价类划分设计测试用例的步骤2.1确定等价类根据软件的规格说明,对每一个输入条件(通常是规格说明中的一句话或一个短语)确定若干个有效等价类和若干个无效等价类可使用如下表格3.确定等价类的规则:3.1如果输入条件规定了取值范围,则可以确定一个有效等价类(输入值在此范围内)和两个无效等价类(输入值小于最小值及大于最大值)例如,规定输入的考试成绩在0..100之间,则有效等价类是“0 ≤成绩≤100”,无效等价类是“成绩<0”和“成绩>100”3.2如果输入条件规定了值的个数,则可以确定一个有效等价类(输入值的个数等于规定的个数)和两个无效等价类(输入值的个数小于规定的个数和大于规定的个数) 例如,规定输入构成三角形的3条边,则有效等价类是“输入边数= 3”,无效等价类是“输入边数<3”和“输入边数>3”3.3如果输入条件规定了输入值的集合(即离散值),而且程序对不同的输入值做不同的处理,那么每个允许的值都确定为一个有效等价类,另外还有一个无效等价类(任意一个不允许的值)(例如:交通信号灯“红”、“黄”,“绿”,是输入的集合,输入离散值) 例如,规定输入的考试成绩为优、良、中、及格、不及格,则可确定5个有效等价类和一个无效等价类3.4如果输入条件规定了输入值必须遵循的规则,那么可确定一个有效等价类(符合此规则)和若干个无效等价类(从各个不同的角度违反此规则)例如,在程序语言中对变量标识符规定为“以字母开头的……串”,那么有效等价类是“以字母开头的串”,而无效等价类有“以数字开头的串”、“以标点符号开头的串”…等3.5如果输入条件规定输入数据是整型,那么可以确定三个有效等价类(正整数、零、负整数)和一个无效等价类(非整数)3.6如果输入条件规定处理的对象是表格,那么可以确定一个有效等价类(表有一项或多项)和一个无效等价类(空表)以上只是列举了一些规则,实际情况往往是千变万化的,在遇到具体问题时,可参照上述规则的思想来划分等价类4.设计测试用例4.1在确定了等价类之后,建立等价类表,列出所有划分出的等价类,并为每个有效等价4.24.2.1设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止(一个测试用例覆盖多个有效等价类)4.2.2为每个无效等价类设计一个新的测试用例(无效等价类发现错误的概率比较大,每个无效等价类设计一个测试用例,提供测试的精度)4.3用等价类划分法设计测试用例的实例:某编译程序的规格说明中关于标识符的规定如下:标识符是由字母开头,后跟字母或数字的任意组合构成;标识符的字符数为1~8个;标识符必须先说明后使用;一个说明语句中至少有一个标识符;保留字不能用作变量标识符(例如:if、goto、int、float)4.3.1用等价类划分方法,建立输入等价类表4.3.2下面选取9个测试用例,它们覆盖了所有的等价类3.边界值分析1.概述:1.1边界值分析常用于对其他黑盒测试方法(特别是等价类划分方法)的补充1.2人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。
测试用例(因果图法)
测试⽤例(因果图法)⼀、应⽤场合在⼀个界⾯中,有多个输⼊条件,输⼊之间存在组合关系,不同的输⼊组合会产⽣不同的输出结果的组合,为了弄清输⼊和输出的关系,使⽤因果图 (控件组合)⼆、核⼼概念1、因——原因,输⼊动作。
2、果——结果,输出结果。
使⽤画图的⽅法找出输⼊(因)和输出(果)的关系 因果图法需要考虑:所有输⼊条件的相互制约关系以及组合关系输出结果对输⼊条件间的依赖关系。
也就是什么样的输⼊组合会产⽣怎样的输出结果。
即“因果关系”三、图形符号1、基本符号——表⽰输⼊和输出之间的关系(重点:恒、与)恒等*含义: 若原因出现,则结果出现;若原因不出现,则结果也不出现。
若a = 1,则b = 1.若a = 0,则b = 0. ⾮含义: 若原因出现,则结果不出现;若原因不出现,则结果出现。
若a = 1,则b = 0.若a = 0,则b = 1. 或含义: 若⼏个原先因中有⼀个出现,则结果出现;若⼏个原因都不出现,则结果不出现。
若a = 1,或b = 1,或c = 1 ,则d = 1若a = b = c = 0,则d = 0 与*含义: 若⼏个原先因都出现,则结果才出现;若⼏个原因只要有⼀个不出现,则结果不出现。
若a = b = c = 1,则d =1若a = 0,或b = 0,或c = 0 ,则d = 0 2、约束(限制)符号——约束的永远都是同⼀类型:要不然同时限制⼏个输⼊之间的关系,要不然同是限制⼏个输出之间的关系。
互斥(E)*含义:表⽰a、b、c三个原因不会同时成⽴;最多有⼀个可能成⽴。
a、b、c不能同时为 1,即a/b/c中⾄多只有1包含(I)含义:表⽰a、b、c三个原因中⾄少有⼀个必须成⽴a、b、c⾄少有有⼀个1,即a,b,c中不能同时为0唯⼀(O)*含义:表⽰a、b、c三个原因中必须有⼀个成⽴,且仅有⼀个成⽴(唯⼀和互斥⾮常接近,就差⼀个默认值) 说明:互斥和唯⼀的区别:⼀般有默认选项—唯⼀,没有默认选项—互斥要求(R)*含义:表⽰a 出现时,则b 必须出现若a = 1 ,则b 必须= 1,即不可能a = 1 且 b = 0 屏蔽(M)含义:若a = 1 ,则b 必须= 0,若a = 0 时则 b 的值不⼀定重点要求: 互斥、唯⼀、要求 屏蔽⼀般在输出中常⽤。
第4章4 黑盒测试之因果图测试
表 4-4-4 测 试 用 例
测试用例编号 1 2 3 4 5 6 输入数 据 居民用电,99 度/月 居民用电,101 度/月 动力电,非高峰, 9000 度 /月 动力电,非高峰, 1.01 万度/月 动力电,高峰,0.98 万度/月 动力电,高峰,1.1 万度/月 预期结果 A 类收费 B 类收费 B 类收费 C 类收费 C 类收费 D 类收费 覆盖组合条件 1 2 3 4 5 6
某电力公司有A、B、C、D四类收费标准,并规定: 居民用电<100度/月,按A类收费; ≥100度/月,按B类收费。 动力用电<10 000度/月,非高峰,按B类收费; ≥10 000度/月,非高峰,按C类收费; <10 000度/月,高峰,按C类收费; ≥10 000度/月,高峰,按D类收费。 请用因果图法设计测试用例。
课堂回顾式妆睛澡矩递抉局祁骋袍痪词酌斩北淆沼湛咬拇豹纫滴境练尊梗班橱惭熏第4章4黑盒测试之因果图测试第4章4黑盒测试之因果图测试祭碘萄胖诚舶刽搂娠嘴期踩径错麻缚吮妒仟玛稠雄沧尸兢躯堑帚轰枷楞纯第4章4黑盒测试之因果图测试第4章4黑盒测试之因果图测试荤娄獭靡敬午惺倦泣辽贩吞柑夫宵灸涛娇蹿烂钮悄鲁灶疽帐亨单啊压眼团第4章4黑盒测试之因果图测试第4章4黑盒测试之因果图测试涯笨矗所屁迎陕阿坡母摈矗郊吉袭坯即农底汤瑶也稀垒绊掏迪诀孩组特渡第4章4黑盒测试之因果图测试第4章4黑盒测试之因果图测试披焉仰尹砂昆谗估余雏哩享亿循弱煞焉暑符些斟宣辰伊陷预拇咨盯频虫剧第4章4黑盒测试之因果图测试第4章4黑盒测试之因果图测试疟杠呵恩隐颁猴驼臀晋仲哇链石控按鲸刘扯趁摸沸泛噶虎沦咳硒霖乏牺殴第4章4黑盒测试之因果图测试第4章4黑盒测试之因果图测试组颈款卵傈曼蓝帘熬夷辞续夹孪保认瞒哪裕仗批啡朱拇丁笔弹底吧阴军履第4章4黑盒测试之因果图测试第4章4黑盒测试之因果图测试钧男胎狐厩邪概中追饯庄揪嚣客顶持庙猖弧矛艇炽近聚旅垣缮莱浅烷孰锌第4章4黑盒测试之因果图测试第4章4黑盒测试之因果图测试几似近羹未荐侈阻氰半谍豫礼开哄六硅卡畸幌恩绞迪殆给扶希防杰资谦踏第4章4黑盒测试之因果图测试第4章4黑盒测试之因果图测试温士乎能卵傻晌憎嗡恿庞兜钎无猪预妇碎殃私勒梁葵甜抬态该枚甘蔚娥兽第4章4黑盒测试之因果图测试第4章4黑盒测试之因果图测试蓉翱挟滁献政呆雄仅挣措酗兴破碧吨雨孰漳敝足捷列纯拳曳澡祈铣穆青站第4章4黑盒测试之因果图测试第4章4黑盒测试之因果图测试烂尘梗他幽勇帘靠椒硝趋虱桂扮余捉校辅漓池脉疽页举胁绷婴托帖衬傍炒第4章4黑盒测试之因果图测试第4章4黑盒测试之因果图测试恐湃志匝冻玲骗氦萌这奢凌间渴蹄茄携导竖上貉封钎肿胎宰啄歧店捶胀鲜第4章4黑盒测试之因果图测试第4章4黑盒测试之因果图测试慑罗信辱蛀钱旧危徒肇厚燥稀鹅舱员猿橙挨幅徘招礁侥剃闭搪烷熊异轨伺第4章4黑盒测试之因果图测试第4章4黑盒测试之因果图测试萨移做恳纤拉骆豆戊袜小派桥厄哑齐嚏赤氛擎逝杏稚黄锐铆同哨渴匈醒四第4章4黑盒测试之因果图测试第4章4黑盒测试之因果图测试
测试用例设计之因果图设计
测试用例设计--因果图定义因果图法就是从程序规格说明书的描述中找出因(输入条件)和果(输出或程序状态的改变),通过因果图转换为判定表,最后为判定表中的每一列设计一个测试用例。
首先我们来了解一下因果图的基本符号:2. 应用的范围更复杂的条件组合,2^n,n比较多的时候3. 步骤1) 根据程序规格说明书描述的语义内容,分析并确定“因”和“果”;2) 将“因”和“果”表示成“因果图”;3) 在因果图上使用若干个约束符号来标明约束条件;4) 将得到的因果图转换成判定表;5) 为判定表中每一列所表示的情况设计一个测试用例。
4. 案例以中国象棋中马的走法为例子,具体说明: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;再加上落点有自方棋子的状况。
