因果图方法
如何利用因果图分析质量问题的根本原因

如何利用因果图分析质量问题的根本原因?因果图,也称为鱼骨图或石川图,是一种用于分析质量问题根本原因的工具。
以下是天行健六西格玛顾问总结的利用因果图分析质量问题根本原因的步骤:一、确定问题1. 明确要分析的质量问题。
用简洁的语言描述问题,确保团队成员对问题有清晰的理解。
例如,“产品表面出现划痕”。
二、召集团队1. 组建一个跨职能的团队,包括与问题相关的各个领域的人员,如生产、质量控制、设计、工程等。
2. 团队成员应具备不同的专业知识和经验,以便从多个角度分析问题。
三、绘制鱼骨图1. 在白板或纸上画出一条水平线,代表问题的“鱼头”。
2. 在水平线的右端写上问题描述。
3. 从水平线的左端画出一条倾斜的“主骨”,代表问题的主要类别。
通常可以将主要类别分为人员、机器、材料、方法、环境和测量等六个方面,也可以根据具体情况进行调整。
4. 在每个主要类别下面,画出若干条“支骨”,代表可能导致问题的具体原因。
例如,在“人员”类别下,可以列出“操作不熟练”“培训不足”“责任心不强”等原因。
5. 继续细分支骨,直到找到可能的根本原因。
例如,在“操作不熟练”下面,可以进一步列出“新员工”“缺乏实践经验”等原因。
四、头脑风暴1. 团队成员围绕问题进行头脑风暴,尽可能多地提出可能导致问题的原因。
2. 每个成员将自己想到的原因写在便利贴上,然后贴在相应的支骨上。
3. 在头脑风暴过程中,不要批评或评价任何想法,鼓励成员自由发挥。
五、分析原因1. 对贴在鱼骨图上的原因进行分析,确定哪些原因是可能的根本原因。
2. 可以使用“5Why”分析法,即对每个原因连续追问“为什么”,直到找到根本原因。
例如,对于“操作不熟练”这个原因,可以问“为什么操作不熟练?”可能的回答是“新员工”。
再问“为什么新员工操作不熟练?”可能的回答是“缺乏培训”。
继续追问,直到找到根本原因。
3. 对可能的根本原因进行验证,可以通过收集数据、观察现场、进行实验等方式来确定原因的真实性。
测试用例设计方法之因果图法

测试用例设计方法之因果图法(一)因果图法的来源大家熟悉的等价类划分法和边界值分析法,都是着重考虑输入条件,但未考虑输入条件之间的联系、相互组合等;但是,如考虑所输入条件之间的相互组合,会由于组合情况数目相当大,需要大量的测试用例;因果图法,是一种帮助人们系统地选择一组高效率测试用例的方法。
(二)因果图法的特点考虑输入条件间的组合关系;考虑输出条件对输入条件的信赖关系,即因果关系;测试用例发现错误的效率高;能检查出功能说明中的某些不一致或遗漏;因果图方法最终生产的就是判定表,它适合于检查程序输入条件和各种组合情况。
(三)因果图法基本步骤1.分割功能说明书对于规模比较大的程序来说,由于输入条件的组合数太大,所以很难整体上使用一个因果图。
我们可以把它划分为若干部分,然后分别对每个部分使用因果图。
例如,测试编译程序时,可以把每个语句作为一个部分。
2.识别出“原因”和“结果”,并加以编号所谓原因,是指输入条件或输入条件的等价类;而结果则是指输出条件或输出条件的等价类。
每个原因或结果都对应于因果图中的一个节点。
当原因或结果成立(或出现)时,相应的节点取值为1,否则为0。
例如,有一个饮料自动售货机(处理单价为5角钱)的控制处理软件,它的软件规格说明如下:若投入5角钱的硬币,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。
若投入1元钱的硬币,同样也是按“橙汁”或“啤酒”的按钮,则自动售货机在送出相应饮料的同时退回5角钱的硬币。
分析这一段说明,我们可以列出原因和结果。
原因如下:✧投入1元硬币;✧投入5角硬币;✧按下“橙汁”按钮;✧按下“啤酒”按钮结果✧退还5角钱;✧送出“橙汁”饮料;✧送出“啤酒”饮料3.根据功能说明书中规定的原因和结果之间的关系画出因果图因果图的基本符号如图1所示: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。
名词解释 因果图法

