文档库 最新最全的文档下载
当前位置:文档库 › [黑盒测试基本方法]之因果图与判定表

[黑盒测试基本方法]之因果图与判定表

[黑盒测试基本方法]之因果图与判定表
[黑盒测试基本方法]之因果图与判定表

测试用例设计方法

之因果图法与判定表

1.因果图法

1.1.前言

从用自然语言书写的程序规格说明的描述中找出因(输入条件)和果(输出或程序状态的改变),可以通过因果图转换为判定表。

因果图法即因果分析图,又叫特性要因图、石川图或鱼翅图,它是由日本东京大学教授石川馨提出的一种通过带箭头的线,将质量问题与原因之间的关系表示出来,是分析影响产品质量的诸因素之间关系的一种工具。

1.2.定义

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

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

1.3.因果关系

因果图的表示中输入与输出间的因果关系有四种:

1)恒等关系:当输入条件发生,会产生对应输出,当输入条件不发生时,不会产生都会应输出。

2)非关系:与恒等关系相反。

3)或关系:多个输入条件中,只要有一个发生,则会产生对应输出。

4)与关系:多个输入条件中,只有所有输入项发生时,才会产生对应输出。

特定的符号标明因果关系如下(图1.3.1):

图1.3.1

因果图的表示中输入与输入间的约束关系有四种:

1)异(E):所有输入中至多一个输入条件发生。

2)或(I):所有输入中至少一个输入条件发生。

3)唯一(O):所有输入中有且只有一个输入条件发生。

4)要求(R):所有输入中只有一个输入条件发生,则其它输入也会发生。

特定的符号标明输入与输入间约束关系如下(图1.3.2):

图1.3.2

因果图的表示中输出条件约束类型(见图1.3.2):

1)输出条件的约束只有M约束(强制):若结果a是1,则结果b强制为0。1.4.方法应用

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

1)画出因果图。

2)因果图上用一些记号表明约束条件或限制条件。

3)对需求加以分析并把它们表示为因果图之间的关系图。

4)把因果图转换成判定表。

5)将判定表的每一列作为依据,设计测试用例。

1.4.1. 画出因果图

分析软件规格说明的描述中哪些是原因,哪些是结果。原因是输入或输入条件的等价类,结果是输出条件。给每个原因和结果并赋予一个标识符,找出原因与结果之间,原因与原因之间对应的关系,根据这些关系,画出因果图。左边表示输入,右边表示输出。

因果图例:

1.4.

2. 建立中间节点

对于某些条件的多次使用,可以建立中间节点,以提高因果图的逻辑清晰。

图1.4.2

1.4.3. 根据因果图生成判定表

将输入和输出分别填入条件桩和动作桩,并在条件项填满输入的所有组合,若输入有n 项,则组合的列数为2n 列。根据因果图(图1.4.2)中的输入条件约束关系,对不可能出现的输入组合,在动作项上做出删除标记。根据因果图中的输入与输出的因果关系,在动作项上标出对应的动作结果。 判定表如下:

注:判定表中灰色部分是条件组合不可能出现的情况,所以删除。

1.4.4. 生成测试用例

判定表的每一列为一条规则,可以规划为一个测试用例

1.5. 实例讲解 1.5.1. 需求规格说明

某软件规格说明中包含这样的要求:

第一列字符必须是A 或B ,第二列字符必须是一个数字,在此情况下进行文件的修改。但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M 。

1.5.

2. 根据输入与输出画出因果图

分析规格说明中的输入条件与输出——

根据输入与输出间的对应关系,画出因果图:

把因果图转换成判定表如下:

1.5.3.设计测试用例

把判定表的每一列作为依据,设计用例,如下:

1.6.因果图法测试题

(一)填空题:

1.因果图法中输入与输出之间的关系分为_①_、②、③_、④_四种

2.使用因果图法的首先应根据规格说明中的要求确定⑤、⑥要素再画出因果图?

(二)选择题

1.因果图法中输入与输入之间的关系分为四种,具体是哪四种?

A.恒等、与、要求、非

