因果图测试规范

因果图测试规范
因果图测试规范

因果图设计测试规范

本文档介绍了针对终端软件测试的因果图法测试规范。

本测试规范中对移动终端用因果图法设计测试用例原理进行了详细的描述,并用实例加以说明如何使用该方法设计测试用例。包括设计测试用例时的使用范围,设计测试用例的步骤等。

本测试规范介绍了一种通用的测试方法,需要根据被测终端软件需求才能形成具体的测试用例。

1.简介 (4)

2.作用 .............................................................................................................. 错误!未定义书签。

3.因果图法基本规则 (4)

3.1.因果图的基本符号 (4)

3.2.因果图的约束符号 (5)

4.测试用例设计步骤 (6)

4.1.列出输入项和输出项 (7)

4.2.分析因果关系 (7)

4.3.标注约束形成因果图 (7)

4.4.转换成判定表 (7)

4.5.设计测试用例 (7)

5.因果图法举例 (8)

5.1.因果图法典型例子 (8)

5.2.飞信添加好友实例 (10)

6.因果图的优点和缺点 (13)

6.1.优点 (13)

6.2.缺点 (13)

7.名词解释 (14)

8.参考文档 (14)

9.修改历史 ...................................................................................................... 错误!未定义书签。

1.简介

因果图是一种测试用例的设计方法。能从用自然语言书写的程序规格说明的描述中找出的“因”(输入条件)和“果”(输出或程序状态的改变),通过因果图转换为判定表,最后依据判定表进行测试用例的设计。所生成的判定表可以不通过剪裁直接生成测试用例,但会导致测试用例的冗余。即使是对于一般的小规模软件,画出的因果图也可能是非常庞大的,以至于依据因果图的写出测试用例数量很庞大,给测试工作带来沉重的负担。

2. 适用范围

因果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件涉及的各种组合情况。因果图法一般和判定表结合使用,通过映射同时发生相互影响的多个输入来确定判定条件。因果图法最终生成的就是判定表。采用因果图法能帮助我们按照一定的步骤选择一组高效的测试用例,同时,还能指出程序规范中存在什么问题,鉴别和制作因果图。

因果图法着重分析输入条件的各种组合,每种组合条件就是“因”,它必然有一个输出的结果,这就是“果”。

3. 因果图法基本规则

检查输入条件的组合不是容易的事情,即使把所有输入条件都划分成等价类,它们之间的组合情况也相当多。如果没有系统性的方法来选择输入条件的一个子集,可能导致低效率的测试。因此,必须考虑使用一种适合于描述这样一种情况的测试设计方法,对于多种条件的组合相应产生多个动作的形式,这就用到了因果图法。

3.1. 因果图的基本符号

通常在因果图中用ci表示原因,用ei表示结果;各结点表示状态,可取值0或1。0表示某状态不出现;1表示某状态出现。因果图的基本关系,如下图:

●恒等:若c1为1,则e1也为1;

若原因出现,则结果出现;若原因不出现,则结果也不出现

●非(~):若c1为1,则e1为0;

若原因出现,则结果不出现;若原因不出现,则结果出现。

●或(∨):若c1或c2或c3为1,则e1为1;

若三个原因中有一个出现,则结果出现;若三个原因都不出现,则结果不出现

●与(∧):若c1和c2都为1,则e1为1;

若两个原因都出现,结果才出现;若其中有一个原因不出现,则结果不出现。

3.2. 因果图的约束符号

为了表示原因和原因之间可能存在的约束条件,在因果图中附加一些表示约束条件的符号。如下图:

●从输入考虑,有四种约束;

1) 异(Exclusiveor):

a和b最多有一个为1,即a和b不能同时为1。

2) 或(In):

a、b、c至少有一个为1,即不能同时为0。

3) 唯一(Only)

a、b必须且仅有一个为1。

4) 要求(Request):

a是1时,b必须为1。

●从输出考虑,还有一种约束;

5) 强制(mandatory ):

表示当a是1时,b必须是0;而当a为0时,b的值不定。

4. 测试用例设计步骤

利用因果图设计测试用例一般要经过以下几个步骤:

1. 列出输入项、输出项;

2. 分析因果关系

3. 标注约束形成因果图

4. 转换成判定表

5. 设计测试用例

4.1. 列出输入项和输出项

分析软件规格说明的描述中哪些是原因,哪些是结果。原因常常是输入条件或者是输入条件的等价类,结果是输出。并将输入和输出分左右罗列出来。

输入需要包括外部消息输入,内部预置的用户状态、数据配置等所有对系统输出有影响的因素。

4.2. 分析因果关系

分析程序规格说明的描述中语义的内容,并将上一个步骤分析出来的输入和输出表示成连接各个原因与各个结果的因果初始图,给每个原因和结果赋予一个标识符,并加上原因和结果间的基本关系,通过这样的方式画出因果初始图。

4.3. 标注约束形成因果图

由于语法和环境的限制,有些输入之间或输入和输出之间的组合情况不可能出现,因此需要分别找出输入与输入之间的约束关系,并在因果图上使用若干个特殊的符号标进行约束关系的标注。

4.4. 转换成判定表

输入作为条件桩,输出作为动作桩,填入判定表中,根据因果图中输入和输出的基本关系,在判定表上对应的位置填写结果。在填写判定表时,可以用1和0标识,也可以用真和假标识。

判定表中的列就是规则,因为有些条件之间存在约束关系,或者语法和环境的限制,很多的组合是无效的,所以在判定表中要将这些无效组合形成的规则去掉。并且,为了达到减少测试用例的目的,需要合并相似的规则。

