边界值分析是⼀种⿊盒测试⽅法,是对等价类分析⽅法的⼀种补充,由长期的测试⼯作经验得知,⼤量的错误是发⽣在输⼊或输出的边界上。因此针对各种边界情况设计测试⽤例,可以查出更多的错误。选择测试⽤例的原则:
⼀、如果输⼊条件规定了值的范围,则应该取刚达到这个范围的边界值,以及刚刚超过这个范围边界的值作为测试输⼊数据;⼆、如果输⼊条件规定了值的个数,则⽤最⼤个数、最⼩个数、⽐最⼤个数多1个、⽐最⼩个数少1个的数做为测试数据;三、根据规格说明的每⼀个输出条件,使⽤规则⼀;四、根据规格说明的每⼀个输出条件,使⽤规则⼆;
五、如果程序的规格说明给出的输⼊域或输出域是有序集合(如有序表、顺序⽂件等),则应选取集合的第⼀个和最后⼀个元素作为测试⽤例;
六、如果程序⽤了⼀个内部结构,应该选取这个内部数据结构的边界值作为测试⽤例;七、分析规格说明,找出其他可能的边界条件。找零钱最佳组合的测试⽤例
假设商店货品价格 (R) 皆不⼤於 100 元(且为整数),若顾客付款在 100 元内 (P) ,求找给顾客之最少货币个(张)数?(货币⾯值50 元 (N50) , 10 元 (N10) , 5 元 (N5) , 1 元 (N1) 四种)正确功能:找零的组合为1/5/10/50⾯值组合的最⼩个(张)数找零数额=P-R 假设计算正确⼀、分析输⼊的情形。1.R⽆效: R > 100 R<=02.R有效: 0 < R < = 100此种情况下再考虑P:
2_1. P⽆效:P > 100 (钱给多)2_2. P⽆效:P < R (钱给少)
2_3. P有效:R<= P <= 100 //⽆效输出:多找钱少找钱⼆、分析输出情形。考虑输出——找零个数
这⾥是有效数据,关于\" 找给顾客之最少货币个(张)数\"的有效取值50:找钱⾯值为50元的有两种情况: 0张或/1张10:找钱⾯值为10元的有五种情况: 0/1/2/3/45 :找钱⾯值为5元的有两种情况: 0/11 :找钱⾯值为1元的有五种情况:0/1/2/3/4三、分析规格中每⼀决策点之情形
考虑输出——找零数额(RR表⽰找零数额)1、⽆效输⼊(不找零):R > 100
R <= 0
0 < R < = 100 P > 1000 < R < = 100 P < R输出为相应错误提⽰信息。2、有效输⼊(找零):0 < R < = 100 && R<= P <= 100
此时考虑的输出:(RR=P-R 假设计算正确不考虑此种情况⽆效输出)0<=RR<55<=RR<1010<=RR<5050<=RR<100
⽤边界值分析法,取RR的有代表性的值,则RR分别取:0、1、4、5、9、10、49、50、99五、为满⾜以上之各种情形,测试⽤例设计如下:1. 货品价格 = 101 ⽆效货品价格2. 货品价格 = 0 ⽆效货品价格3.货品价格 = -1 ⽆效货品价格
4. 货品价格 = 100, 付款⾦额 = 101 ⽆效付款5. 货品价格 = 100, 付款⾦额 = 99 ⽆效付款6. 货品价格 = 100, 付款⾦额 = 100 不找零7. 货品价格 = 99, 付款⾦额 = 100 N1=18. 货品价格 = 96, 付款⾦额 = 100 N1=49. 货品价格 = 95, 付款⾦额 = 100 N5=110. 货品价格 = 91, 付款⾦额 = 100 N5=1, N1=411. 货品价格 = 90, 付款⾦额 = 100 N10=1
12. 货品价格 = 51, 付款⾦额 = 100 N10=4, N5=1,N1=413. 货品价格 = 50, 付款⾦额 = 100 N50=1
14. 货品价格= 1, 付款⾦额= 100 N50=1,N10=4,N5=1,N1=4
因篇幅问题不能全部显示,请点此查看更多更全内容