测试用例设计自动售货机因果图分析.docx
《测试用例设计自动售货机因果图分析.docx》由会员分享,可在线阅读,更多相关《测试用例设计自动售货机因果图分析.docx(8页珍藏版)》请在冰豆网上搜索。
测试用例设计自动售货机因果图分析
测试用例设计—自动售货机因果图分析
实验三黑盒测试
(二)
一、实验目的
通过本实验,掌握因果图法生成测试用例的步骤。
二、相关内容
利用因果图生成测试用例的基本步骤如下:
(1)分析软件规格说明中哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。
(2)分析软件规格说明中的语义,找出原因与结果之间、原因与原因之间对应的关系,根据这些关系画出因果图。
(3)由于语法或环境的限制,有些原因与原因之间、原因与结果之间的组合情况不可能出现。
为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。
(4)把因果图转换为决策表。
(5)根据决策表中的每一列设计测试用例。
三、实验内容
有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。
其规格说明如下:
若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。
若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。
编写程序实现之,然后用因果图法对自动售货机设计测试用例并测试之。
要求:
1、编写程序,实现上述自动售货过程。
(任选一种自己熟悉的语言,有无界面均可,实现相应的功能即可。
)
2、用因果图法设计测试用例。
(1)正确画出因果图。
(2)画出决策表。
(3)给出测试用例。
提示:
可按如下步骤进行:
1)分析这一段说明,列出原因和结果。
2)画出因果图。
(所有原因结点列在左边,所有结果点列在右边。
可以考虑建立中间结点,表示处理的中间状态。
比如,可设如下几种中间状态:
该找5角,可找5角,按下按钮、钱已付清)
3)画出决策表。
4)给出测试用例。
四、实验报告
实验报告提交内容:
源程序清单、因果图、决策表。
(测试用例有时间就设计,没有时间可以不设计)
一,因果图;
因果图-画条件和结果
因果图-应该找零钱
因果图-5角钱付清
因果图-退还1元
判定表
去除无效用例
合并判定表
二,源程序:
#include
#include
main()
{floata;
intb;
floatLingQian=50;
system("graftabl936");
clrscr();
B:
if(LingQian==0)
{
printf("\n零钱找完!
红灯亮!
\n");
}
printf("\n请投币:
\n");
scanf("%f",&a);
if(LingQian==0&&a==1)
{printf("返回1元");
gotoB;
};
if(a==0.5||a==1)
{
printf("请选择饮料:
\n1为可乐!
2为啤酒!
\n");
scanf("%d",&b);
if(a==1&&b==1)
{
printf("\n可乐\n找零:
0.5元\n");
LingQian=LingQian-0.5;
}
elseif(a==1&&b==2)
{
printf("\n啤酒\n找零:
0.5元\n");
LingQian=LingQian-0.5;
}
elseif(a==0.5&&b==1)
{
printf("\n可乐\n");
LingQian=LingQian+0.5;
}
elseif(a==0.5&&b==2)
{
printf("\n啤酒\n");
LingQian=LingQian+0.5;
}
}
else
{gotoB;}
gotoB;
}