4.5. 设计测试用例

根据简化后的判定表中的每一列编写测试用例,这时的输入和输出在判定表中已经明确的表示出来了。

还有一些在判定表简化过程中被合并的,以及因果约束关系和及语法和环境的限制,不能出现的输入组合,为了检验软件的容错性,还应针对因果图中的各个约束条件,灵活采用等价类划分法和边界值法等测试方法进行有针对性的编写测试用例。

5. 因果图法举例

5.1. 因果图法典型例子

通过下面的示例说明如何使用因果图方法设计测试用例。

如想对文件进行修改,输入的第一个字符必须是A或B,第二个字符必须是一个数字,如果第一个字符不正确,则给出信息L;如果第二个字符不正确,则给出信息M。

1. 列出输入项和输出项

输入:c1 第一个字符是A

c2 第一个字符是B

c3 第二个字符是一个数字

输出:e1 给出信息L

e2 修改文件

e3 给出信息M

2. 分析因果关系

其中10为中间结点,中间结点是导出结果的进一步原因。

3. 标注约束形成因果图

4. 转换成判定表

5. 设计测试用例

如下图:表中规则3 里A3表示,在输入时第一字符为A,第二个字符为3;A8是它的等价输入。

以上是因果图法应用的一个典型例子,虽然很简单,但包含了因果图法的所有必须步骤。因果图法在解决较为复杂的问题中是非常有效的,它能有力地帮助确定测试用例。

5.2. 飞信添加好友实例

功能点描述:Fetion添加好友时,能够自动将通讯录中的联系人电话或Fetion ID,添加到输入框内,如联系人不存在号码或FetionID,则给出提示。如图

1. 列出输入项、输出项:

经过分析可以找出以下输入项、输出项:

输入项:

1) 通过FetionID添加

2) 通过手机号码添加

3) 联系人只有Fetion ID

4) 联系人只有手机号码

输出项:

1) 提示联系人没有FetionID

2) 提示联系人没有手机号码

3) FetionID添加成功并显示

4) 手机号码添加成功并显示

2. 分析因果关系

将输入和输出按照习惯分别罗列,输入项在左,输出项在右。然后根据从需求中分析出的基本关系将他们链接在一起。结果如下图:

3. 分析并标注约束

4. 转换为判定表

如图,分析规则1、2、3、4和13、14、15、16不可能出现,所以没有动作项。根据实际的语法以及环境,分析排除和合并规则后(具体简化原则请参阅判定表规范),形成的判定表如下图:

5. 设计测试用例

通过判定表就可以清楚的看到输入项和输出项之间因果关系,根据这些明确的关系设计测

试用例如下:

以上的步骤就是通过因果图法设计测试用例的使用流程。

6. 因果图的优点和缺点

因果图和等价类以及边界值法一样,是一种基本的测试方法,等价类划分和边界值分析方法,都是着重考虑输入条件,而未考虑输入条件之间的联系和组合。如果在测试时必须考虑输入条件的各种组合,则可能又会产生一些新的情况。因果图法能非常的清晰和有力的帮助解决在这种情况下的测试用例的设计问题。

但并不是在某个项目中只应用因果图法,而是用于一个模块或者一个功能点,比如,包含复选的输入输出功能点,或存在复杂的输入和输入之间多种组合的页面。有些很简单的页面,用因果图就不如用等价类或边界值法省力了。

6.1. 优点

1.可以全面的覆盖输入和输入的组合对结果的不同影响;

2.可以清晰地归纳出输入条件之间的限制关系;

3.可以帮助分析需求规格说明书中的存在问题;

4.可以帮助在复杂输入条件下高效率的选择测试用例;

5.可以帮助提高测试用例发现问题的效率;

6.可以帮助学习测试思想,比如,抽象出的中间状态以及为导出结果进一步原因产生的

中间结点。

6.2. 缺点

1.利用因果图来设计测试用例时,作为输入和输出的因果关系,以及输入和输入之间的

约束关系,很难从软件需求规格说明书中得出。但可能从软件设计文档可以得出这些

信息。

2.因果图必须依赖于判定表生成测试用例而不能独自生成测试用例,所以要对判定表使

用比较熟练。

7.名词解释

条件桩:列出了问题的所有条件。通常认为列出的条件的次序无关紧要。

动作桩:列出了问题规定可能采取的操作。这些操作的排列顺序没有约束

规则:任何一个条件组合的特定取值及其相应的要执行的操作称为规则。

(以上名词解释,如需更详细的定义,请参见《判定表测试规范》)

8.参考文档

1.《软件测试设计》电子工业出版社马均飞,郑文强编著

2.《软件测试需求分析与系统测试用例设计培训教材》51testing培训

因果图测试用例

