问题描述——找零钱最佳组合:
假设商店货品价格(R)皆不大于100元(且为整数),若顾客付款在100元内(P),求找给顾客之最少货币个(张)数?(货币面值50元(N50),10元(N10),5元(N5),1元(N1)四种)
试采用边界值测试法分别从定义域及值域两个角度对该问题设计测试用例,并给出分析过程。
根据题目分析,由边界值处理技巧一:如果输入条件规定了值的范围,则取刚刚达到这个范围的边界值或临近值,以及刚刚超过这个范围边界的值。
根据健壮性分析法和题目:
一、1、输入条件(定义域):商品价格R的取值0<=R<=100 、R刚大于100、R刚小于0、
付款金额P的取值 R<=P<=100、 P刚小于R、P刚大于100。
2、系统可能输出条件(输出域):0<=N50<=1、0<=N10<=4、0<=N5<=1、0<=N1<=4。且N1、N50、N10、N5都取整数
二、设找零的总金额为K=P-R,
又根据边界值分析法中的健壯性分析法结合输出域,得:K有以下取值:
0(N50=0、N10=0、N5=0、N1=0),1(N50=1、N10=0、N5=0、N1=1),4(N50=0、N10=0、N5=0、N1=4),5(N50=0、N10=0、N5=1、N1=0),
9(N50=0、N10=0、N5=1、N1=4),10(N50=0、N10=1、N5=0、N1=0),49(N50=0、N10=4、N5=1、N1=4),
50(N50=1、N10=0、N5=0、N1=0),99(N50=1、N10=4、N5=1、N1=4)
输入输出条件组合的情况为:
1、R>100 不合法
2、R<=0 不合法
3、0<=R<=100, P>100 不合法
4、0<=R<=100, P 5、0<=R<=100, R<=p<=100, K=99 输出为10张 6、0<=R<=100, R<=p<=100, K=50 输出一张 7、0<=R<=100, R<=p<=100, K=49 输出9张 8、0<=R<=100, R<=p<=100, K=10 输出一张 9、0<=R<=100, R<=p<=100, K=9 输出5张 10、0<=R<=100, R<=p<=100, K=5 输出1张 11、0<=R<=100, R<=p<=100, K=4 输出4张 12、0<=R<=100, R<=p<=100, K=1 输出1张 13、0<=R<=100, R<=p<=100, K=0 输出0张 三、测试用例如下: 测试用例 商品价格 付款金额 预期结果(N50,N10,N5,N1) 1 101 - 不合法 2 - 1 - 不合法 3 100 101 不合法 4 100 99 不合法 5 1 100 (1,4,1,4) 6 50 100 (1,0,0,0) 7 51 100 (0,4,1,1) 8 90 100 (0,1,0,0) 9 91 100 (0,0,1,4) 10 95 100 (0,0,1,0) 11 96 100 (0,0,0,4) 12 99 100 (0,0,0,1) 13 100 100 (0,0,0,0)