有一个饮料自动售货机的控制处理软件。若投入5角钱的硬币,按下橙汁或啤酒的按钮,则相应的饮料就送出来。若投入1元的硬币,同样也是按下橙汁或啤酒的按钮,则相应的饮料会送出来并退还5角硬币。试画出因果图,并给出对应的测试用例。
时间: 2024-10-10 19:11:30 浏览: 119
首先,我们可以通过因果图(Cause-Effect Diagram 或 IDEF0 图)来描述这个饮料自动售货机的行为。在这种图形中,事件作为顶点,箭头表示事件之间的因果关系。以下是简单的因果图示例:
```
+-------+
| |
V V
+-------------------------+ +------------------------+
| 投入硬币(5角或1元) |-->| 分析硬币价值 |
+-->| 处理硬币 |<--| |
+--->| 返回找零(5角或无) |
| 检查库存 |<--+ |
+----------------------------------+ |
|
+-------------------------------------------------+
| 发放相应饮料 |
+-------------------------------------------------+
```
对应的测试用例设计如下:
1. **测试用例1**: 正常购买 -
- 测试步骤: 1) 输入5角硬币;2) 选择橙汁;3) 硬币被识别为5角,橙汁送出。
2. **测试用例2**: 正常购买 -
- 测试步骤: 1) 输入1元硬币;2) 选择橙汁;3) 硬币被识别为1元,橙汁送出,然后返回5角硬币。
3. **测试用例3**: 错误投入 -
- 测试步骤: 1) 输入非货币物体(无效硬币);2) 饮料未送出,可能有错误提示。
4. **测试用例4**: 兑换找回 -
- 测试步骤: 1) 输入1元硬币;2) 选择啤酒;3) 硬币被识别为1元,啤酒送出,然后退回5角硬币。
5. **测试用例5**: 库存不足 -
- 测试步骤: 1) 输入1元硬币;2) 选择一瓶已售罄的饮料;3) 应该显示“商品售罄”信息,饮料不出售,找零照常。
阅读全文