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

合集下载

自动售货机测试用例

自动售货机测试用例

题目:有一个处理单价为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元硬币。

因果图判定表综合示例1-自动售货机

因果图判定表综合示例1-自动售货机

一、测试项要求如下:有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。

其规格说明如下:若投入5角钱或1元钱灯是亮的,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红二、分析以上要求,得出原因和结果:原因:1、售货机有零钱找2、投入1元钱3、投入5角钱4、选择橙汁5、选择啤酒结果:21、售货机“零钱找完”灯亮22、退还1元钱23、找回5角钱24、送出橙汁饮料25、送出啤酒饮料三、因果图如下:思路:逐个分析条件,看它与其它哪些条件之间有制约关系,都会影响哪些结果,把这种制约影响关系画出四个角度着手画因果图。

又由于条件1为真和为假时导致的结果不同,所以为真和为假两种情况下的因果图都要画出来,否因果图中出现的中间节点为:11、需要找回5角钱12、选择了橙汁或啤酒13、售货机能够找出5角钱14、钱已结清,可以送出饮料四、根据因果图画出判定表1、条件2、3不能同时为1123456789101有零钱找1111111111四、根据状态图完成判定表12=or(4,5)11=and(2,12)13=and(1,11)14=or(3,13)21=not(1)22=and(11,not(1))23=1324=and(4,14)五、将这16条规则分别转化测试用例其它用例略1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。

当售货机没有零钱找,则一个显示〖零零钱找,则显示〖零钱找完〗的红灯不会亮,在送出饮料的同时退还5角硬币。

系画出来,直到所有条件都被分析、所有结果都被覆盖。

本例中,条件1、2、4;1、2、5;3,4;3,5之间存在情况下的因果图都要画出来,否则覆盖不到所有结果。

1234567892012345678111111000000000000示〖零钱找完〗的红间存在制约关系,从这。

因果图实验自动售货机标准版资料

因果图实验自动售货机标准版资料

三、转换成判定(pàndìng)表
第九页,共9页。
因果(yīnguǒ)图实验自动售货机
第一页,共9页。
知识点回顾(huígù)
利用因果图生成测试用例的步骤 (1) 分析软件规格说明描述中,那些是原因(即输入条件
或输入条件的等价类),那些是结果(即输出条件), 并给 每个原因和结果赋予(fùyǔ)一个标识符。 (2) 分析软件规格说明描述中的语义。找出原因与结果 之间,原因与原因之间对应的关系。根据这些关系,画 出因果图。 (3) 由于语法或环境限制,有些原因与原因之间,原因与 结果之间的组合情况不不可能出现。 为表明这些特殊 情况,在因果图上用一些记号表明约束或限制条件。 (4) 把因果图转换为判定表。
21.售货机〖零钱找完〗灯亮 退还5角硬币
建立中间结点,表示(biǎoshì)处理的中间状态。 (3) 由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不不可能出现。
22.退还1元硬币 押下〖橙汁〗或〖啤酒〗的按钮
送出啤酒饮料(yǐnliào) 建立中间结点,表示(biǎoshì)处理的中间状态。
钱找完〗的红灯灭,在送出饮料的同时退
第四页,共9页。
步骤(bùzhòu):
一、分析这一段说明,列出原因(yuányīn)和 结果
原因(yuányīn): 1.售货机有零钱找 2.投入1元硬币 3.投入5角硬币 4.按下橙汁按钮 5.按下啤酒按钮
第五页,共9页。
结果: 售货机〖零钱找完〗灯亮
步骤(bùzhòu):
23.退还5角硬币 通过本次实验教学,使学生(xué sheng)分析问题,画出因果图,得出判定表,从而用因果图法设计。
因果(yīnguǒ)图实验自动售货机 有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计(shèjì)。 (1) 分析软件规格说明描述中,那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件), 并给每个原因和结果赋予(fùyǔ)一个

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

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

测试用例设计—自动售货机因果图分析命题设计了一个自动售货机软件测试用例,用于处理单价为50美分的饮料。

规格如下:如果你放入50美分或1元硬币,并按下按钮[橙汁]或[啤酒],相应的饮料将交付如果自动售货机没有零钱,红灯将显示[零钱已经被换了],然后在放入1元硬币并按下按钮后,饮料将不会被递送,并且1元硬币将退出。

如果有零钱,显示“换出”的红灯将熄灭,50美分将在饮料交付时返还。

分析根据这个命题,我们可以分析自动售货机业务中存在5个条件和5个结果。

条件如下:1。

自动售货机有零钱。

投入1元硬币3。

投入50美分硬币4。

按下橙汁按钮5。

按下啤酒按钮结果:1。

自动售货机[换出]灯亮着。

当自动售货机没有变化时,会出现红灯2。

当硬币投入1元并且自动售货机没有零钱时,返还1元硬币。

3.当硬币投入1元时,返还50美分。

当自动售货机4有变化时。

发送橙汁饮料5。

发送啤酒饮料因果图-绘制条件和结果有变化红灯亮1元1元50美分,啤酒50美分,橙汁因果图-绘制简单关系在绘制空白条件和结果后,我们可以标记1为主题中最直接和最简单的因果条件。

条件“有变化”和结果“红灯亮”之间的关系是“没有”。

当“有零钱”时,红灯不亮,而当自动售货机“没有零钱”时,红灯必须亮。

2年,有条件的“投1元”和有条件的“投50分”是一种“E”关系。