1.引言 等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系、相互组合等。考虑输入条件之间的相互组合,可能会产生一些新的情况。但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。这就需要利用因果图(逻辑模型)。 因果图(Cause-Effect Graphing)提供了一个把规格转化为判定表的系统化方法,从该图中可以产生测试数据。其中原因是表示输入条件,结果是对输入执行的一系列计算后得到的输出。 因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。 2.因果图介绍 2.1图例说明 1、4种符号分别表示了规格说明中向4种因果关系。如图2-1所示。 图2-1 因果图关系 2、因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输入状态(或称原因),右结点表示输出状态(或称结果)。 3、ci表示原因,通常置于图的左部;ei表示结果,通常在图的右部。ci和ei均可取值0或1,0表示某状态不出现,1表示某状态出现。 2.2因果图概念 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因果图约束 .输入条件的约束有以下4类: ①E约束(异):a和b中至多有一个可能为1,即a和b不能同时为1。 ②I约束(或):a、b和c中至少有一个必须是1,即a、b 和c不能同时为0。 ③O约束(唯一);a和b必须有一个,且仅有1个为1。 ④R约束(要求):a是1时,b必须是1,即不可能a是1时b是0。 B.输出条件约束类型 输出条件的约束只有M约束(强制):若结果a是1,则结果b强制为0。 2.3因果图法设计测试用例步骤 1、分析待测得系统规格,找出原因与结果 分析软件规格说明描述中,那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件), 并给每个原因和结果赋予一个标识符。 2、画出因果图

测试用例设计方法之因果图法

测试用例设计方法之因果图法 (一)因果图法的来源 大家熟悉的等价类划分法和边界值分析法,都是着重考虑输入条件,但未考虑输入条件之间的联系、相互组合等; 但是,如考虑所输入条件之间的相互组合,会由于组合情况数目相当大,需要大量的测试用例; 因果图法,是一种帮助人们系统地选择一组高效率测试用例的方法。(二)因果图法的特点 考虑输入条件间的组合关系; 考虑输出条件对输入条件的信赖关系,即因果关系; 测试用例发现错误的效率高; 能检查出功能说明中的某些不一致或遗漏; 因果图方法最终生产的就是判定表,它适合于检查程序输入条件和各种组合情况。 (三)因果图法基本步骤 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。 画因果图时,原因在左,结果在右,由上而下排列,并根据功能说明书中规定的原因和结果之间的关系,用上述基本符号连接起来。在因果图中还可以引入一些中间节点。

鱼骨图分析法(又名因果图)

鱼骨图Cause & Effect/Fishbone Diagram 第1章概念与来源 鱼骨图又名特性因素图是由日本管理大师石川馨先生所发展出来的,故又名石川图。鱼骨图是一种发现问题“根本原因”的方法,它也可以称之为“因果图”。鱼骨图原本用于质量管理。 问题的特性总是受到一些因素的影响,我们通过头脑风暴找出这些因素,并将它们与特性值一起,按相互关联性整理而成的层次分明、条理清楚,并标出重要因素的图形就叫特性要因图。因其形状如鱼骨,所以又叫鱼骨图(以下称鱼骨图),它是一种透过现象看本质的分析方法,又叫因果分析图。同时,鱼骨图也用在生产中,来形象地表示生产车间的流程。下图为鱼骨图基本结构: 一般可转化为三种类型: A、整理问题型鱼骨图(各要素与特性值间不存在原因关系,而是结构构成关系,对问题进行结构化整理) B、原因型鱼骨图(鱼头在右,特性值通常以“为什么……”来写) C、对策型鱼骨图(鱼头在左,特性值通常以“如何提高/改善……”来写) 第2章应用场景 鱼骨图常用于查找问题的根因时使用,如对于现场客户的需求进行分析整理时可使用该工具分析用户的本质需求。 第3章使用步骤 制作鱼骨图分两个步骤:分析问题原因/结构、绘制鱼骨图。 分析问题原因/结构

A、针对问题点,选择层别方法(如人机料法环测量等)。 B、按头脑风暴分别对各层别类别找出所有可能原因(因素)。 C、将找出的各要素进行归类、整理,明确其从属关系。 D、分析选取重要因素。 E、检查各要素的描述方法,确保语法简明、意思明确。 分析要点: a、确定大要因(大骨)时,现场作业一般从“人机料法环”着手,管理类问题一般从“人事时地物”层别,应视具体情况决定; b、大要因必须用中性词描述(不说明好坏),中、小要因必须使用价值判断(如…不良); c、脑力激荡时,应尽可能多而全地找出所有可能原因,而不仅限于自己能完全掌控或正在执行的内容。对人的原因,宜从行动而非思想态度面着手分析; d、中要因跟特性值、小要因跟中要因间有直接的原因-问题关系,小要因应分析至可以直接下对策; e、如果某种原因可同时归属于两种或两种以上因素,请以关联性最强者为准(必要时考虑三现主义:即现时到现场看现物,通过相对条件的比较,找出相关性最强的要因归类。) f、选取重要原因时,不要超过7项,且应标识在最未端原因; 绘制鱼骨图 鱼骨图做图过程一般由以下几步组成: 1.由问题的负责人召集与问题有关的人员组成一个工作组(work group),该组成员必须对问题有一定深度的了解。 2.问题的负责人将拟找出原因的问题写在黑板或白纸右边的一个三角形的框内,并在其尾部引出一条水平直线,该线称为鱼脊。 3.工作组成员在鱼脊上画出与鱼脊成45°角的直线,并在其上标出引起问题的主要原因,这些成45°角的直线称为大骨。 4.对引起问题的原因进一步细化,画出中骨、小骨……,尽可能列出所有原因 5.对鱼骨图进行优化整理。 6.根据鱼骨图进行讨论。完整的鱼骨图如图2所示,由于鱼骨图不以数值来表示,并处理问题,而是通过整理问题与它的原因的层次来标明关系,因此,能很好的描述定性问题。鱼骨图的实施要求工作组负责人(即进行企业诊断的专家)有丰富的指导经验,整个过程负责人尽可能为工作组成员创造友好、平等、宽松的讨论环境,使每个成员的意见都能完全表达,同时保证鱼骨图正确做出,即防止工作组成员将原因、现象、对策互相混淆,并保证鱼骨图层次清晰。负责人不对问题发表任何看法,也不能对工作组成员进行任何诱导。 鱼骨图使用步骤 (1)查找要解决的问题; (2)把问题写在鱼骨的头上; (3)召集同事共同讨论问题出现的可能原因,尽可能多地找出问题; (4)把相同的问题分组,在鱼骨上标出; (5)根据不同问题征求大家的意见,总结出正确的原因;