名词解释因果图法因果图法因果图法又称为“放射图”、“树枝图”、“鱼骨图”等。
它是用来分析、解释、说明事物变化的成因与结果,及预测未来的一种统计图表。
本文提供了三种因果图法:(1)箭头因果图法;(2)数字因果图法;(3)图形因果图法画出影响每一事件的多种原因,不管它们之间有没有时间顺序,如果有顺序,就从时间先后次序排列;然后根据原因之间的逻辑关系,把原因按照由小到大的顺序连接起来,最终得到一张能够清晰表达所研究问题之间联系的图。
而且为了便于观察、比较、分析,还要在箭头[gPARAGRAPH3]上标注出原因的性质。
例如有这样一个箭头因果图:(1)销售额每年递增20%。
(2)人均产值从2000年的80元/人上升到2007年的180元/人。
箭头因果图因果图也可用于找出重要的变量之间相互关系的一种方法,但其内容太复杂,难度很大,一般情况下只适合科学研究中。
若要用于实际生活,则需要有另外的逻辑推理手段。
以上这些对影响你目前生活和工作最主要的六个方面进行分析。
但是请不要单纯看到这六个原因,也不要仅仅看到事件A在这六个方面所发挥的作用,更不要单纯地认为事件B在这六个方面所发挥的作用就一定比事件A小。
原因之间的关系可能会非常复杂,以至于无法找到真正的关键原因。
事件A是事件B发生的必要条件,但事件A并不一定就是事件B发生的充分条件。
事件A和事件B之间也有可能存在互为因果或相互加强的关系。
就像左右手互相协作的例子,两只手都很健康的情况下才能产生更好的效果。
因此,必须要综合考虑原因之间的因果链条和相互关系。
如何建立影响我生活和工作的多种因素的因果关系呢?就让我们先去找出那些最主要的六个原因,然后再去寻找那些最具体的原因。
即使这样也会花费很长时间,因此我们应该尽可能快速地建立我们所需要的原因与原因之间的关系。
1、按下列因果关系表格将各事件之间的顺序打乱,然后根据原因之间的逻辑关系,将原因按照由小到大的顺序排列,得到图1-9。
因果图法

因果图(续)
因果图中的约束 在实际问题中输入状态相互之间、输出状态相互之间可能存在某些依
赖关系,称为“约束”。对于输入条件的约束有E、I、O、R四种约束 ,对于输出条件的约束只有M约束。 ➢ E约束(异):a和b中最多有一个可能为1,即a和b不能同时 为1。 ➢ I 约束(或):a、b、c中至少有一个必须为1,即 a、b、c不能同时为0。 ➢ O约束(唯一):a和b必须有一个且仅有一个为1。 ➢ R约束(要求):a是1时,b必须是1,即a为1时,b不能为0。 ➢ M约束(强制):若结果a为1,则结果b强制为0。
(2)如果所生成的测试用例不够全面,请考虑用别的测试 方法生成一些补充的 测试用例。
使用等价类划分法
测试方法的选择(续)
通常在确定测试策略时,有以下5条参考原则: (1)在任何情况下都必须采用边界值分析法。这种方法设计
出的测试用例发现程序错误的能力最强。 (2)必要时采用等价类划分法补充测试用例。 (3)采用错误推断法再追加测试用例。 (4)对照程序逻辑,检查已设计出的测试用例的逻辑覆盖
程度。如果没有达到要求的覆盖标准,则应当再补充更多 的测试用例。 (5)如果程序的功能说明中含有输入条件的组合情况,则应 一开始就选用因果图法。
因果图法的简介(续)
使用因果图法的优点: (1)考虑到了输入情况的各种组合以及各个输入情况之间的相互制约关系。 (2)能够帮助测试人员按照一定的步骤,高效率的开发测试用例。 (3)因果图法是将自然语言规格说明转化成形式语言规格说明的一种严格的方
法,可以指出规格说明存在的不完整性和二义性。
1.2 因果图
1 因果图法
1.1 因果图法的简介 1.2 因果图 1.3 因果图法测试举例
1.1 因果图法的简介
因果图法——精选推荐

