1. **正常购买流程**:
- 用户选择商品并投入足够的钱币。
- 用户按下购买按钮。
- 自动售货机发出商品并找零。
- 用户取走商品和找零,交易完成。
2. **商品缺货处理**:
- 用户选择一个缺货商品。
- 自动售货机应该显示“商品缺货”提示,并不接受投币。
- 用户选择其他可用商品或取消交易。
3. **投币功能测试**:
- 用户投入各种面额的钱币。
- 自动售货机应正确识别并累计投币金额。
- 边界情况测试:投入最小面额和最大面额的钱币。
4. **找零功能测试**:
- 用户购买商品并投入超额的钱币。
- 自动售货机应该正确计算找零并发放。
- 边界情况测试:最小和最大找零金额。
5. **退币功能测试**:
- 用户在投币过程中选择取消交易。
- 自动售货机应该将已投入的钱币全部退还给用户。
6. **显示屏功能测试**:
- 自动售货机应该能够正确显示商品信息、投币金额、找零金额等。
- 测试显示屏在各种状态下的显示情况,包括正常状态、缺货状态和交易完成状态。
7. **交易记录测试**:
- 测试自动售货机是否能够记录每笔交易的详情,包括购买商品、投币金额、找零金额等信息。
8. **硬件故障处理**:
- 模拟硬币识别器故障,测试自动售货机的投币功能是否正常。
- 模拟货道卡住或者商品下落失败,测试自动售货机的出货功能是否正常。