测试用例设计 自动售货机因果图分析

实验三黑盒测试(二) 一、实验目的 通过本实验,掌握因果图法生成测试用例的步骤。 二、相关内容 利用因果图生成测试用例的基本步骤如下: (1)分析软件规格说明中哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。 (2)分析软件规格说明中的语义,找出原因与结果之间、原因与原因之间对应的关系,根据这些关系画出因果图。 (3)由于语法或环境的限制,有些原因与原因之间、原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。 (4)把因果图转换为决策表。 (5)根据决策表中的每一列设计测试用例。 三、实验内容 有一个处理单价为5 角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5 角钱或1 元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1 元硬币并押下按钮后,饮料不送出来而且1 元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5 角硬币。 编写程序实现之,然后用因果图法对自动售货机设计测试用例并测试之。 要求: 1、编写程序,实现上述自动售货过程。(任选一种自己熟悉的语言,有无界面均可,实现相应的功能即可。) 2、用因果图法设计测试用例。 (1)正确画出因果图。(2)画出决策表。(3)给出测试用例。 提示:可按如下步骤进行: 1)分析这一段说明,列出原因和结果。 2)画出因果图。(所有原因结点列在左边,所有结果点列在右边。可以考虑建立中间结点,表示处理的中间状态。比如,可设如下几种中间状态:该找5 角,可找5 角,按下按钮、钱已付清) 3)画出决策表。 4)给出测试用例。 四、实验报告 实验报告提交内容:源程序清单、因果图、决策表。(测试用例有时间就设计,没有时间可以不设计) 一,因果图;

以中国象棋中走马的测试用例设计为例学习因果图的使用方法

以中国象棋中走马的测试用例设计为例学习因果图的使用方法。 分析中国象棋中走马的实际情况(下面未注明的均指的是对马的说明) 1如果落点在棋盘外,则不移动棋子; 2、如果落点与起点不构成日字型,则不移动棋子; 3、如果落点处有自己方棋子,则不移动棋子; 4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子; 5、如果不属于1-4条,且落点处无棋子,则移动棋子; 6、如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子; 7、如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。原因:结果: 1、落点在棋盘上; 2、落点与起点构成日字; 3、落点处为自己方棋子; 4、落点方向的邻近交叉点无棋子; 5、落点处无棋子; 6、洛点处为对方棋子(非老将); 7、洛点处为对方老将。21、不移动棋子; 22、移动棋子; 23、移动棋子,并除去对方棋子; 24、移动棋子,并提示战胜对方,结束游戏。 L2345678 111110000 2]101I00 3L3101c10 11111100 2200001 2101000 23(.1010] 测试 用例 A3 A8 AR A? R5 B4 RN ur Cl X6 SD PS 考虑结果不能同时发生,所以对其施加唯一约束施加异约束E。 根据因果图建立判定表:(分为两表)0。原因5、6、7不能同时发生,所以对其 添加中间节点11,目的是作为导出结果的进一步原因,简化因果图导出的判定表

注:1、以上判定表中由于表格大小限制没有列出最后所选的测试用例;2、第2表中部分列被合并表示不可能发生的现象;3、通过中间节点将用例的判定表简化为两个小表。减少工 作量。 四、根据判定表写测试用例表(略)

测试用例八大设计方法和实例

测试用例设计方法 1等价类划分 1.1 理论知识 等价类划分是一种典型的黑盒测试方法。这一方法完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。 等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭示程序中的错误都是等效的。 等价类合理地假设:某个等价类的代表值,与该等价类的其他值,对于测试来说是等价的。 因此,可以把全部的输入数据划分成若干的等价类,在每一个等价类中取一个数据来进行测试。这样就能以较少的具有代表性的数据进行测试,而取得较好的测试效果。 等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法. 1) 分类: 划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类. 有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能. 无效等价类:与有效等价类的定义恰巧相反. 设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性. 2)划分等价类的方法: 下面给出六条确定等价类的原则: ①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类. ②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效

基于改进因果图法的CBTC系统车载功能测试方案研究

