编程实现:假设商店货品价格(R) 都不大于100元(且为整数),若顾客付款(P)在100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。假定此商店的货币面值只包括:50元(N50)、10元(N10)、 5元(N5)、1元(N1) 四种。 使用逻辑覆盖法进行测试用例设计 1)语句覆盖 2)判定覆盖
时间: 2024-02-09 10:11:47 浏览: 202
1) 语句覆盖测试用例设计:
假设程序中有以下语句:
```python
if P < 1 or P > 100:
return "Invalid payment amount."
else:
N50 = P // 50
P = P % 50
N10 = P // 10
P = P % 10
N5 = P // 5
P = P % 5
N1 = P
return [N50, N10, N5, N1]
```
根据语句覆盖,至少需要设计两个测试用例:
- P = 50
- P = 99
测试用例1:
输入:P = 50
输出:[1, 0, 0, 0]
测试用例2:
输入:P = 99
输出:[1, 4, 1, 4]
2) 判定覆盖测试用例设计:
假设程序中有以下判定:
```python
if P < 1 or P > 100:
return "Invalid payment amount."
```
根据判定覆盖,至少需要设计两个测试用例:
- P = 0
- P = 101
测试用例1:
输入:P = 0
输出:"Invalid payment amount."
测试用例2:
输入:P = 101
输出:"Invalid payment amount."
阅读全文