这两个动作不能同时发生,即1元钱和50美分(不能同时发生);但是,我们允许“没有1元钱”和“没有50美分”(同时可能是假的)3,“啤酒选择”条件和“橙汁选择”条件为“e”关系,这两个动作不能同时发生,即“啤酒选择”和“橙汁选择”(不能同时为真);但是我们允许“不喝啤酒”和“不喝橙汁”(这可能同时是错误的)4,条件“啤酒选择”和条件“橙汁选择”相当于程序处理过程,即价格和系统处理方法都是相同的,因此这两个条件可以组合成一个中间节点此外,在两个条件之间使用“或”的关系5。

请注意,有条件的“1元”和有条件的“50美分”不是等价关系。

实验4_因果图法

实验4_因果图法
实验4因果图法
实验重点:
掌握软件测试因果图法测试用例的编写。
实验难点:
软件测试因果图法测试用例的编写。
有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来。若投入的是两元硬币,在送出饮料的同时退还5角硬币。
要求:用因果图法(列出原因和结果,画出因果图,制定决策表)来设计测试用。
二:因果图
三:判定表
1
2
34Βιβλιοθήκη 5678
9
10
11


投入1元5角硬币
(1)
1
1
1
1
0
0
0
0
0
0
0
投入2元硬币
(2)
0
0
0
0
1
1
1
1
0
0
0
按“可乐”按钮
(3)
1
0
0
0
1
0
0
0
1
0
0
按“雪碧”按钮
(4)
0
1
0
0
0
1
0
0
0
1
0
按“红茶”按钮
(5)
0
0
1
0
0
0
1
0
0
0
1
中间结点
已投币
(11)
1
1
1
1
1
1
1
1
0
0
0
已按钮
(12)
1
1
1
0
1
1
1
0
1

盒装饮料自动售货机测试用例

盒装饮料自动售货机测试用例

题目:有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。

其规格说明如下:若投入1元5角钱硬币,押下〖可乐〗或〖雪碧〗或〖红茶〗的按钮,则相应的饮料就送出来。

若投入的2元硬币,在送出饮料的同时退还5角硬币。

1.分析这一段说明,列出原因和结果
原因:
1.投入1元5角硬币
2.投入2元硬币
3.押下可乐按钮
4.押下雪碧按钮
5.押下红茶按钮
结果:
21.退还5角硬币
22. 送出可乐饮料
23. 送出雪碧饮料
24.送出红茶饮料
2.画出因果图
如图所示。

所有原因结点列在左边,所有结果结点列在右边。

建立中间结点,表示处理的中间状态。

中间结点:
11. 已投币
12. 押下〖可乐〗或〖雪碧〗或〖红茶〗的按钮
(1) 因果图
3.转换成判定表:
4.设计测试用例
1)只押下可乐按钮不投币,系统不做任何处理。

2)只押下雪碧按钮不投币,系统不做任何处理。

3)只押下红茶按钮不投币,系统不做任何处理。

4)只投入2元硬币不按钮,系统不做任何处理。

5)投入2元硬币并押下红茶按钮,找回5角硬币并送出红茶饮料。

6)投入2元硬币并押下雪碧按钮,找回5角硬币并送出雪碧饮料。

7)投入2元硬币并押下可乐按钮,找回5角硬币并送出可乐饮料。

8)只投入1元5角硬币不按钮,系统不做任何处理。

9)只投入1元5角硬币并押下红茶按钮,送出红茶饮料。

10)只投入1元5角硬币并押下雪碧按钮,送出雪碧饮料。

11)只投入1元5角硬币并押下可乐按钮,送出可乐饮料。

因果图法实例

因果图法实例

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)转换成判定表:4)在判定表中,阴影部分表示因违反约束条件的不可能出现的情况,删去。

第16列与第32列因什么动作也没做,也删去。

最后可根据剩下的16列作为确定测试用例的依据。

因果图例子

因果图例子

【例】有一个处理单价未5角钱的饮料的自动售货机软件测试用例的设计。

其规格说明为:若投入5角钱或1元钱的硬币,押下【橙汁】或【啤酒】的按钮,则相应的饮料就送出来。

若售货机没有零钱找,则一个显示【零钱找完】的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示【零钱找完】的红灯灭,在送出饮料的同时退还5角硬币。

1) 分析这一段说明,列出原因和结果
原因结果
1. 售货机有零钱找 21. 售货机【零钱找完】灯亮
2. 投入1元硬币 22. 退还1元硬币
3. 投入5角硬币 23. 退还5角硬币
4. 押下橙汁按钮 24. 送出橙汁饮料
5. 押下啤酒按钮 25. 送出啤酒饮料
2) 画出因果图,如图8.19所示。

所有原因结点列在左边,所有结果结点列在右边。

建立四个中间结点,表示处理的中间状态。

中间结点:11. 投入1元硬币且押下饮料按钮
12. 押下【橙汁】或【啤酒】的按钮
13. 应当找5角零钱并且售货机有零钱找
14. 钱已付清
投入1元硬币退还1元硬币
E
投入5角硬币找回5角硬币
押下橙汁按钮送出橙汁饮料
押下啤酒按钮送出啤酒饮料
图8.19 因果图
3) 由于2与3,4与5不能同时发生,分别加上约束条件E。

4) 因果图。

5) 转换成判定表。

图8.20 由因果图得到的判定表。

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

测试用例设计—自动售货机因果图分析
实验三黑盒测试(二)
一、实验目的
通过本实验,掌握因果图法生成测试用例的步骤。

二、相关内容
利用因果图生成测试用例的基本步骤如下:
(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 <stdio.h>
#include<math.h>
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;
}。

相关文档
最新文档