Vol.28No.12 Dec.2012 赤峰学院学报(自然科学版)JournalofChifengUniversity(NaturalScienceEdition)第28卷第12期(上) 2012年12月由于国内经济的不断快速发展,大型城市以及中型城市正逐步的扩建,城市面临着人口不断增加以及城市占地面积扩大的问题[1].为了保证城市轨道交通能够更加安全、效率地运行,于是各个城市的轨道交通建设放弃选择使用原有的基于轨道电路的列车控制系统(TBTC),而采用最新的列车控 制系统基于通信的列车控制系统(CBTC)[2] . 在现有的城市轨道交通系统中很多都采用了CBTC系统,但是很多城市地铁都出现过大大小小的事故[3].在CBTC系统中,车载设备保证着列车的安全行驶,系统功能都需要通过车载设备才能实现 [4] .因此完成CBTC系统测试中重要的一个环节就 是对列车的车载设备进行调试[5]. 本研究系统根据新一代的CBTC系统设计理 念,利用车载设备的测试软件进行车载设备的测试.通过测试软件,观察车载控制器内的数据变化,对测试参数的具体分析,最后基于工程实践的经验,对CBTC系统测试用例进行设计.1 CBTC 系统概述 在CBTC系统下,车—地双向实时数据的传输采用的是无线通信的手段[6].列车不再是单一地接收地面传到车载设备的控制信息,列车还需将列车的位置信息和列车的运行信息及时反馈给地面设备[7].地面设备通过得到的列车信息计算出列车的移动授权(MovingAuthority下面简称MA),并且动态更新,将移动授权通过车—地通信网络传输到车 载设备[8].车载设备根据收到的移动授权信息和当前列车的运行状态,计算出列车的运行速度曲线,控制列车的牵引、制动与运行[9].2 因果图法简述 CBTC系统下的车载设备将接收的信息来自区域控制器ZC、ATS系统、地面信标和计算机连锁CI,同时需要将处理的信息反馈给各系统,其中的之间的逻辑关系非常复杂[10].为了避免输入条件之间的彼此结合导致新的状况出现而带来检查方面的困难,因此如何设计测试用例,可以在测试手段的选取上采用一种形式,满足描述多条件组合,且产生对应多动作.这要求我们对测试用例的设计时采取因果图法.2.1因果图法原理 因果图模型中有两类主要部分的因果图参数和结构,如图1所示: 其中字母B表示基本事件,即不需探究自身 基于改进因果图法的CBTC系统车载功能测试方案研究 张佳莹,曲 娜,郑伟南,卫昱含 (吉林建筑工程学院 城建学院,吉林长春 130111) 摘 要:随着CBTC系统被越来越广泛地应用到轨道交通建设中,对其功能上的测试也越来越严 格.本文针对车载设备的测试方法和具体的测试案例进行研究, 选取以因果图法为主体的改进方法对测试进行指导工作,重点研究了因果图法中由因果图转化为判定表的条件遍历算法,并选取了车载ATP超速防护的功能为例,对车载设备系统的测试应用中,通过对改进后的因果图法而进行研究.测试结果证明了本研究系统的所提出的测试方案具有实际可行意义,可以将该方案推广起来. 关键词:CBTC系统;功能测试;车载设备;测试方案中图分类号:TP273+.5 文献标识码:A 文章编号:1673-260X(2012)12-0023- 03 图1因果图模型 23--

测试用例设计—自动售货机因果图分析

命题 有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1 元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。分析 根据该命题,我们可以分析出,自动售货机的业务中一共存在5个条件和5个结果,分别是:条件: 1.售货机有零钱找 2.投入1元硬币 3.投入5角硬币 4.押下橙汁按钮 5.押下啤酒按钮 结果: 1.售货机〖零钱找完〗灯亮???当售货机中没有零钱的时候就有亮红灯 2.退还1元硬币当投入1元,而且售货机中没有零钱可找的时候 3.退还5角硬币????????????当投入1元,而且售货机中有零钱可找的时候 4.送出橙汁饮料 5.送出啤酒饮料 因果图-画条件和结果 因果图-画简单关系 在画完空白的条件和结果之后,我们可以将题目中最直接和简单的因果条件标出 1、条件“有零钱”和结果“红灯亮”是一个“非”的关系,当“有零钱”的时候,红灯是不亮的,而当售货机中“没有零钱”的时候,红灯必须要亮的。 2、条件“投1元”和条件“投5角”是一个“E”的关系,这两个动作不可能同时发生,即同时投入1元钱和5角钱(不能同时为真);但是我们允许即“不投入1元钱”也“不投入5角钱”(可以同时为假)。 3、条件“选啤酒”和条件“选橙汁”是一个“E”的关系,这两个动作不可能同时发生,即同时“选择啤酒”和“选择橙汁”(不能同时为真);但是我们允许即“不选择啤酒”也“不选择橙汁”(可以同时为假)。 4、条件“选啤酒”和条件“选橙汁”对于程序处理过程是等价的,即二者无论是价格还是系统的处理方法都是相同的,因此这两个条件可以合并为一个中间节点。而且这两个条件之间使用“或”的关系。 5、注意,条件“投1元”和条件“投5角”不是等价关系,表面上看,他们都是“钱”,好像差不多,但是对于程序的处理过程确实完全不同的,“投5角”后完全不用判断当前售货机中是否有零钱(因为题目中规定所有的商品都是5角钱),而“投1元”就不行了。 因果图-送出商品 现在我们从结果的角度考虑,要想“出啤酒”或者“出橙汁”,从现实买卖中分析必须要有什么先决条件呢?是的,就是“你的钱要付清”,而且你一定要选择了“啤酒”或者“橙汁”才行。而在上面的已有因果图中,我们无法找到“钱付清”的因素,因此这时候我们可以试着再加一个中间节点,就叫“钱付清”吧。 要想获得选中的商品,则条件“钱付清”和条件“选啤酒/选橙汁”必须要同时成立,因此是“与”的关系。 因果图-应该找零钱 根据题意,当投入1元钱,而且又选中了某一种商品的时候,系统是需要找零钱的。而现有条件和结果中并没有涉及到“应该找零钱”这种情况,因此我们还需要增加一个中间节点“应该找零钱”。

最新因果图分析法实例讲解复习课程

