找零钱最佳组合
假设商店货品价格(R) 都不大于100元(且为整数),若顾客付款(P)在100元内现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。 假定此商店的货币面值只包括:50元(N50)、10元(N10)、 5元(N5)、1元(N1) 四种。
请结合等价类划分法和边界值分析法为上述程序设计 出相应的测试用例。
1) 等价类划分法
|
输入条件 |
有效等价类 |
唯一标识 |
无效等价类 |
唯一标识 |
|
价格 |
0<R≤1000<R≤100 且为整数 |
1) |
R≤0R≤0 或 R>100R>100 |
4) |
|
|
|
|
RR 不是整数 |
5) |
|
付款 |
0<P≤1000<P≤100 且为整数 |
2) |
P≤0P≤0 或 P>100P>100 |
6) |
|
|
|
|
PP 不是整数 |
7) |
|
付款与价格关系 |
P≥RP≥R |
3) |
P<RP<R |
8) |
|
序号 |
输入数据 |
覆盖等价类 |
输出 |
|
1 |
R=50,P=100 R=50,P=100 |
1, 2, 3 |
找零组合:1 张 50 元,0 张 10 元,0 张 5 元,0 张 1 元 |
|
2 |
R=23,P=50 R=23,P=50 |
1, 2, 3 |
找零组合:0 张 50 元,2 张 10 元,1 张 5 元,2 张 1 元 |
|
3 |
R=99,P=100 R=99,P=100 |
1, 2, 3 |
找零组合:0 张 50 元,0 张 10 元,0 张 5 元,1 张 1 元 |
|
4 |
R=1,P=100 R=1,P=100 |
1, 2, 3 |
找零组合:1 张 50 元,4 张 10 元,1 张 5 元,4 张 1 元 |
|
5 |
R=0,P=50 R=0,P=50 |
4 |
无效输入:价格和付款必须大于 0 |
|
6 |
R=101,P=100 R=101,P=100 |
6 |
无效输入:价格和付款不能超过 100 元 |
|
7 |
R=50,P=49 R=50,P=49 |
8 |
无效输入:付款金额不能小于价格 |
|
8 |
R=50.5,P=100 R=50.5,P=100 |
5 |
无效输入:价格和付款必须为整数 |
|
9 |
R=50,P=100.5 R=50,P=100.5 |
7 |
无效输入:价格和付款必须为整数 |
2) 边界值法
|
序号 |
输入数据 |
覆盖等价类 |
输出 |
|
1 |
R=1,P=1R=1,P=1 |
RR 和 PP 的最小值 |
无需找零 |
|
2 |
R=100,P=100R=100,P=100 |
RR 和 PP 的最大值 |
无需找零 |
|
3 |
R=1,P=100R=1,P=100 |
RR 最小值,PP 最大值 |
找零组合:1 张 50 元,4 张 10 元,1 张 5 元,4 张 1 元 |
|
4 |
R=99,P=100R=99,P=100 |
RR 接近最大值,PP 最大值 |
找零组合:0 张 50 元,0 张 10 元,0 张 5 元,1 张 1 元 |
|
5 |
R=50,P=50R=50,P=50 |
R=PR=P 的情况 |
无需找零 |
|
6 |
R=0,P=0R=0,P=0 |
无效边界值 |
无效输入:价格和付款必须大于 0 |
|
7 |
R=101,P=101R=101,P=101 |
无效边界值 |
无效输入:价格和付款不能超过 100 元 |

浙公网安备 33010602011771号