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

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

实验三黑盒测试(二)

一、实验目的

通过本实验,掌握因果图法生成测试用例的步骤。

二、相关内容

利用因果图生成测试用例的基本步骤如下:

(1)分析软件规格说明中哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。

(2)分析软件规格说明中的语义,找出原因与结果之间、原因与原因之间对应的关系,根据这些关系画出因果图。

(3)由于语法或环境的限制,有些原因与原因之间、原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。

(4)把因果图转换为决策表。

(5)根据决策表中的每一列设计测试用例。

三、实验内容

有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元

硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。

编写程序实现之,然后用因果图法对自动售货机设计测试用例并测试之。

要求:

1、编写程序,实现上述自动售货过程。(任选一种自己熟悉的语言,有无界面均可,实现相应的功能即可。)

2、用因果图法设计测试用例。

(1)正确画出因果图。(2)画出决策表。(3)给出测试用例。

提示:可按如下步骤进行:

1)分析这一段说明,列出原因和结果。

2)画出因果图。(所有原因结点列在左边,所有结果点列在右边。可以考虑建立中间结点,表示处理的中间状态。比如,可设如下几种中间状态:该找5角,可找5角,按下按钮、钱已付清)

3)画出决策表。

4)给出测试用例。

四、实验报告

实验报告提交内容:源程序清单、因果图、决策表。(测

试用例有时间就设计,没有时间可以不设计)

一,因果图;

因果图-画条件

和结果

有零钱

选橙汁

选啤酒

投5角

投1元

红灯亮

出橙汁

出啤酒

找5角

找1元

出橙汁

出啤酒

找5角

找1元

E E

因果图-应该找零钱

有零钱

选橙汁

选啤酒投5角

投1元

红灯亮

出橙汁

出啤酒

找5角

找1元

E

E 选商品

钱付清

V

V

V

应该找零钱

V

出橙汁

出啤酒

找5角

找1元

E

E

有零钱

选橙汁

选啤酒投5角

投1元

红灯亮

出橙汁

出啤酒

找5角

找1元

E

E 选商品

钱付清

V

V

V

应该找零钱V

能够找零钱

V

因果图-5角钱付清

红灯亮

出橙汁

出啤酒

找5角

找1元

E

E

因果图-退还1元

有零钱

选橙汁

选啤酒投5角

投1元

红灯亮

出橙汁

出啤酒

找5角

找1元

E

E 选商品

钱付清

V

V

V

V

应该找零钱V

能够找零钱

V

V

判定表

去除无效用例

合并判定表

二,源程序:

#include

#include

main()

{ float a;

int b;

float LingQian=50;

system("graftabl 936");

clrscr();

B:

if(LingQian==0)

{

printf("\n零钱找完!红灯亮!\n");

}

printf("\n请投币:\n");

scanf("%f",&a);

if(LingQian==0&&a==1)

{printf("返回1元") ;

goto B;

};

if(a==0.5||a==1)

{

printf("请选择饮料:\n 1为可乐! 2为啤酒!\n");

scanf("%d",&b);

if(a==1&&b==1)

{

printf("\n可乐 \n 找零:0.5元\n"); LingQian=LingQian-0.5;

}

else if(a==1&&b==2)

{

printf("\n啤酒 \n 找零: 0.5元\n"); LingQian=LingQian-0.5;

}

else if(a==0.5&&b==1)

{

printf("\n可乐\n");

LingQian=LingQian+0.5;

}

else if(a==0.5&&b==2)

{

printf("\n啤酒 \n");

LingQian=LingQian+0.5;

}

}

else

{goto B;} goto B;

}

因果图自动售货机可乐源代码

