Well begun is half done!

边界值法举例--找零钱最佳组合

上一篇 / 下一篇  2010-12-16 17:12:03 / 个人分类:面试题

假设商店货品价格(R)皆不大於100元(且为整数),若顾客付款在100元内(P),求找给顾客之最少货币个(张)数?(货币面值50(N50)10(N10)5(N5)1(N1)四种)

  一、分析输入的情形

  R>100

  0<R<=100

  R<=0

  P>100

  R<=P<=100

  P<R

  二、分析输出情形

  N50=1

  N50=0

  4>N10>=1

  N10=0

  N5=1

  N5=0

  4>N1>=1

  N1=0

  三、分析规格中每一决策点之情形,以RR1,RR2,RR3表示计算要找50,10,5元货币数时之剩余金额。R>100 R<=0

  P>100

  P<R

  RR1>=50

  RR2>=10

  RR3>=5

  四、由上述之输入/输出条件组合出可能的情形

  R>100

  R<=0

  0<R<=100,P>100

  0<R<=100,P<R

  0<R<=100,R<=P<=100,RR=50

  0<R<=100,R<=P<=100,RR=49

  0<R<=100,R<=P<=100,RR=10

  0<R<=100,R<=P<=100,RR=9

  0<R<=100,R<=P<=100,RR=5

  0<R<=100,R<=P<=100,RR=4

  0<R<=100,R<=P<=100,RR=1

  0<R<=100,R<=P<=100,RR=0

  五、为满足以上之各种情形,测试资料设计如下:

  1.货品价格=101

  2.货品价格=0

  3.货品价格=-1

  4.货品价格=100,付款金额=101

  5.货品价格=100,付款金额=99

  6.货品价格=50,付款金额=100

  7.货品价格=51,付款金额=100

  8.货品价格=90,付款金额=100

  9.货品价格=91,付款金额=100

  10.货品价格=95,付款金额=100

  11.货品价格=96,付款金额=100

  12.货品价格=99,付款金额=100

  13.货品价格=100,付款金额=100

 

在网上看到了关于找零钱最佳组合的测试用例,以下是用例:
(R)100100(P)货币个(张)50(N50)10(N10)5(N5)1(N1)


正确功能:找零的组合为1/10/50面值组合的最小个(张)数

找零数额=P-R  假设计算正确

一、
R > 100
0 < R < = 100
R <= 0
P > 100
R<= P <= 100
P < R


1.R
无效:R > 100  R<=0

2.R
有效:0 < R < = 100  

此种情况下再考虑P
2_1. P
无效:P > 100(钱给多)

2_2. P
无效:P < R   (钱给少)

2_3. P
有效:R<= P <= 100   //无效输出:多找钱少找钱

二、
N50 = 1
N50 = 0
4 > N10 >= 1
N10 = 0
N5 = 1
N5 = 0
4 > N1 >= 1
N1 = 0  


考虑输出——找零个数
这里是有效数据,关于"货币个(张)"的有效取值

50 0/1
10 0/1/2/3/4
1  0/1/2/3/4

三、RR1, RR2, RR350, 10, 5R > 100R <= 0
P > 100
P < R
RR1 >= 50
RR2 >= 10
RR3 >= 5


考虑输出——找零数额(RR表示找零数额)

无效输入(不找零):

R > 100  
R <= 0
0 < R < = 100  P > 100
0 < R < = 100  P < R

输出为相应错误提示信息

有效输入(找零):

0 < R < = 100  R<= P <= 100

此时考虑的输出:(RR=P-R假设计算正确不考虑此种情况无效输出)

0<=RR<4
5<=RR<10
10<=RR<50
50<=RR<100

RR0145910495099
五、
1.
货品价格= 101
2.
货品价格= 0
3.
货品价格= -1
4.
货品价格= 100,付款金额= 101
5.
货品价格= 100,付款金额= 99  
6.
货品价格= 100,付款金额= 100   不找零
7.
货品价格= 99,付款金额= 100    N11
8.
货品价格= 96,付款金额= 100    N14
9.
货品价格= 95,付款金额= 100    N51
10.
货品价格= 91,付款金额= 100   N51, N14
11.
货品价格= 90,付款金额= 100   N101
12.
货品价格= 51,付款金额= 100   N104, N51N14
13.
货品价格= 50,付款金额= 100   N501
14.
货品价格= 1,付款金额= 100    N501,N10=4,N5=1,N1=4

 


TAG:

 

评分:0

我来说两句

Open Toolbar