B.异、或、非、与

C.唯一、非、异、或

D.唯一、要求、或、异

(三) 设计题:

分析中国象棋中走马的实际情况(下面未注明的均指的是对马的说明)

1、如果落点在棋盘外,则不移动棋子;

2、如果落点与起点不构成日字型,则不移动棋子;

3、如果落点处有自己方棋子,则不移动棋子;

4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;

5、如果不属于1-4条,且落点处无棋子,则移动棋子;

6、如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子;

7、如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。根据以上条件与结果,请使用因果图与判定表的方法设计测试用例。

答案

填空题1

○1: 恒等

○2: 非

○3: 与

○4: 或

填空题2

⑤:输入与输出之间的因果关系

⑥:输入与输入之间的约束关系

选择题

D

设计题

标明输入与输出:

输入:

1、落点在棋盘上;

2、落点与起点构成日字;

3、落点处为自己方棋子;

4、落点方向的邻近交叉点无棋子;

5、落点处无棋子;

6、落点处为对方棋子(非老将);

7、落点处为对方老将。

输出:

21、不移动棋子;

22、移动棋子;

23、移动棋子,并除去对方棋子;

24、移动棋子,并提示战胜对方,结束游戏。

添加中间节点11,目的是作为导出结果的进一步原因,

画出因果图:

生成判定表:

表1:

注:1、第2表中部分列被合并表示不可能发生的现象;设计测试用例:

2.判定表法

2.1.前言

判定表是分析和表达多种输入条件下系统执行不同动作的工具。在程序设计发展的初期,判定表就已被当做编写程序的辅助工具,可以把复杂的逻辑关系和多种条件组合的情况表达得既具体又明确。

2.2.定义

判定表的优点能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用判定表能够设计出完整的测试用例集合。

在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。判定表很适合于处理这类问题。

判定表的组成:

A、条件桩(Condition Stub):列出了问题的所有条件。通常认为列出的条件的次序无关紧要。

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

C、条件项(Condition Entry):列出针对它左列条件的取值。在所有可能情况下的真假值。

D、动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作。

动作项和条件项一起,指出了在条件项的各种取值情况下应该采取的动作。在判定表中贯穿条件项和动作项的一列就是一条规则,可以针对每个合法输入组合的规则设计用例进行测试。

判定表设计如下:

2.3.方法应用

应用判定表的步骤如下:

第一步:分析测试子项的测试规格,找出其中的输入和输出并标识出来;

第二步:确定规则的个数,构造判定表。将标识的输入填入条件桩部分,将标识的输出填入动作桩部分。条件项部分的列数为2的n次方列,n为输入条件数。假如

有n个条件,每个条件有两个取值(0,1),故有2的n次方种规则;

第三步:逐列分析条件组合,填入其动作项。根据输入和输出的逻辑关系,得到该列的

输出值为“1”或“0”,填入该动作项,得到一条规则,如果该列条件项取值组合

不合法,则动作项填入“X”;

第四步:简化判定表。合并相似规则或者相同动作,减少测试用例,以牺牲测试用例充分性为代价。

简化过程及原则:找到判定表中输出完全相同的两列,观察它们的输入是否相似。

例如:只有一个输入不同时,说明不管该输入取何值,输出都是一样的,也就是

说该输入对输出是无影响的,可以将这两列合并为一列。

第五步:生成测试用例。简化后的判定表的每一列可以规划为一个测试用例。

2.4.注意点

使用判定表设计测试用例的条件:

1)规格说明以判定表的形式给出,或很容易转换成判定表

2)条件的排列顺序不影响执行哪些操作

3)规则的排列顺序不影响执行哪些操作

4)如果某一规则要执行多个操作,这些操作的执行顺序无关紧要

2.5.实例讲解

2.5.1.需求规格说明

“若用户欠费或停机,则不允许主被叫”,表示为判定表。

2.5.2.列出条件桩、条件项与动作桩、动作项

2.5.

3.简化判定表

表2.5.2中,规则1与规则2的动作完全相同,条件桩中只有条件2的取值不同,因此可将

