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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

测试用例设计方法

之因果图法与判定表

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,目的是作为导出结果的进一步原因,

画出因果图:

相关文档
最新文档