因果图自动售货机可乐源代码 很多人都知道,是电子商务的一种兴起。但这仅仅是冰山一角。这并不意味着你就可以完全实现无人驾驶自动售货机。下面我们来看下什么叫无人驾驶自动售货机?根据《自动售货机通用技术条件》的规定:只要是以计算机为基础,能够运行逻辑程序电路(数学程序电路)为计算对象的自动售货机都可以叫做自动售货机。但如果仅以计算机作为计算对象,则只能被认为是普通的自动售货机;如果仅以计算机作为计算对象,则只能称为自动售货机;而如果仅以计算机作为计算对象的自动售货机则被称为智能机或人机交互自动售货机)。因此我们可以说,智能无人售货机主要是对传统销售模式进行了改进和提升、而且实现了功能进一步拓展。例如:消费者购买某款产品后可以通过自助服务终端打印购买凭条;消费者在某一段时间内可以在自助服务终端领取其他商品或支付现金等。如果将这些功能与人工智能技术相结合就形成了智能无人售货机(或者说称因果图自动售货机),那么这种自动售货机不仅可以大大减少人力成本和其他运营成本也同样让市场对其非常感兴趣。 1、在无人售货行业中,无人售货机最大的应用市场是无人便利店。 其原因是由于其独特的零售环境,方便快捷的销售,且无人值守,受到越来越多消费者的青睐。因此,无人售货机行业也迎来了新一轮增长。随着无人售货机在无人便利店中的占比不断提高,并且在2018年超过了80%。无人便利店与传统零售企业和零售商的融合在一起成为新潮流。自动售票机已逐渐被应用到各种类型的自动售货机上!例如:现在越来越多的无人便利店开始投放在一些商业中心等场所。无人便利店解决了消费者需要24小时经营的问题。并且无人便利店与手机 app、小程序、微信支付等技术集成都有很好的融合,因此它非常受欢迎。无人便利店已经非常成熟,越来越多,地出现在城市附近。便利店作为零售业重要一环,已经成为重要的市场之一,因此未来几年,无人便利店将继续增加发展。并将会有更多地运用到其他领域中。例如:如通过自动售货机向消费者销售咖啡、饮料、酒类等商品,以及由无人售货机提供的便捷服务等。目前无人便利店在国内已经越来越普及,并且也有越来越多的地方采用这个方法来解决消费者消费便捷问题。但是由于缺乏相应的资金支持和法律等方面原因,许多经营者没有很好地进行管理。因此很多企业希望得到无人零售的支持来解决这一问题。由于无人便利店的存在和使用,目前市场上没有足够的销售网点而无法正常营业和发展下去,但随着市场需求的增加以及消费习惯改变,可以说无人便利店会成为未来销售主要手段之一。因此就无人便利店而言这一块巨大市场非常具有吸引力。无人便利店不仅是技术问题,也是盈利问题,如果企业想要无人售货机在市场中有更好的发展,那么它肯定会不断升级更好,而我们有一些优势,无人售货机企业就不需要太多精力去考虑它本身是否适合自己。因为这就影响了企业的收益。虽然目前自动售货机行业发展迅猛,但目前还有很多不足。无人售货机市场仍然存在不规范状态 2、其次是自助终端,再次是无人货架。, 自动售货设备的最大特点是人机交互,具有高科技含量,智能化程度高。因此,它也可以被称为物联网。这将极大地提高生产力和经营效率,并提高企业运营业绩。目前,国内自动售货机市场上现有各类设备类型很多,有各种规格型号。其中,最受欢迎的是基于人工智能无人技术开发的智能无人售货机(或者说称因果图自动售货机)。由于国内智能支付方式已经在不同行业得到应用,因此很多厂家也正在开发新产品采用无人技术进行销售。其中有许多领域的技术难题:传统售货机销售行业中最普遍、也最有挑战的就是成本问题上。对于一个零售企业来说成本是非常重要的问题。这不能以消费者为中心并且没有完全解决。传统的市场上存在着大量的竞争产品。因为这些竞争产品在市场上具有较高知名度然后被使用或出售,因此必须遵守有关规则。这将导致严重后果。然而,如果只对部分商品进行销售,则很难实现预期目标。因此,这种新模式不仅存在于普通自动售货机行业中,而且也会出现在许多传统购物中心中等市场上。许多消费者在他们需要购买时,他们只需要通过网络或自助服务终端即可购买产品。他们将在整个过程中与自动

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

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

实验三黑盒测试(二) 一、实验目的 通过本实验,掌握因果图法生成测试用例的步骤。 二、相关内容 利用因果图生成测试用例的基本步骤如下: (1)分析软件规格说明中哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。 (2)分析软件规格说明中的语义,找出原因与结果之间、原因与原因之间对应的关系,根据这些关系画出因果图。 (3)由于语法或环境的限制,有些原因与原因之间、原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。 (4)把因果图转换为决策表。 (5)根据决策表中的每一列设计测试用例。 三、实验内容 有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元

硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。 编写程序实现之,然后用因果图法对自动售货机设计测试用例并测试之。 要求: 1、编写程序,实现上述自动售货过程。(任选一种自己熟悉的语言,有无界面均可,实现相应的功能即可。) 2、用因果图法设计测试用例。 (1)正确画出因果图。(2)画出决策表。(3)给出测试用例。 提示:可按如下步骤进行: 1)分析这一段说明,列出原因和结果。 2)画出因果图。(所有原因结点列在左边,所有结果点列在右边。可以考虑建立中间结点,表示处理的中间状态。比如,可设如下几种中间状态:该找5角,可找5角,按下按钮、钱已付清) 3)画出决策表。 4)给出测试用例。 四、实验报告 实验报告提交内容:源程序清单、因果图、决策表。(测

因果图法实例

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)转换成判定表:

因果图实例讲解

1.引言 等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系、相互组合等。考虑输入条件之间的相互组合,可能会产生一些新的情况。但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。这就需要利用因果图(逻辑模型)。 因果图(Cause-EffectGraphing)提供了一个把规格转化为判定表的系统化方法,从该图中可以产生测试数据。其中原因是表示输入条件,结果是对输入执行的一系列计算后得到的输出。 因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。 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因果图约束 A.输入条件的约束有以下4类: ①E约束(异):a和b中至多有一个可能为1,即a和b不能同时为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)在售货机没有零钱找的情况下,押下啤酒按钮,售货机“零钱找完”灯亮。

2021年黑盒测试实验报告[共25页]

《软件测试技术》实验报告 实验序号:04实验项目名称:黑盒测试 一、实验目的及要求 掌握用等价类、边界值分析法、因果图的方法设计测试用例 二、实验设备(环境)及要求 实验在计算机系的机房进行,安装了VC6.0,Java SDK,TurboC等软件,学生能采用C语言,C++,或Java语言进行编程。 三、实验内容与步骤 任务一:佣金问题 问题描述如下: 一酒水销售公司指派销售员销售各种酒水。白酒卖168元瓶,红酒卖120元瓶,啤酒卖5元瓶。白酒每月的供应量为5000瓶,红酒为3000瓶,啤酒为30000瓶,各个销售员每月至少要售出白酒50瓶,红酒30瓶,啤酒300瓶。月末,每个销售员上报他所在区域的销售业绩。这样酒水销售公司就知道了当月的销售情况,并根据销售额计算佣金提成如下: 2万以下(含):4%; 2万(不含)~4.5万(含):1% 4.5万以上(不含):0.5% 这样,佣金程序生成月份销售报告,汇总售出的白酒、红酒和啤酒总数,销售公司的总销售额和各个销售员的佣金。 这个问题分为三个不同的部分: 输入数据部分,用来处理输入数据的有效性; 销售额计算部分; 佣金(提成)计算部分. 1、充分考虑输入有效性校验,编写佣金问题的代码; 2、按照等价类划分的思想,设计等价类测试用例;

1)佣金问题中,首先分析输入和输出,注意分析佣金问题中给出和隐含的对输入条件的要求: 2)针对输入进行等价类划分,形成等价类列表,并为每一个等价类编号; 3)从等价类划分的表格中设计测试用例:为有效等价类设计测试用例,为每一个无效等价类至少设计一个测试用例 3、执行测试,记录发现的问题。 任务二:下一天问题 1、对于NextDate问题,分析它的输入限制; 2、从输入限制的边界设计测试用例; 3、执行测试,记录结果。 任务三:自动售货机问题 有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下[橙汁]或[啤酒]的按钮,则相应的饮料酒送出来。若售货机没有零钱找,则一个显示[零钱找完]的红灯亮,这时再投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示[零钱找完]的红灯灭,在送出饮料的同时退还5角硬币。 1、分析这一段说明,列出原因和结果 2、画出因果图。所有原因结点列在左边,所有结果结点列在右边。建立中间结点,表示处理的中间状态。中间结点: 1)投入1元硬币且押下饮料按钮 2) 押下〖橙汁〗或〖啤酒〗的按钮 3) 应当找5角零钱并且售货机有零钱找 4)钱已付清 3、转换成判定表 4、在判定表中,把不可能出现的情况删去。 5、最后根据判定表中剩下的列作为确定测试用例的依据,设计测试用例。

因果图分析法实例讲解

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