2.5.4.生成测试用例

2.6.判定表分析小结测试题

(一)填空题

1.判定表的有哪几个主要组成部分:

○1

○2

2.假如有4个输入条件,规则数共有多少?⑥

(二)设计题

以计算出差补助为例,使用判定表设计测试用例。

当员工办理长期出差时,不论是否出差,出差到哪里,每月固定补助1000元。

当员工未办理长期出差时,如果出差省会城市,则每月补助1500元,否则补助800元。

答案

填空题

○1条件桩

○2条件项

○3动作桩

○4动作项

○524=16

设计题

根据条件“当员工办理长期出差时,不论是否出差,出差到哪里,每月固定补助1000元”以及判定表的合并原则,相同动作项,且条件项相似情况下,合并规则2、5以及规则7、8。得到的用例缩减为6条用例。

因果图法

测试用例设计—因果图法 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。

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

测试用例设计方法之因果图法 (一)因果图法的来源 大家熟悉的等价类划分法和边界值分析法,都是着重考虑输入条件,但未考虑输入条件之间的联系、相互组合等; 但是,如考虑所输入条件之间的相互组合,会由于组合情况数目相当大,需要大量的测试用例; 因果图法,是一种帮助人们系统地选择一组高效率测试用例的方法。(二)因果图法的特点 考虑输入条件间的组合关系; 考虑输出条件对输入条件的信赖关系,即因果关系; 测试用例发现错误的效率高; 能检查出功能说明中的某些不一致或遗漏; 因果图方法最终生产的就是判定表,它适合于检查程序输入条件和各种组合情况。 (三)因果图法基本步骤 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、如果不属于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、因果图适用场合 在一个界面里有多个控件,如果控件之间有组合或者限制关系,不同控件组合会产生不同的输出结果,为了弄清楚不同的输入组合会产生怎样的输出结果,就可以使用因果图(适合测试组合量少的一般情况少于20种,如果超过20种组合,一般就考虑正交排列法) 2、因果图核心概念: 因(原因):指的是输入条件 果(结果):指的是输出结果 因果图法:通过画图的方式表达输入条件和输出条件之间的关系3、图形符号 1)基本的图形符号 说明:输入和输出之间的关系用基本图形符号表示 A=1那么B=1,如果A=0那么B=0,恒等就是

B、与:若几个输入条件都满足,结果才出现 C、或 复习:全0位0,有1出1。 理解:输入条件中有一个条件满足结果就出现,只有所有输入条件都不满足,结果不出现 D非(用的少,了解) 例如A=1,那么B=0 2)限制(约束)图形符号。

说明:要么限制的是同为输出条件,要么限制的都是输出条件,互斥(E-exclude) 说明:如果选只能选1个,但可以不选 2)唯一(o-only) 说明:必须要选,只能选一个 唯一和互斥的区别:相似之处,必须选一个,不同之处互斥可以不用选, 3)包含(I—include)

说明:至少有一个被选中(支持多选) 4)要求(R-required) 说明:如果A=1,那么要求B=1,反之如果A=0,B就无所谓了(结合自动登录的案例) 5)屏蔽(M-masked) 说明:当A=1时,b必须是0,反之A=0时,b的值就不一定 二、因果图的操作步骤 1、找出所有的输入条件(因) 投币50元 投币100元

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

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

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

因果图分析法: 前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑 输入条件之间的联系, 相互组合等。考虑输入条件之间的相互组合,可能会产生一些新的情况。但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。这就需要利用因果图(逻辑模型)。 因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。 因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输入状态(或 称原因),右结点表示输出状态(或称结果)。 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 )与

黑盒测试用例练习题