因果图法因果图法判断表法场景法因果图1.)因果图法是⼀种适合于描述对于多种输⼊条件组合的测试⽅法2.)根据输⼊条件的租合,约束关系和输出条件的因果关系,分析输⼊条件的格尔宗族和情况,从⽽设计测试⽤例的⽅法;3.)它适合于检查程序输⼊条件涉及的各种组合情况;1.原因和结果的关系2.恒等,原因A成⽴,结果B⼀定,结果成⽴3.⾮。
原因A成⽴时结果B⼀定不成⽴4.或。
原因A,B,C三者只有⼀个成⽴,结果D才会出现。
第⼆步:其中互斥,包含,唯⼀,要求是对原因的约束,屏蔽是对结果的约束,它们的含义如下:互斥:表⽰不同时为1,即a,b,c中⾄少有⼀个1包含:表⽰⾄少有⼀个1,即a,b,c中不同时为0唯⼀:表⽰a,b,c中有且只有⼀个1要求:表⽰若a=1,则b必须为1,既不可能a=1且b=0屏蔽:表⽰若a=1,则b必须为0原因之间的约束:1)互斥:假如原因成⽴⽤1表⽰,不成⽴⽤0表⽰,也即是所A+B+C<=12)包含,也就是0=>A+B+C>=13)唯⼀:A+B+C==14)要求:(only)A+B+C==15)屏蔽:6)因果图实例阅读和分析功能说明书,识别出“原因”和“结果”,并加以编号案例:有⼀个饮料⾃动售货机(处理单价为5⾓钱)的控制处理软件,他的软件规格说明如下:1)若投⼊5⾓钱,按下“橙汁”或者“啤酒”的按钮,则相应的饮料就送出来;2)若投⼊1元钱的银币,同样也是按“橙汁”或者“啤酒”的按钮,则⾃动售货机在送出相应饮料的同时退回5⾓钱的银币;如果图使⽤中的局限性:当原因1和恶结果多的时候,它们之间的关系连线会很多,导致因果图可读性差,因此⽤作局部的⼩功能(原因和结果不是很多的时候)分析;列出所有的的原因和结果的列表,设计初步的测试⽤例步骤;操作/序列Case1Case2Case3Case4Case5投币投五⾓10000投⼀元01110按钮选橙汁10101选啤酒01010结果出橙汁10011出啤酒01100找零5⾓00110提⽰项提⽰投币提⽰选择60s⾃动退币Case5是⼀种bug,不能做测试设计;因果图的优势在于,能够发现设计中的不⾜;经过分析发现:1)只选择饮料没有投币的时候,软件没有任何结果;2)只投币没有选择饮料时,软件也没有任何的结果;3)不能把软件的缺陷设计成测试⽤例;判定表法:是分析和表达逻辑条件下执⾏不同的情况的⼯具。
因果图

因果图
因果图:又叫石川图、特性要因图、树枝图、鱼刺图等。
表示质量特性波动与其潜在原因关系,即表达和分析因果关系的一种图表。
1.“头脑风暴法”是分析因果关系的好方法
为了作好因果图,透彻的分析因果关系,运用“头脑风暴法”将可能导致结果的原因摆清讲透。
2.分析整理,绘制因果图,表达因果关系
前面所得到的信息资料,往往是杂乱无章的,应运用一些方法,进行分析整理。
以便得到具有逻辑性的有条理的思路。
3.分析论证确定重要原因
从末端原因中找出影响结果的主要原因,可运用一些统计工具,如排列图、散布图、正交试验法、假设检验等。
但方便有效的方法是经验论证法。
名词解释 因果图法

