在软件测试中,如果程序有多个输入,那么除了输入与输出之间的作用关系之外,这些输人之间往往也会存在某些依赖关系,某些输入条件本身不能同时出现,某一种输人可能会影响其他输人。例如,某一软件用于统计体检信息,在输人个人信息时,性别只能输入男或女,这两种输人不能同时存在,而且如果输入性别为女,那么体检项就会受到限制。这些依赖关系在软件测试中称为“约束”,约束的类别可分为4种:E(Exclusive,异)、I(at least one,或)、O(one and only one,唯一)、R(Requires,要求),在因果图中,用特定的符号表明这些约束关系,如图所示。
因果图的作图方法是将主要原因作为大枝(大枝代表研究流程的显著步骤),然后依次寻找原因构成中的中枝和小枝,步骤如下:
①简明扼要地规定结果,即规定需要解决的质量问题。如电容器的不良品率高、焊接工艺中的不良焊点、电阻器的刻槽误差等。
②规定问题原因的类别。一般把人员、机器(设备)、材料、方法、测量和环境等因素作为第一层原因。
③开始画图。要把“结果”画在右边的矩形框中,然后把各类主要质量原因放在它的左边,作为“结果”框的输入,将寻找的主要原因与最深层次原因用图示方法表示。
④寻找所有下一个层次的原因,画在相应的主(因)枝上,并一层层地往下展开。一张完整的因果图展开的层次至少应有2层,许多情况下还可以有3层、4层或更多的层。
⑤从最末一层的原因(又称最高层次因素)中选取和识别3~5个认为对结果有最大影响的原因(即要因),并对它们做进一步的研究。应注意“要因”一定要确定在末端因素上,而不应确定在中间过程上。
因果图的画法:
1、确定分析对象,找出要解决的质量问题,把它填在因果图主干线箭头指向的地方。通过画排列图所确定的主要质量问题,请有关人员来分析的质量问题。
2、召开有关人员参加的分析讨论会,让各位自由发表意见和看法,集思广益,分析产生要解决的质量问题的原因。分析原因时,要从大到小,从粗到细,寻根究底。要把大家所提的对产生这个质量问题有影响的原因都分层次地画在因果图的相应位置上。
3、在大家提出的许多原因中确定少数主要原因。要把主要原因在图上作出记号。用圆圈把它框起
因果分析图是以结果作为特性,以原因作为因素,在它们之间用箭头联系表示因果关系。因果分析图是一种充分发动员工动脑筋,查原因,集思广益的好办法,也特别适合于工作小组中实行质量的民主管理。当出现了某种质量问题,未搞清楚原因时,可针对问题发动大家寻找可能的原因,使每个人都畅所欲言,把所有可能的原因都列出来。
步骤1:集合有关人员。
召集与此问题相关的,有经验的人员,人数最好4-10人。
步骤2:挂一张大白纸,准备2-3支色笔。
步骤3:由集合的人员就影响问题的原因发言,发言内容记入图上,中途不可批评或质问。(脑力激荡 法)
步骤4:时间大约1个小时,搜集20-30个原因则可结束。
步骤5:就所搜集的原因,何者影响最大,再由大轮流发言,经大家磋商后,认为影响较大予圈上红色 圈。
步骤6:与步骤5一样,针对已圈上一个红圈的,若认为最重要的可以再圈上两圈,三圈。
步骤7:重新画一张原因图,未上圈的予于去除,圈数愈多的列为最优先处理。
因果分析图提供的是抓取重要原因的工具,所以参加的人员应包含对此项工作具有经验者,才易秦效。
通过MindMaster软件,再结合对应的需求来画
因果图法
1、定义:
用于描述系统的输入输出、以及输入与输出之间的因果关系、输入和输入之间的约束关系,一般结合判定表一起使用,是判定表的前置过程。
2、关系:
输入、输出的因果、制约关系:
输入与输出的因果关系(c,e)
恒等关系:当输入项发生,一定会产生输出项,反之亦然
非关系:当输入项发生,一定不会产生输出项
或关系:多个输入条件中,只要有一个发生,则会产生对应输出
与关系:多个输入条件中,只有所有输入项发生时,才会产生对应输出
输入与输入之间的制约关系
异E:所有输入中至多一个输入条件发生
或I:所有输入中至少一个输入条件发生
唯一O:所有输入中有且只有一个输入条件发生
要求R:所有输入中只要有一个输入条件发生,则其他输入也会发生
输出与输出之间的制约关系
强制M:约束输出与输出之间的制约关系
输入、输出的因果、制约关系:
输入与输出的因果关系(c,e)
恒等关系:当输入项发生,一定会产生输出项,反之亦然
非关系:当输入项发生,一定不会产生输出项
或关系:多个输入条件中,只要有一个发生,则会产生对应输出
与关系:多个输入条件中,只有所有输入项发生时,才会产生对应输出
输入与输入之间的制约关系
异E:所有输入中至多一个输入条件发生
或I:所有输入中至少一个输入条件发生
唯一O:所有输入中有且只有一个输入条件发生
要求R:所有输入中只要有一个输入条件发生,则其他输入也会发生
输出与输出之间的制约关系
强制M:约束输出与输出之间的制约关系
实施步骤:
1.列出所有的输入和输出
2.画出因果图
3.转为判定表
4.简化、合并相似规则(建议不使用)
5.设计测试用例
优缺点和使用范围:
优点:能减少因果关系的复杂程度,更快地生成判定表
缺点;规模太大,容易产生测试冗余
适用范围:必须存在因果关系很明显的
因果图需要处理输入之间的作用关系,还要考虑输出情况,因此它包含了复杂的逻辑关系,这些复杂的逻辑关系通堂用图示来展现,这些图示就是因果图。
因果图使用一些简单的逻辑符号和直线将程序的因(输人)与果(输出)连接起来,一般原因用ci表示,结果用ei表示,ci与ei可以取值“0”或“1”,其中“0”表示状态不出现,“1”表示状态出现。
ci与ei,之间有恒等、非(~)、或(V)、与(A)4种关系,如图下图所示。
上图中展示了因果图的4种关系,每种关系的具体含义如下所示。
(1)恒等:在恒等关系中,要求程序有1个输人和1个输出,输出与输入保持一致。若ci为1,则ei也为1;若ci为0,则ei,也为0。
(2)非:非使用符号“~”表示,在这种关系中,要求程序有1个输人和1个输出,输出是输入的取反。若ci为1,则ei为0;若ci为0,则ei为1。
(3)或:或使用符号“∨”表示,或关系可以有任意个输入,只要这些输入中有一个为则输出为1,否则输出为0。
(4)与:与使用符号“∧”表示,与关系也可以有任意个输入,但只有这些输入全部为输出才能为1,否则输出为0。
在软件测试中,如果程序有多个输入,那么除了输入与输出之间的作用关系之外,这些输人之间往往也会存在某些依赖关系,某些输入条件本身不能同时出现,某一种输人可能会影响其他输人。例如,某一软件用于统计体检信息,在输人个人信息时,性别只能输入男或女,这两种输人不能同时存在,而且如果输入性别为女,那么体检项就会受到限制。这些依赖关系在软件测试中称为“约束”,约束的类别可分为4种:E(Exclusive,异)、I(at least one,或)、O(one and only one,唯一)、R(Requires,要求),在因果图中,用特定的符号表明这些约束关系,如图所示。
上图展示了多个输入之间的约束符号,这些约束关系的含义具体如下所示。
(1) E(异):a和b中最多只能有一个为1,即α和b不能同时为1。
(2) I(或):a、b和c中至少有一个必须是1,即a、b、c不能同时为0。
(3)O(唯一):a和b有且仅有一个为1。
(4) R(要求):a和b必须保持一致,即a为1时,b也必须为1;a为0时,b也必须为0。
上面这4种都是关于输入条件的约束。除了输入条件,输出条件也会相互约束,输出条件的约束只有一种——M(Mask,强制),在因果图中,使用特定的符号表示输出条件之间的强制约束关系,如下图所示。
在输出条件的强制约束关系中,如果a为1,则b强制为0;如果a为0,则b强制为1
2. 因果图法设计测试用例的步骤
使用因果图法设计测试用例需要经过以下几个步骤。
(1)分析程序规格说明书描述内容,确定程序的输入与输出,即确定“原因”和“结果”。
(2)分析得出输入与输入之间、输入与输出之间的对应关系,将这些输入与输出之间的关系使用因果图表示出来。
(3)由于语法与环境的限制,有些输入与输入之间、输入与输出之间的组合情况是不可能出现的,对于这种情况,使用符号标记它们之间的限制或约束关系。
(4)将因果图转换为决策表。决策表将在下一小节介绍。
(5)根据决策表设计测试用例。
因果图法考虑了输入情况的各种组合以及各种输入情况之间的相互制约关系,可以帮助测试人员按照一定的步骤高效率地开发测试用例。此外,因果图是由自然语言规格说明转化成形式语言规格说明的一种严格方法,它能够发现规格说明书中存在的不完整性和二义性,帮助开发人员完善产品的规格说明。
来源于网络仅供参考
相关问题推荐
因果图的主要作用是将多种输入条件排列组合,通过约束条件来分析各种情况的组合,然后设计测试用例
MindMaster也是一款可以画因果图的软件,操作简单方便,容易上手。
绘制因果图的注意事项:①确定原因时应通过大家集思广益,充分发扬民主,以免疏漏; ②确定原因,应尽可能具体; ③有多少质量特性,就要绘制多少张因果图; ④验证。
因果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件涉及的各种组合情况。因果图法一般和判定表结合使用,通过映射...
1.互斥:可不选,要选最多选一个。E(Exclude)表示2.唯一:必选,且只能选一个。O(Only)表示3.包含:至少选择一个,可以多选。I(Include)表示4.要求:一个出现,另一个一定出现;反之另一个不确定。R(Required)表示5.屏蔽:a成立时,b不成立;a不成立...
、 黑盒测试:是一种常用的软件测试方法,它将被测软件看作一个打不开的黑盒,主要根据功能需求设计测试用例,进行测试。几种常用的黑盒测试方法和黑盒测试工具有,等价类划分法、边界值分析法、因果图法、决策表法。在实际运用中要选择合适的方法。二、 因果...
果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件涉及的各种组合情况。因果图法一般和判定表结合使用,通过映射同...
联系:都能反映存量与流量之间的逻辑关系,是对存量与流量之间关系的不同描述.区别:因果回路图只能描述存量与流量之间逻辑结构关系的基本方面(总体关系),而存量流量图不仅能描述存量与流量之间逻辑结构关系的基本方面,还能区别各变量的性质,所描述的信息完...
1、因果图的使用场景:因果法是一种利用图解法分析输入的各种组合情况并且作为输入条件的原因与输出结果之间的因果必系比较容易从需求规格说明中得到,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。2、正交法使用场景:正交试验法在软件...