因果图分析法: 前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑 输入条件之间的联系, 相互组合等。考虑输入条件之间的相互组合,可能会产生一些新的情况。但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。这就需要利用因果图(逻辑模型)。 因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。 因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输入状态(或 称原因),右结点表示输出状态(或称结果)。 ci 表示原因,通常置于图的左部;ei 表示结果,通常在图的右部。ci 和ei 均可取值 0或1,0表示某状态不出现,1表示某状态出现。 4种符号分别表示了规格说明中向4种因果关系。如上图所示。 ①恒等:若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。“与”也可有任意个输入。 因果图概念--约束 输入状态相互之间还可能存在某些依赖关系,称为约束。例如, 某些输入条件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定的符号标明这些约束。 A.输入条件的约束有以下4类: ① E 约束(异):a 和b 中至多有一个可能为1,即a 和b 不能同时为1。 ② I 约束(或):a 、b 和c 中至少有一个必须是1,即 a 、b 和c 不能同时为0。 ③ O 约束(唯一);a 和b 必须有一个,且仅有1个为1。 ④R 约束(要求):a 是1时,b 必须是1,即不可能a 是1时b 是0。 B.输出条件约束类型 (d )与

因果图法测试用例

例题:程序规定:输入三个整数a、b和c分别作为三角形的3条边,通过程序判断由这3条边构成的三条边类型是:等边三角形、等腰三角形、一般三角形或非三角形(不能够成一个三角形) 黑盒测试(因果图法) 程序: #include #include using namespace std; void main(){ cout<<"输入三边边长:"<>a; cin>>b; cin>>c; if(a+b>c&&a+c>b&&b+c>a&&fabs(a-b)

E2:普通三角形 E3:等腰三角形 E4:等边三角形 (2)找出原因与结果之间的因果关系、原因与原因之间的约束关系,画出因果图。 (3)将因果图转换成决策表。

因果图测试规范

因果图设计测试规范

本文档介绍了针对终端软件测试的因果图法测试规范。 本测试规范中对移动终端用因果图法设计测试用例原理进行了详细的描述,并用实例加以说明如何使用该方法设计测试用例。包括设计测试用例时的使用范围,设计测试用例的步骤等。 本测试规范介绍了一种通用的测试方法,需要根据被测终端软件需求才能形成具体的测试用例。

1.简介 (4) 2.作用 .............................................................................................................. 错误!未定义书签。 3.因果图法基本规则 (4) 3.1.因果图的基本符号 (4) 3.2.因果图的约束符号 (5) 4.测试用例设计步骤 (6) 4.1.列出输入项和输出项 (7) 4.2.分析因果关系 (7) 4.3.标注约束形成因果图 (7) 4.4.转换成判定表 (7) 4.5.设计测试用例 (7) 5.因果图法举例 (8) 5.1.因果图法典型例子 (8) 5.2.飞信添加好友实例 (10) 6.因果图的优点和缺点 (13) 6.1.优点 (13) 6.2.缺点 (13) 7.名词解释 (14) 8.参考文档 (14) 9.修改历史 ...................................................................................................... 错误!未定义书签。

1.简介 因果图是一种测试用例的设计方法。能从用自然语言书写的程序规格说明的描述中找出的“因”(输入条件)和“果”(输出或程序状态的改变),通过因果图转换为判定表,最后依据判定表进行测试用例的设计。所生成的判定表可以不通过剪裁直接生成测试用例,但会导致测试用例的冗余。即使是对于一般的小规模软件,画出的因果图也可能是非常庞大的,以至于依据因果图的写出测试用例数量很庞大,给测试工作带来沉重的负担。 2. 适用范围 因果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件涉及的各种组合情况。因果图法一般和判定表结合使用,通过映射同时发生相互影响的多个输入来确定判定条件。因果图法最终生成的就是判定表。采用因果图法能帮助我们按照一定的步骤选择一组高效的测试用例,同时,还能指出程序规范中存在什么问题,鉴别和制作因果图。 因果图法着重分析输入条件的各种组合,每种组合条件就是“因”,它必然有一个输出的结果,这就是“果”。 3. 因果图法基本规则 检查输入条件的组合不是容易的事情,即使把所有输入条件都划分成等价类,它们之间的组合情况也相当多。如果没有系统性的方法来选择输入条件的一个子集,可能导致低效率的测试。因此,必须考虑使用一种适合于描述这样一种情况的测试设计方法,对于多种条件的组合相应产生多个动作的形式,这就用到了因果图法。 3.1. 因果图的基本符号 通常在因果图中用ci表示原因,用ei表示结果;各结点表示状态,可取值0或1。0表示某状态不出现;1表示某状态出现。因果图的基本关系,如下图:

自动售货机测试用例(因果图)

题目:有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。 1.分析这一段说明,列出原因和结果 原因: 1.售货机有零钱找 2.投入1元硬币 3.投入5角硬币 4.押下橙汁按钮 5.押下啤酒按钮 结果: 21.售货机〖零钱找完〗灯亮 22.退还1元硬币 23.退还5角硬币 24.送出橙汁饮料 25.送出啤酒饮料 2.画出因果图 如图所示。所有原因结点列在左边,所有结果结点列在右边。建立中间结点,表示处理的中间状态。中间结点: 11. 投入1元硬币且押下饮料按钮 12. 押下〖橙汁〗或〖啤酒〗的按钮 13. 应当找5角零钱并且售货机有零钱找 14. 钱已付清 3.转换成判定表:

