3、有一个饮料自动售货机的控制处理软件。若投入5角钱的硬币,按下橙汁或啤酒的按钮,则相应的饮料就送出来。若投入1元的硬币,同样也是按下橙汁或啤酒的按钮,则相应的饮料会送出来并退还5角硬币。试画出因果图,并给出对应的测试用例。
时间: 2024-12-15 11:25:08 浏览: 18
这是一个典型的业务流程逻辑问题,可以用因果图(也叫状态转换图或序列图)来表示。以下是因果图的一个简单示例:
```
+--+
| 输入 | 输出 |
| (5角硬币) | (选择) |
| +---------+
| | 橙汁 |
+--+
| |
V V
+-------------------+
| 自动售货机 |
+---------+---------+
| 输出 | 状态 |
| (橙汁或无) | (空闲) |
+----------v---------+
|(送啤酒)|(退回1元)
+---------+
| |
V V
+-------------------+
```
测试用例设计如下:
1. **正常购买5角硬币**:
- 测试步骤:投入5角硬币,选择橙汁或啤酒。
- 预期结果:对应饮料送出,机器返回零余额或显示剩余硬币。
2. **正常购买1元硬币购买橙汁**:
- 测试步骤:投入1元硬币,选择橙汁。
- 预期结果:橙汁送出,机器退回5角硬币,显示余额0或1元5角。
3. **正常购买1元硬币购买啤酒**:
- 测试步骤:投入1元硬币,选择啤酒。
- 预期结果:啤酒送出,机器退回1元硬币,显示余额0。
4. **尝试购买未选择的选项**:
- 测试步骤:投入5角或1元硬币,不操作按钮。
- 预期结果:无反应或错误提示。
5. **投入非货币物品**:
- 测试步骤:投入纸巾或其他非货币物品。
- 预期结果:识别错误,不进行饮料售卖。
6. **测试找零功能**:
- 测试步骤:先投1元,选择橙汁,然后立即再投1元。
- 预期结果:第二次投入被识别为退款,应退回1元。
阅读全文