名词解释因果图法因果图法(drawing)亦称因果连环图,是德国心理学家艾宾浩斯(H。
Ebbinghauer, 1849-- 1919)提出来的一种最基本的思维图形模式。
他把观察到的数据依照一定的顺序在纸上画成直线,用圆圈表示数据,根据图形所表示的因果关系来推论原来未知的因素。
对于每个事件来说,可以从许多方面去探究,找出其中的原因。
不管问题有多复杂,总能从中找出最主要的原因,并分析这些因素之间的因果关系,再进行科学的解释和论证。
这是一种最基本的思维图形模式。
从概念上讲,有两层意思:一是构成思维图形的因素之间存在因果关系;二是因果关系反映了客观事物内部普遍联系的规律性。
简单地说,就是把引起某种现象的诸因素按照时间顺序排列在一张图表上,并把前后的因果关系用线条穿起来。
最初研究因果关系的人是德国心理学家艾宾浩斯。
他在1885年开始采用图表作为研究工具,在因果图法的基础上发展了不少有关研究心理的方法。
他的著名论文《记忆的研究》就是运用这种方法写成的。
他还提出了“不平衡规律”这个概念,并认为人们保持信息不只靠瞬间的记忆,而是要保持过去经验的痕迹,如果忘掉过去的信息,新的信息也就无法进入记忆。
这篇论文标志着人类思维发展史上的重大转折,被称为20世纪最伟大的心理学实验。
生活中有很多很多类似的现象,但并非所有都适合于因果图法,它需要与其他思维方法配合使用,才能取得良好的效果。
1、11。
艾宾浩斯遗忘曲线:艾宾浩斯通过对遗忘的研究,绘制出一条遗忘的规律曲线,叫做艾宾浩斯遗忘曲线,即著名的遗忘曲线。
2。
艾宾浩斯记忆测试:利用艾宾浩斯遗忘曲线,精确掌握记忆规律。
记忆的过程大致可以分为4个阶段: a、记住无关紧要的材料。
b、进行信息登记,即暂时记住。
c、保持和回忆。
d、再次编码。
3。
艾宾浩斯记忆法:根据艾宾浩斯遗忘曲线进行的记忆方法。
12。
艾宾浩斯效应:艾宾浩斯在研究人的记忆过程中,最早发现的一种现象,他把这种现象称为艾宾浩斯效应。
软件测试第四章--因果图讲解