4.设计测试用例 1)在售货机有零钱找的情况下,投入1元硬币,押下橙汁按钮,找回5角硬币并送出橙汁 饮料。 2)在售货机有零钱找的情况下,投入1元硬币,押下啤酒按钮,找回5角硬币并送出啤酒 饮料。 3)在售货机有零钱找的情况下,投入1元硬币,系统不做任何处理。 4)在售货机有零钱找的情况下,投入5角硬币,押下橙汁按钮,送出橙汁饮料。 5)在售货机有零钱找的情况下,投入5角硬币,押下啤酒按钮,送出啤酒饮料。 6)在售货机有零钱找的情况下,投入5角硬币,系统不做任何处理。 7)在售货机有零钱找的情况下,押下橙汁按钮,系统不做任何处理。 8)在售货机有零钱找的情况下,押下啤酒按钮,系统不做任何处理。 9)在售货机没有零钱找的情况下,投入1元硬币,押下橙汁按钮,售货机“零钱找完”灯 亮,并退还1元硬币。 10)在售货机没有零钱找的情况下,投入1元硬币,押下啤酒按钮,售货机“零钱找完”灯 亮,并退还1元硬币。 11)在售货机没有零钱找的情况下,投入1元硬币,售货机“零钱找完”灯亮。 12)在售货机没有零钱找的情况下,投入5角硬币,押下橙汁按钮,售货机“零钱找完”灯 亮,并送出橙汁饮料。 13)在售货机没有零钱找的情况下,投入5角硬币,押下啤酒按钮,售货机“零钱找完”灯 亮,并送出啤酒饮料。 14)在售货机没有零钱找的情况下,投入5角硬币,售货机“零钱找完”灯亮。 15)在售货机没有零钱找的情况下,押下橙汁按钮,售货机“零钱找完”灯亮。 16)在售货机没有零钱找的情况下,押下啤酒按钮,售货机“零钱找完”灯亮。

因果图设计测试用例

测试用例设计方法的介绍—因果图 前言为什么需要测试用例 ......................................................... 错误!未指定书签。 1.测试用例设计的方法分类 .................................................... 错误!未指定书签。 1.1.黑盒测试 ......................................................................... 错误!未指定书签。 1.2.白盒测试 ......................................................................... 错误!未指定书签。 1.3.灰盒测试 ......................................................................... 错误!未指定书签。 2.因果图的具体介绍 ................................................................ 错误!未指定书签。 2.1.为什么么需要因果图 ..................................................... 错误!未指定书签。 2.2.因果图概念介绍 ............................................................. 错误!未指定书签。 2.2.1.布尔逻辑运算符 ...................................................... 错误!未指定书签。 2.2.2.因果图的约束关系表示法 ...................................... 错误!未指定书签。 2.3.使用因果图设计测试用例的步骤 ................................. 错误!未指定书签。 2.3.1.分析需求 .................................................................. 错误!未指定书签。 2.3.2.确定原因和结果 ...................................................... 错误!未指定书签。 2.3.3.确定逻辑关系 .......................................................... 错误!未指定书签。 2.3.4.确定约束关系 .......................................................... 错误!未指定书签。 2.3.5.把因果图转换为决策表 .......................................... 错误!未指定书签。 2.3.6.根据原因给出结果 .................................................. 错误!未指定书签。 2.3.7.设计测试用例 .......................................................... 错误!未指定书签。 2.4.举例说明 ......................................................................... 错误!未指定书签。 2.4.1.例子1 ....................................................................... 错误!未指定书签。 2.4.2.例子2 ....................................................................... 错误!未指定书签。 3.使用因果图的好处 ................................................................ 错误!未指定书签。 4...................................................................................................... 错误!未指定书签。

自动售货机测试用例(因果图)

题目: 有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下: 若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。 若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。 1.分析这一段说明,列出原因和结果 原因: 1.售货机有零钱找 2.投入1元硬币 3.投入5角硬币 4.押下橙汁按钮 5.押下啤酒按钮 结果: 21.售货机〖零钱找完〗灯亮 22.退还1元硬币 23.退还5角硬币 24.送出橙汁饮料 25.送出啤酒饮料 2.画出因果图

如图所示。所有原因结点列在左边,所有结果结点列在右边。建立中间结点,表示处理的中间状态。中间结点: 11.投入1元硬币且押下饮料按钮 12.押下〖橙汁〗或〖啤酒〗的按钮 13.应当找5角零钱并且售货机有零钱找 14.钱已xx 3.转换成判定表: 4.设计测试用例 1)在售货机有零钱找的情况下,投入1元硬币,押下橙汁按钮,找回5角硬币并送出橙汁饮料。 2)在售货机有零钱找的情况下,投入1元硬币,押下啤酒按钮,找回5角硬币并送出啤酒饮料。 3)在售货机有零钱找的情况下,投入1元硬币,系统不做任何处理。 4)在售货机有零钱找的情况下,投入5角硬币,押下橙汁按钮,送出橙汁饮料。 5)在售货机有零钱找的情况下,投入5角硬币,押下啤酒按钮,送出啤酒饮料。 6)在售货机有零钱找的情况下,投入5角硬币,系统不做任何处理。 7)在售货机有零钱找的情况下,押下橙汁按钮,系统不做任何处理。 8)在售货机有零钱找的情况下,押下啤酒按钮,系统不做任何处理。 9)在售货机没有零钱找的情况下,投入1元硬币,押下橙汁按钮,售货机“零钱找完”灯亮,并退还1元硬币。

测试用例设计之因果图方法