黑盒测试用例设计练习题 1、准考证号码 对招干考试系统“输入学生成绩”子模块设计测试用例。招干考试分三个专业,准考证号第一位为专业代号,如: 1-行政专业, 2-法律专业, 3-财经专业。 行政专业准考证号码为:110001~111215 法律专业准考证号码为:210001~212006 财经专业准考证号码为:310001~314015 请划分准考证号码的等价类。 2、电话号码 城市的电话号码由两部分组成。这两部分的名称和内容分别是: 1)地区码:以0开头的三位或者四位数字(包括0); 2)电话号码:以非0、非1开头的七位或者八位数字。 假定被调试的程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号码,请使用等价分类法来设计它的测试用例。

某保险公司的人寿保险的保费计算方式为:投保额×保险费率 其中,保险费率依点数不同而有别,10点及10点以上保险费率为0.6%,10点以下保险费率为0.1%;而点数又是由投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则如表1所示。 分析程序规格说明中给出和隐含的对输入条件的要求,列出等价类表(包括有效等价类和无效等价类)。 1)年龄:一位或两位非零整数,值的有效范围为1~99。 2)性别:一位英文字符,只能取值‘M’或‘F’。 3)婚姻:字符,只能取值‘已婚’或‘未婚’。 4)抚养人数:空白或一位非零整数(1~9) 5)点数:一位或两位非零整数,值的范围为1~99 根据表1中的等价类表,设计能覆盖所有等价类的测试用例。

4、输入:用户密码 要求: 1)用户密码为6到8位。 2)必须含有字母和数的组合。 输出:如正确,输出正确的信息。否则,输出相应的错误信息。 请结合等价类划分法和边界值分析法设计出相应的测试用例。 5、给出某一天(年,月,日),计算出它的下一天,取值范围为: 年:1000<= year <=3000 月:1<=month <=12 日:1<= day <=31 如1999年3月4日的下一天是:1999年3月5日 要求: 输入:三个参数(年,月,日) 输出:如能正确计算,计算出它的下一天, 否则,输出相应的错误信息。 1)使用C语言编写程序实现 2)请结合等价类划分法和边界值分析法设计出相应的测试用例,并依照测试用例对所编写的程序进行测试。 (1)代码如下: #include void main()

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

命题 有一个处理单价为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元钱,而且又选中了某一种商品的时候,系统是需要找零钱的。而现有条件和结果中并没有涉及到“应该找零钱”这种情况,因此我们还需要增加一个中间节点“应该找零钱”。

因果图法测试用例

例题:程序规定:输入三个整数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.因果图法 1.1.前言 从用自然语言书写的程序规格说明的描述中找出因(输入条件)和果(输出或程序状态的改变),可以通过因果图转换为判定表。 因果图法即因果分析图,又叫特性要因图、石川图或鱼翅图,它是由日本东京大学教授石川馨提出的一种通过带箭头的线,将质量问题与原因之间的关系表示出来,是分析影响产品质量的诸因素之间关系的一种工具。 1.2.定义 因果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件涉及的各种组合情况。因果图法一般和判定表结合使用,通过映射同时发生相互影响的多个输入来确定判定条件。因果图法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。采用因果图法能帮助我们按照一定的步骤选择一组高效的测试用例,同时,还能指出程序规范中存在什么问题,鉴别和制作因果图。 因果图法着重分析输入条件的各种组合,每种组合条件就是“因”,它必然有一个输出的结果,这就是“果”。 1.3.因果关系 因果图的表示中输入与输出间的因果关系有四种: 1)恒等关系:当输入条件发生,会产生对应输出,当输入条件不发生时,不会产生都会应输出。 2)非关系:与恒等关系相反。 3)或关系:多个输入条件中,只要有一个发生,则会产生对应输出。

4)与关系:多个输入条件中,只有所有输入项发生时,才会产生对应输出。 特定的符号标明因果关系如下(图1.3.1): 图1.3.1 因果图的表示中输入与输入间的约束关系有四种: 1)异(E):所有输入中至多一个输入条件发生。 2)或(I):所有输入中至少一个输入条件发生。 3)唯一(O):所有输入中有且只有一个输入条件发生。 4)要求(R):所有输入中只有一个输入条件发生,则其它输入也会发生。 特定的符号标明输入与输入间约束关系如下(图1.3.2): 图1.3.2 因果图的表示中输出条件约束类型(见图1.3.2): 1)输出条件的约束只有M约束(强制):若结果a是1,则结果b强制为0。1.4.方法应用 利用因果图导出测试用例一般要经过以下几个步骤: 1)画出因果图。 2)因果图上用一些记号表明约束条件或限制条件。 3)对需求加以分析并把它们表示为因果图之间的关系图。