(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)分析软件规格说明中哪些是原因(即输入条件或输入条 件的等价类),哪些是结果(即输出条件),并给每个原因 和结果赋予一个标识符。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
预期输出:修改文件 预期输出:给出信息M 预期输出:修改文件 预期输出:给出信息M 预期输出:给出信息L 预期输出:给出信息LM
练习
程序的规格说明要求:输入的第一个字符必 须是#或*,第二个字符必须是一个数字, 在此情况下进行文件的修改;如果第一个字 符不是#或*,则给出信息N,如果第二个字 符不是数字,则给出信息M。 用因果图法设计测试用例
黑盒测试—因果图方法
内容提纲
复习 因果图法的思想 因果图法的步骤 举例 练习
复习
等价类划分法的思想 边界值分析法的思想
1、因果图法概述
等价类划分方法和边界值分析方法着重 考虑输入条件,而不考虑输入条件的各 种组合,也不考虑输入条件之间的相互 制约的关系,但有时一些具体问题中的 输入之间存在着相互依赖的关系,如: NextDate函数问题。
R约束(要求):a是1时,b必须是1,即a 为1时,b不能为0
M约束:对输出条件的约束,若结果a 为1,则结果b必须为0.
因果图生成测试用例的基本步骤
(1) 分析软件规格说明描述中,哪些是原 因 (即输入条件或输入条件的等价类), 哪些是结果 (即输出条件),并给每个原 因和结果赋予一个标识符。 (2) 分析软件规格说明描述中的语义,找 出原因与结果之间,原因与原因之间对 应的是什么关系? 根据这些关系,画出 因果图。
4.因果图法
(1) 分析这一段说明,列出原因和结果 原因: 1. 售货机有零钱找 2. 投入1元硬币 3. 投入5角硬币 4. 按下橙汁按钮 5. 按下啤酒按钮
建立中间结点,表示处理中间状态 11. 投入1元硬币且按下饮料按钮 12. 按下〖橙汁〗或〖啤酒〗的按钮 13. 应当找5角零钱并且售货机有零钱找 14. 钱已付清
编号
Test1 Test2 Test3 Test4 Test5 Test6 Test7 Test8 Test9 Test10 Test11 Test12 Test13 Test14 Test15 Test16
输入条件 12345 组合
11010 11001 11000 10110 10101 10100 10010 10001 01010 01001 01000 00110 00101 00100 00010 00001
应用举例
分析问题,按照如下步骤进行: (1)根据软件规格说明书,列出原因和结果. (2)找出原因和结果之间的关系,原因和原 因之间的约束关系,画出因果图. (3)将因果图转化为判定表 (4)根据判定表设计测试用例.
应用举例
原因: C1:第一个字符是A; C2:第一个字符是B; C3:第二个字符是一个数字字符. 结果: E1:给出信息L; E2:修改文件; E3:给出信息M;
期望输出
23,24 23,25 .. 24 25 .. .. .. 21,22 21,22 21 21,24 21,25 21 21 21
练习
有一个处理单价为1元5角的盒装饮料的 自动售货机软件。若投入1元5角硬币, 按下“可乐”、“雪碧”或“红茶”按 钮,相应的饮料就送出来。若投入的是2 元硬币,在送出饮料的同时退还5角硬币。
练习2
例如,有一个处理单价为5角钱的饮料的自动 售货机软件测试用例的设计。其规格说明如 下: 若投入5角钱或1元钱的硬币,按下〖橙汁〗 或〖啤酒〗的按钮,则相应的饮料就送出来。 若售货机没有零钱找,则一个显示〖零钱找 完〗的红灯亮,这时在投入1元硬币并按下按 钮后,饮料不送出来而且1元硬币也退出来; 若有零钱找,则显示〖零钱找完〗的红灯灭, 在送出饮料的同时退还5角硬币。”
2 因果图中出现的基本符号
原因
结果
通常在因果图中用Ci表示原因,用Ei表示 结果,各结点表示状态,可取值“0”或 “1”。“0”表示某状态不出现,“1”表 示某状态出现。
主要的原因和结果之间的关系有:
C1
C1
C2
因果图法
恒等: 若c1为1,则e1也为1,否则e1为0. 非: 若c1是1,则e1为0,否则e1是1. 或: 若c1或c2或c3是1,则e1是1,若三者 都不为1,则e1为0. 与: 若c1和c2都是1,则e1为1,否则若有 其中一个不为1,则e1为0.
因果图C1 ∨ ຫໍສະໝຸດ 2 10中间结果~ ∧
E1
E2
C3 ~
E3
带有E约束的因果图
C1 ~ ∨ C2 10 ∧ E2 E1
E
C3 ~
E3
将因果图转化为决策表
C1 C2 C3 10 E1 E2 E3
不可能
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
4.因果图法
结果:
21. 售货机〖零钱找完〗灯亮 22. 退还1元硬币 23. 退还5角硬币 24. 送出橙汁饮料 25. 送出啤酒饮料
(2) 画出因果图。所有原因结点列在左边, 所有结果结点列在右边。
(3) 由于 2 与 3 ,4 与 5 不能同时发生, 分别加上约束条件E。 (4) 因果图转换成判定表 (5) 设计测试用例
1、因果图法概述
如果输入之间有关系,我们在测试时必须考 虑输入条件的各种组合,那么可以考虑使用 一种适合于描述对于多种条件的组合,相应 产生多个动作的形式来设计测试用例,这就 需要利用因果图。
因果图方法最终生成的就是判定表。它 适合于检查程序输入条件的各种组合情 况。
因果图法的基本思想
使用因果图法设计测试用例时,首先 从程序规格说明书的描述中,找出因(输 入条件)和果(输出结果或者程序状态的 改变),然后通过因果图转换为判定表, 最后为判定表中的每一列设计一个测 试用例.
因果图方法设计测试用例
因果图法的优点
考虑了多个输入之间的相互组合、相 互制约关系; 能够帮助我们按一定步骤,高效率地 选择测试用例,同时还能为我们指出, 程序规格说明描述中存在着什么问题
小结
因果图方法的适用范围 因果图方法设计测试用例的步骤 因果图方法优点
因果图法
实际问题中,输入状态之间可能存在 某些依赖关系,这种依赖关系被称为” 约束”. 在因果图中使用特定的符号来表示 这些约束关系:
约束关系说明:
E约束(异): a,b最多有一个可能为1, 不能同时为1.
I约束(或): a,b,c中至少有一个必须 为1,不能同时为0.
O约束(惟一): a和b必须有一个且仅 有一个为1
7 0 0 1 0 √
8 0 0 0 0 √ √ CM D*
√ √ √ A3 A5 AM A& B3 B5
√ BM B* C2 X6
测试 用例
设计测试用例
用例1: 用例2: 用例3: 用例4: 用例5: 用例6:
输入数据:A3 输入数据:AM 输入数据:B3 输入数据:B* 输入数据:C2 输入数据:CM
(3) 由于语法或环境限制,有些原因与原 因之间,原因与结果之间的组合情况不 可能出现。为表明这些特殊情况,在因 果图上用一些记号标明约束或限制条件。 (4) 把因果图转换成判定表。 (5) 把判定表的每一列拿出来作为依据, 设计测试用例。
4 应用举例
某个软件的规格说明书中规定:第 一个字符必须是A或B,第二个字符 必须是一个数字字符,在此情况下 进行文件的修改,但如果第一个字 符不正确,则给出信息L;如果第二 个字符不正确,则给出信息M.