测试用例设计之因果图方法 一.方法简介 1.定义 是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。 2.因果图法产生的背景: 等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。 如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。 3.因果图介绍 1) 4种符号分别表示了规格说明中向4种因果关系。 2) 因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输入状态(或称原因),右结点表示输出状态(或称结果)。 3) Ci表示原因,通常置于图的左部;ei表示结果,通常在图的右部。Ci和ei均可取值0或1,0表示某状态不出现,1表示某状态出现。

4.因果图概念 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。“与”也可有任意个输入。 前面两者①,②,考虑的是单个输入(原因)和输出(结果)之间的关系:也就是输入为真(假)时,输出的值为真还是假的对应关系,很自然的,我们很容易想到有两种情况:一种和输入同真同假,一种和输入相反。 后面两者③,④,考虑的是多个输入之间的组合输入和输出之间的关系:我们也很容易想到:一种是组合关系为或(or),一种组合关系为组合(and),满足这种组合关系得出的输出才为真,否则为假 2)约束 输入状态相互之间还可能存在某些依赖关系,称为约束。例如, 某些输入条件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定的符号标明这些约束。

黑盒测试实例(因果图和场景测试)

题目一:有一个处理单价为5角钱饮料的自动售货机软件,对其采用因果图方法设计测试用例。该自动售货机软件规格说明中的要点如下: 1)若售货机没有零钱找,则一个显示“零钱找完”的红灯亮,以提示顾客在此情况下不要投入1元钱,否则此红灯不亮。 2)顾客投入5角硬币后,按下“橙汁”或“啤酒”按钮,则相应的饮料被送出。 3)顾客投入1元硬币并按下“橙汁”或“啤酒”按钮后,若售货机没有零钱找,则显示“零钱找完”的红灯亮,1元硬币被推出,且无饮料送出;若有零钱找,则5角硬币被退出且饮料送出。 解:1) 分析这一段说明,列出原因和结果 原因: 1.售货机有零钱找 2.投入1元硬币 3.投入5角硬币 4.押下橙汁按钮 5.押下啤酒按钮 结果: 21.售货机〖零钱找完〗灯亮 22.退还1元硬币 23.退还5角硬币 24.送出橙汁饮料 25.送出啤酒饮料 2) 画出因果图,如图所示。所有原因结点列在左边,所有结果结点列在右边。建立中间结点,表示处理的中间状态。中间结点: 11. 投入1元硬币且押下饮料按钮 12. 押下〖橙汁〗或〖啤酒〗的按钮 13. 应当找5角零钱并且售货机有零钱找 14. 钱已付清

3) 转换成判定表: 4) 在判定表中,阴影部分表示因违反约束条件的不可能出现的情况,删去。第16列与第32列因什么动作也没做,也删去。最后可根据剩下的16列作为确定测试用例的依据。 题目二:有一个在线购物的实例,用户进入一个在线购物网站进行购物,选购物品后,进行在线购买,这时需要使用帐号登录,登录成功后,进行付钱交易,交易成功后,生成订购单,完成整个购物过程。对其采用场景法设计测试用例。

判定表+因果图法测试用例设计

第三部分任务3-3附2因果图法 单元名称 3 测试分析设计 任务名称3-3附2因果图法测试用例设计方法 任务描述学习判定表+因果图法设计测试用例的方法,完成测试用例设计学习目标 1. 因果图法测试用例设计方法。 关键词1.判定表 2.因果图。。。。。。 技能点因果图的画法 具体工作任务任务1 自学判定表+因果图法测试用例设计方法 任务-2 完成作业“象棋规则”中关于棋子“马”的落子规则的用例设计(参见作业“因果图法测试作业”) 任务3(附加题)完成“自动售货机”的用例设计 成果提交成果展示: 展示完成的测试用例(可用Excell实现)提交内容: 完成的测试用例 附2作业:因果图法测试作业. 1、象棋游戏规则(针对棋子“馬”):

1) 如果落点在棋盘外,则不移动棋子 2) 如果落点与起点不构成日字型,则不移动棋子。 3) 如果落点处有自己方棋子,则不移动棋子。 4) 如果落点方向的临近交叉点有棋子(绊马腿),则不移动棋子。 5) 如果不属于1-4条,且落点处无棋子,则移动棋子。 6) 如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋 子并除去对方棋子。 7) 如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示 战胜对方,游戏结束。

(1)使用因果图法列出原因和结果 (2)画出因果图,修改为最简洁的图。注意分析原因之间、结果之间是否有约束关系。 (3)根据因果图列出判定表 (4)根据判定表的中得出的输入数据,写出规范的。 参考步骤: (1)分析数据

测试用例编号棋子落点预期输出备注 原因: 1———— 2———— 。。。。。。 结果: A———— B———— 。。。。。。 (2) 因果图 (3) 判定表 (4) 测试用例 测试用例格式可参照下表 2(附加)、有一个处理单价为5角钱的饮料的自动售货机,相应规格说明如下: 若投入5角钱或1元钱的硬币,按下〖橙汁〗或〖啤酒〗的按 钮,则相应的饮料就送出来。(每次只投入一个硬币,只押下 一种饮料的按钮) 如投入5角的硬币,按下按钮后,总有饮料送出。 若售货机没有零钱找,则一个显示〖零钱找完〗的红灯会亮, 这时再投入1元硬币并按下按钮后,饮料不送出来而且1元硬币 也退出来。 若有零钱找,则显示〖零钱找完〗的红灯不会亮,若投入 1元 硬币及按饮料按钮,则送出饮料的同时找回5角硬币。 (1)使用因果图法列出原因和结果

相关文档
最新文档