④与:若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.输出条件约束类型 输出条件的约束只有M 约束(强制):若结果a 是1,则结果b 强制为0。 一、 分析中国象棋中走马的实际情况(下面未注明的均指的是对马的说明) 1、如果落点在棋盘外,则不移动棋子; 2、如果落点与起点不构成日字型,则不移动棋子; 3、如果落点处有自己方棋子,则不移动棋子; 4、如果在落点方向的邻近交叉点有棋子(绊 E I O R M 要求 强制

因果图法

测试用例设计—因果图法 1.引言 等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系、相互组合等。考虑输入条件之间的相互组合,可能会产生一些新的情况。但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。这就需要利用因果图(逻辑模型)。 因果图(Cause-EffectGraphing)提供了一个把规格转化为判定表的系统化方法,从该图中可以产生测试数据。其中原因是表示输入条件,结果是对输入执行的一系列计算后得到的输出。 因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。 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因果图约束 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.输出条件约束类型 输出条件的约束只有M约束(强制):若结果a是1,则结果b强制为0。 2.3因果图法设计测试用例步骤 1、分析待测得系统规格,找出原因与结果 分析软件规格说明描述中,那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件), 并给每个原因和结果赋予一个标识符。 2、画出因果图 分析软件规格说明描述中的语义。找出原因与结果之间,原因与原因之间对应的关系。根据这些关系,画出因果图。 3、标记约束或限制条件 由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况下不可能出现。为表明这些特殊情况,在因果图上用一些记号表明约束或

软件测试基础 因果图法

因果图法 1.引言 等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系、相互组合等。考虑输入条件之间的相互组合,可能会产生一些新的情况。但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。这就需要利用因果图(逻辑模型)。 因果图(Cause-EffectGraphing)提供了一个把规格转化为判定表的系统化方法,从该图中可以产生测试数据。其中原因是表示输入条件,结果是对输入执行的一系列计算后得到的输出。 因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。 2.因果图介绍 2.1图例说明 1、4种符号分别表示了规格说明中向4种因果关系。 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、约束 输入状态相互之间还可能存在某些依赖关系,称为约束。例如,某些输入条件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定的符号标明这些约束。 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.输出条件约束类型 输出条件的约束只有M约束(强制):若结果a是1,则结果b强制为0。 3、因果图法设计测试用例步骤 1、分析待测得系统规格,找出原因与结果 分析软件规格说明描述中,那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件), 并给每个原因和结果赋予一个标识符。2、画出因果图 分析软件规格说明描述中的语义。找出原因与结果之间,原因与原因之间对应的关系。根据这些关系,画出因果图。 3、标记约束或限制条件 由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况下不可能出现。为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。 4、把因果图转换为判定表。 5、用判定表中的每一项生成测试用例。

实验二黑盒测试报告范文

实验二黑盒测试报告范文 刘童童 一、实验目的 1、掌握黑盒测试的基本方法; 2、掌握黑盒测试用例的编写。 二、实验要求 1、根据给出的程序分别使用等价类划分法、边界值分析法、判定表方法、因果图法、正交试验法、功能图法、错误推测法来设计相应的测试用例。 2、输入数据进行测试,填写测试用例。 三、实验内容 2、因果法测试用例设计练习——自动售货机软件测试用例设计 问题有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,按下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并按下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。分析说明,列出原因和结果: 原因:结果: 画出因果图: 因果图-画条件和结果 有零钱投1元投5角选啤酒选橙汁

有零钱投1元E投5角选商品钱付清选啤酒VVE选橙汁V因果图-应该找零钱 红灯亮找1元找5角出啤酒出橙汁红灯亮找1元找5角出啤酒出橙汁有零钱投1元E应该找V零钱投5角选商品钱付清V选啤酒VE选橙汁V有零钱投1元E应该找能够找V零钱V零钱投5角选商品钱付清V选啤酒VE选橙汁V红灯亮找1元找5角出啤酒出橙汁红灯亮找1元找5角出啤酒出橙汁 有零钱投1元E应该找VV能够找零钱零钱投5角选商品钱付清V选啤酒VE选橙汁V5角钱付清 有零钱投1元E应该找VV能够找零钱零钱投5角V选商品钱付清V 选啤酒VE选橙汁V红灯亮找1元找5角出啤酒出橙汁红灯亮找1元找5角出啤酒出橙汁 因果图-

自动售货机测试用例

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

2 4."送出橙汁饮料 2 5."送出啤酒饮料 2.画出因果图 如图所示。所有原因结点列在左边,所有结果结点列在右边。建立中间结点,表示处理的中间状态。中间结点: 1 1."投入1元硬币且押下饮料按钮 1 2."押下〖橙汁〗或〖啤酒〗的按钮 1 3."应当找5角零钱并且售货机有零钱找 1 4."钱已付清 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)在售货机没有零钱找的情况下,押下啤酒按钮,售货机“零钱找完”灯亮。

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

第三部分任务3-3附2因果图法

附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)使用因果图法列出原因和结果

相关主题
相关文档
最新文档