因果图设计测试用例

测试用例设计方法的介绍—因果图 前言为什么需要测试用例 ......................................................... 错误!未指定书签。 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...................................................................................................... 错误!未指定书签。

因果图测试规范

因果图设计测试规范

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

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表示某状态出现。因果图的基本关系,如下图:

因果图法实例

1.某软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列字符必须是一 个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。 解答: 1)根据题意,原因和结果如下: 原因: 1——第一列字符是A; 2——第一列字符是B; 3——第二列字符是一数字。 结果: 21——修改文件; 22 ——给出信息L; 23——给出信息M。 2)其对应的因果图如下: 11为中间节点;考虑到原因1和原因2不可能同时为1,因此在因果图上施加E 约束。 3)根据因果图建立判定表。

表中8种情况的左面两列情况中,原因①和原因②同时为1,这是不可能出现的,故应排除这两种情况。表的最下一栏给出了6种情况的测试用例,这是我们所需要的数据。 2.有一个处理单价为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)转换成判定表:

实验3、黑盒测试:决策表测试方法

20 15 —20 16 学年第 2 学期 软件测试技术课程 实验报告 学院:计算机科学技术 专业:软件工程 班级:软件二班 姓名:吴德宁 学号:041340217 任课教师:刘玉宝

实验日期:2016年 5 月17 日实验题目实验3、黑盒测试:决策表测试方法 实验目的 1、掌握决策表的概念 2、掌握决策表测试用例设计法。 实验内容 1、对NextDate问题运用决策表法设计测试用例,并执行测试,撰写实验报告。 NextDate (int month, int day, int year)函数规定:输入三个整数:month、day 和year,函数的输出为输入日期后一天的日期。例如,输入为2006年3月7日,则函数的输出为2006年3月8日,year满足1920≤year≤2050。 实验步骤: 1)构造决策表 ●M1={月份:30天/月}, M2={月份: 31天/月,12月除外}, M3={月份: 12月},M4={月份: 2月} ●D1={日期:1<=日<=27}, D2={日期:日=28}, D3={日期:日=29} , D4={日期:日=30}, D5={日期:日=31} ●Y1={年:闰年},Y2={年:平年} 注:二月:平年28天,闰年29天 条件桩: ●C1:月份在{M1,M2,M3,M4}中之一 ●C2:日期在{D1,D2,D3,D4 ,D5}中之一 ●C3:年在{Y1,Y2}中之一 动作桩: ●A1:不可能 ●A2:日期增1 ●A3:日期复位(置1) ●A4:月份增1 ●A5:月份复位(置1) ●A6:年增1 1 2 3 4 5 6 7 8 9 10 C1:月M M M M M1 M M2 M M2 M2

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

测试用例设计之因果图方法 一.方法简介 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)约束 输入状态相互之间还可能存在某些依赖关系,称为约束。例如, 某些输入条件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定的符号标明这些约束。

测试用例设计方法2——因果图判定表

测试用例设计方法2——因果图判定表 判定表法 判定表是分析和表达多种输入情况下执行不同动作的工具,判定表方法主要用于处理程序输入条件的不同组合,但是要求条件的组合必须是bool类型,而且条件和预期的结果都是可以分析出来的。判定表能够有效地弥补等价类和边界值方法的不足,使得输入条件之间的组合和相互影响得到充分的测试。 使用判定表的一般思路是: 1、需求分析,分析出条件和结果之间的各种组合 2、将条件和结果分别填入判定表 3、讲条件和结果进行二进制排列 4、针对每一项组合,分析出结果,并去除无效项,是判定表得到简化。在合并判定表时,如果条件之中只有一个不同,则可以合并。如果判定表的组合不够多,建议不要进行合并,这样可以测试的充分一些。 5、每一列生成一个测试用例 以阅读指南的例子来设计一个判定表:从例子中可以看到,不同的条件组合 使用判定表方法可以充分弥补等价类边界值得不足,但是当输入条件过多时,使用判定表会产生大量测试用例。而其无效用例不易发现,更不能覆盖条件之间的先后关系。因此,在一定情况下,使用判定表还需要因果图的帮忙。 -------------------------------------------------------------------------------- 因果图

