问题描述

设要对一个自动饮料售货机软件进行黑盒测试。该软件的规格说明如下:“有一个处理单价为1元5角的盒装饮料的自动售货机软件,若投入1元5角硬币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来。若投入的是2元硬币,在送出饮料的同时退还5角硬币。“
(1)试利用因果图法,建立该软件的因果图;
(2)设计测试该软件的全部测试用例。

解决方案

(1) 试利用因果图法,建立该软件的因果图

原因 结果
C1:投入1元5角硬币
C2:投入2元硬币
C3:按下“可乐”
C4:按下“雪碧”
C5:按下“红茶”
E1:送出可乐
E2:送出雪碧
E3:送出红茶
E4:退还5角硬币
E5:提示投入硬币

程序对应的因果图如下所示:

(2) 设计测试该软件的全部测试用例

由于约束,不可能的情况:C1C2=11;C3C4C5=000/111/110/101/011

首先根据因果图得到决策表(去除以上不可能):

选项\规则 1 2 3 4 5 6 7
条件
C1 1 1 1 0 0 0 0
C2 0 0 0 1 1 1 0
C3 1 0 0 1 0 0 -
C4 0 1 0 0 1 0 -
C5 0 0 1 0 0 1 -
10 1 1 1 1 1 1 0
动作
E1
E2
E3
E4
E5
测试用例 投1元5角
按下可乐
投1元5角
按下雪碧
投1元5角
按下红茶
投2元
按下可乐
投2元
按下雪碧
投2元
按下红茶
不投币
按下可乐

再根据决策表设计测试用例:

测试用例编号 输入 预期输出
1 投1元5角
按下可乐
送出可乐
2 投1元5角
按下雪碧
送出雪碧
3 投1元5角
按下红茶
送出红茶
4 投2元
按下可乐
送出可乐
退还5角
5 投2元
按下雪碧
送出雪碧
退还5角
6 投2元
按下红茶
送出红茶
退还5角
7 不投币
按下可乐
提示投入硬币

参考文章

(六)练习:饮料自动售货机

黑盒测试——自动饮料售货机相关推荐

  1. 利用因果图法对一个自动饮料售货机软件进行黑盒测试

    一.需求 设要对一个自动饮料售货机软件进行黑盒测试.该软件的规格说明如下:"有一个处理单价为1元5角的盒装饮料的自动售货机软件,若投入1元5角硬币,按下"可乐".&quo ...

  2. 设计c语言自动售货机源程序,自动饮料售货机源程序C语言编程

    采用C语言编程的自动饮料售货机源程序 #include #include #include class goodsinfo { public: char *name; float price; int ...

  3. 基于三菱PLC的饮料售货机控制系统设计

    目 录 摘要 I Abstract II 1 绪论 1 1.1研究背景及意义 1 1.2自动售货机的简介 1 1.2.1自动售货机的发展历史 1 1.2.2自动售货机的定义 2 1.2.3自动售货机的 ...

  4. 果汁机器人传销_自动果汁售货机怎么样 加盟靠谱吗

    我们在商场里,经常看到每个楼层,经常可以看到,有一些自动的果汁自动售货机,对于很多人来说,想要加盟,觉得自己对于果汁自动售货机,可能没有很深的认识,自动果汁售货机加盟怎么样?加盟靠谱吗?是很多投资商的 ...

  5. 自动售卖机系统_为什么看好自动咖啡售货机的前景呢?福能达希望咖啡爱好者随时来一杯...

    咖啡作为一种饮品,在全世界范围内流行.特别是在欧美日韩等发达国家,咖啡已经成为了生活中不可或缺的必需品.这些年随着中国的经济发展和中国与世界的融合加深咖啡也开始在中国流行起来,特别是在一线城市咖啡销售 ...

  6. 饮料售货机——状态机

    设计一个自动饮料售卖机,饮料10分钱,硬币有5分和10分两种,并考虑找零. 假设fen_5表示5分线,fen_10表示10分钱,out表示出饮料,remain表示找零,故状态机需要3个状态,分别为S0 ...

  7. 自动售货机 顺序图_饮料销售机UML顺序图

    饮料销售机 UML 顺序图文档 引言 本文档为饮料销售机设计过程中的 UML 顺序图文档,编写成员为开发成员,目的是为 了方便后续的开发更顺利并且便利的开展, 了解系统功能顺序, 对系统有一个更加直观 ...

  8. 自动售货机软件工程课设_自动售货机软件工程.doc

    自动饮料售货机 --软件工程课程设计报告 目录 1引言2 1.1目的2 1.2 背景2 1.3 定义2 1.4 问题描述2 1.5 参考资料2 2.项目概述3 2.1 系统功能3 2.2 业务描述3 ...

  9. 我的Java学习之路(三)-- 自动饮料售卖机控制台程序

    自动饮料售卖机控制台程序 1. 首先,定义一个饮料抽象类```Drink.java``` 2. 定义一个咖啡类```Coffee.java```,继承饮料类 3. 再定义一个可乐类```Cola.ja ...

最新文章

  1. 【JNI】javah使用(初步)
  2. vscode css提示_锋利码农武器之vscode
  3. GraphPad Prism(医学绘图) v9.1.2.226 for Win
  4. mysql scws_php利用scws实现mysql全文搜索功能的方法,_PHP教程
  5. JS高级——错误处理
  6. jlabel 不能连续两次set_为什么有时连续多次setState只有一次生效?
  7. iOS - Swift Foundation 框架
  8. 201312-2_ISBN号码
  9. 2017.3.21 树网的核 思考记录
  10. Shell文本处理三剑客(三)
  11. Jmeter-Ant 生成测试报告
  12. rowStyle设置Bootstrap Table行样式
  13. 【读书笔记《Android游戏编程之从零开始》】6.Android 游戏开发常用的系统控件(TabHost、ListView)
  14. BT.1120协议简介
  15. conan入门(六):conanfile.txt conanfile.py的区别
  16. 微信「扫一扫识物」 的背后技术揭秘
  17. 浅谈Thread.setDaemon
  18. 井字游戏判断赢家c语言,桌游「井字游戏 」了解条件式攻守与挫折后的再接再厉...
  19. 鞍山市2021中高考成绩查询,2021年鞍山高中学校排名及录取分数线排名
  20. 【通信学习】一些5G基本概念

热门文章

  1. jre环境变量配置_详解java环境变量意思-用于解决环境搭建问题
  2. z最大子数组c语言,关于最大子数组问题
  3. python 节气计算_python 生成 1900-2100 的二十四节气文件
  4. android.mk编译动态库,安卓之Android.mk多文件以及动态库编译
  5. servlrt程序的入口点是_刚刚,微信偷偷更新,小程序又放大招了!
  6. java判断44数组是否是4阶幻方_2015蓝桥杯决赛Java A组 第二题--四阶幻方
  7. c4d fbx大小_C4D一键竖排文字预设 建模辅助
  8. arduino 土壤温湿度传感器_智慧农业温室大棚环境监测传感器
  9. 【小白学习keras教程】八、Sequential Model和模型函数API两种模型建立方法
  10. 九十、动态规划系列背包问题之多重背包