因果图测试法
- 格式:ppt
- 大小:303.50 KB
- 文档页数:14
测试用例设计—因果图法1.引言等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系、相互组合等。
考虑输入条件之间的相互组合,可能会产生一些新的情况。
但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。
因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。
这就需要利用因果图(逻辑模型)。
因果图(Cause-EffectGraphing)提供了一个把规格转化为判定表的系统化方法,从该图中可以产生测试数据。
其中原因是表示输入条件,结果是对输入执行的一系列计算后得到的输出。
因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。
2.因果图介绍图例说明1、4种符号分别表示了规格说明中向4种因果关系。
如图2-1所示。
图2-1 因果图关系2、因果图中使用了简单的逻辑符号,以直线联接左右结点。
左结点表示输入状态(或称原因),右结点表示输出状态(或称结果)。
3、ci表示原因,通常置于图的左部;ei表示结果,通常在图的右部。
ci 和ei均可取值0或1,0表示某状态不出现,1表示某状态出现。
因果图概念1、关系(图2-1 因果图关系)①恒等:若ci是1,则ei也是1;否则ei为0。
②非:若ci是1,则ei是0;否则ei是1。
③或:若c1或c2或c3是1,则ei是1;否则ei为0。
“或”可有任意个输入。
④与:若c1和c2都是1,则ei为1;否则ei为0。
“与”也可有任意个输入。
2、约束输入状态相互之间还可能存在某些依赖关系,称为约束。
例如,某些输入条件本身不可能同时出现。
输出状态之间也往往存在约束。
在因果图中,用特定的符号标明这些约束。
如图2-2所示。
图2-2因果图约束A.输入条件的约束有以下4类:① E约束(异):a和b中至多有一个可能为1,即a和b不能同时为1。
② I约束(或):a、b和c中至少有一个必须是1,即 a、b 和c不能同时为0。
软件测试中的因果图与关系图测试在软件测试过程中,因果图和关系图是两个重要的测试工具。
它们能够帮助测试人员快速有效地识别和分析软件系统中的问题,进而提高软件的质量和可靠性。
本文将介绍软件测试中的因果图和关系图测试,并探讨它们的应用和优势。
一、因果图测试因果图也被称为鱼骨图或石川图,是一种用图形方式表示问题和其根本原因之间因果关系的工具。
因果图测试通过将问题分解为不同的因素,并分析它们之间的因果关系,帮助测试人员确定问题的根本原因。
在进行因果图测试时,首先需要明确要解决的问题。
然后,将问题作为因果图的鱼头,并在鱼骨上画出几条主要的鱼刺来表示可能的原因类别。
例如,对于一个软件崩溃的问题,可能的原因类别包括软件代码、硬件环境、用户操作等。
接下来,在每个原因类别下,进一步细分成具体的原因因素,直到找到问题的根本原因。
因果图测试的优势是可以快速识别问题的根本原因,帮助测试人员集中精力解决关键问题。
此外,因果图测试也有助于团队的协作和沟通,因为它提供了一种结构化的方法将问题和原因可视化。
二、关系图测试关系图测试也被称为流程图或数据流图测试,是通过图形方式表示软件系统的不同模块、组件或数据之间的依赖和交互关系。
关系图测试帮助测试人员识别系统中的数据流程、控制流程以及模块之间的关系,以便更好地进行测试和分析。
在进行关系图测试时,首先需要明确系统的不同组成部分,并标记它们之间的依赖关系。
然后,通过绘制有向箭头表示数据或控制的流向,以及模块之间的交互关系来创建关系图。
通过分析关系图,测试人员可以确定测试的重点和策略,以确保系统的功能和性能达到需求。
关系图测试的优势是帮助测试人员理清系统的架构和逻辑,快速定位问题区域,提高测试效率。
此外,关系图测试也有助于可视化系统的复杂性,促进团队成员之间的理解和合作。
三、因果图与关系图测试的应用因果图和关系图测试在软件测试中有着广泛的应用。
它们可以用于各个阶段的测试,包括需求分析、设计验证、单元测试、集成测试和系统测试等。
软件测试中的因果关系测试方法对比在软件开发过程中,测试是一个重要的环节,它的目标是找出软件中的错误和缺陷,确保软件的质量和稳定性。
因果关系测试方法是一种常见的测试方法,它通过模拟不同的因素对软件系统的影响,找出其中的因果关系,从而提高测试的效果。
本文将对几种常见的因果关系测试方法进行对比分析。
1. 因果图测试法因果图测试法是一种基于因果关系的测试方法,它通过构建因果图来分析和设计测试用例。
在因果图中,将系统的各种因素以及它们之间的关系进行可视化表示,通过对因果图的分析,可以发现不同因素之间的依赖关系,从而派生出有效的测试用例。
因果图测试法的优点是能够清楚地反映出各种因素之间的关系,帮助测试人员更好地理解和设计测试用例。
然而,因果图测试法也存在一些局限性,例如在构建因果图时可能遗漏某些因素或关系,从而导致测试用例的不完整性。
2. 决策表测试法决策表测试法是一种基于因果关系的测试方法,它使用决策表来表示不同条件下的决策规则。
决策表包含了各种因素和它们之间的关系,并将各种条件和决策结果进行映射,从而派生出测试用例。
相比于因果图测试法,决策表测试法更加直观和实用,它能够覆盖所有的条件和规则,并可以通过相关的测试技术进行测试用例的生成和执行。
然而,决策表测试法也存在一些不足之处,例如当条件和决策规则较为复杂时,决策表可能变得非常庞大和难以维护。
3. 故障推理测试法故障推理测试法是一种基于因果关系的测试方法,它通过推断软件系统中潜在的故障和错误。
故障推理测试法的核心思想是从可能的因果关系中推断出可能存在的故障,然后通过相应的测试用例进行验证。
故障推理测试法的优点是能够发现软件系统中的潜在故障,帮助测试人员更好地预测和解决问题。
然而,故障推理测试法也存在一些局限性,例如在推断过程中可能存在误判和遗漏,从而导致测试的准确性和完整性受到影响。
在实际的软件测试过程中,可以根据具体的需求和情况选择不同的因果关系测试方法。
软件测试⽤例之因果图法
简介
从⽤⾃然语⾔书写的程序规格说明的描述中找出因(输⼊条件)和果(输出或程序状态的改变),可以通过因果图转换为判定表。
因果图法即因果分析图,⼜叫特性要因图、⽯川图或鱼翅图,它是由⽇本东京⼤学教授⽯川馨提出的⼀种通过带箭头的线,将质量问题与原因之间的关系表⽰出来,是分析影响产品质量的诸因素之间关系的⼀种⼯具。
作⽤
因果图法是⼀种适合于描述对于多种输⼊条件组合的测试⽅法,根据输⼊条件的组合、约束关系和输出条件的因果关系,分析输⼊条件的各种组合情况,从⽽设计测试⽤例的⽅法,它适合于检查程序输⼊条件涉及的各种组合情况。
因果图法⼀般和判定表结合使⽤,通过映射同时发⽣相互影响的多个输⼊来确定判定条件。
因果图法最终⽣成的就是判定表,它适合于检查程序输⼊条件的各种组合情况。
采⽤因果图法能帮助我们按照⼀定的步骤选择⼀组⾼效的测试⽤例,同时,还能指出规范中存在什么问题,鉴别和制作因果图。
因果图法着重分析输⼊条件的各种组合,每种组合条件就是“因”,它必然有⼀个输出的结果,这就是“果”。
基本步骤
利⽤因果图导出测试⽤例⼀般要经过以下⼏个步骤:
1)分析软件规格说明的描述中哪些是原因,哪些是结果。
原因是输⼊或输⼊条件的等价类,结果是输出条件。
给每个原因和结果并赋予⼀个标识符,根据这些关系,画出因果图。
2)因果图上⽤⼀些记号表明约束条件或限制条件。
3)对需求加以分析并把它们表⽰为因果图之间的关系图。
4)把因果图转换成判定表。
5)将判定表的每⼀列作为依据,设计测试⽤例。
因果图法因果图法判断表法场景法因果图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、果——结果,输出结果。
使⽤画图的⽅法找出输⼊(因)和输出(果)的关系 因果图法需要考虑:所有输⼊条件的相互制约关系以及组合关系输出结果对输⼊条件间的依赖关系。
也就是什么样的输⼊组合会产⽣怎样的输出结果。
即“因果关系”三、图形符号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 的值不⼀定重点要求: 互斥、唯⼀、要求 屏蔽⼀般在输出中常⽤。