因果图用于描述系统之间的输入输出,输入输出之间的约束关系和因果关系。因果图与判定表往往结合使用,使用因果图可以得到判定表。 使用因果图的方法: 1、分析输入输出并进行标识 2、分析输入和输入、输入和输出之间的关系 3、将得到的关系使用因果图的方法表示出来 4、根据因果图得到判定表 5、依据判定表生成测试用例 这里分析一个自动售货机的因果图分析方法: 条件:有一个处理单价为5角的自动售货机,当投入5角或1元硬币时,选择橙汁或啤酒,饮料出来;若自动售货机没有零钱,则显示零钱照完,亮红灯,这时候投入的1元被退出来,饮料不送出来。如果有零钱,则出饮料并找5角钱。 分析: 1、选择橙汁和啤酒是同一类型,可以进行归类 2、选择5角和1元看似是同一类,但是他们所触发的操作是不同的,不能归类 3、橙汁和啤酒、5角和1元是相异的关系 4、分析不同的组合并得到最终结果 总结:因果图的使用和分析比较复杂,使用因果图可能会消耗很多的时间,因此正确的策略是先考虑其他的测试用例设计方法,最后再使用因果如,可以尽量的减少工作的时间并提高效率。

判定表因果图

修改Notes账户密码,首先输入原密码,原密码输入正确后输入两次新密码,要求两次输入的新密码一致,且新密码达到复杂度要求(8~15位,包含大、小字母、数字、字符),密码修改成功后提示用户修改成功,否则提示用户操作失败。 原密码 1 1 1 0 0 新密码 1 - 0 1 0 确认密码 1 0 1 - - 修改成功Y 修改失败N N N N 原密码:正确1、不正确0 新密码:符合1、不符合0 确认密码:一致1、不一致0 不符合复杂度:<8、>15 、不包含大写、不包含小写、不包含数字、不包含字符 用例1:原密码正确、新密码Ab123!@# 确认密码Ab123!@# 用例2 原密码正确、新密码Ab123!@# 确认密码Ab123 用例3-1 原密码正确、新密码Ab1!@# 确认密码Ab1!@# 用例3-2 原密码正确、新密码Ab123456789012!@# 确认密码Ab123456789012!@# 用例3-3 原密码正确、新密码ab123!@# 确认密码ab123!@# 。。。。。3-6 用例4 用例5 函数NextDate能够根据当前输入的日期计算出下一天日期。比如今天是2008年5月3日,程序计算出的结果就是2008年5月4日。利用判定表设计测试用例对该程序进行验证。(假设已有其它函数保证输入的Y、M、D值是有效正整数,1<=M<=12,1<=D<=31,这里重点关注Y、M、D是否会有逻辑错误) 条件桩:年Y:平年Y1、闰年Y2 月M :大月(除12月)M1、小月M2、2月M3、12月M4 日D :28D2、29D3、30D4、31D5、1-27D1 动作桩:Y+1、M+1、D+1、无效 2*4*5=M1*(D1- 4+D5)+M2*(D1-3+D4+D5)+M3*A1(D1+D2+D3-5)+M3*A2*(D1-2+D3+D4-5)+M4*(D1-4+D5)=13 M3*2*5=M3*A1(D1+D2+D3-5)+M3*A2*(D1-2+D3+D4-5)=6 Y Y1 Y1 Y1 Y2 Y2 Y2 M M1,M1 M2 M2 M2 M3 M3 M3 M3 M3 M3 M4 M4

相关文档
相关文档 最新文档