试题二
阅读下列说明,回答问题,将解答填入答题纸的对应栏内。
【说明】
某银行 B 和某公司 C 发行联名信用卡,用户使用联名信用卡刷卡可累计积分,积分累计规则与刷卡金额和刷卡日期有关,具体积分规则如表 2-1 所示。此外,公司 C 的 会员分为普通会员、超级会员和 PASS 会员三个级剔,超级会员和 PASS 会员在刷卡时有额外积分奖励,奖励规则如表 2-2 所示。
表 2-1 积分规则
| 刷卡日期 | 积分 |
| 每月9日、19日 | 刷卡金额小数部分四舍五入后的2倍 |
| 11月11日 | 刷卡金额小数部分四舍五入后的6倍 |
| 12月12日 | 刷卡金额小数部分四舍五入后的4倍 |
| 其他日期 | 刷卡金额小数部分四舍五入 |
表2-2 额外积分奖励规则
| 会员级别 | 普通会员 | 超级会员 | PASS会员 |
| 级别代码 | M | S | P |
| 额外积分奖励 | 0% | 100% | 200% |
银行 B 开发了一个程序来计算用户每次刷卡所累积的积分,程序的输入包括会员级别 L、刷卡日期D 和刷卡金额 A. 程序的输出为本次积分 S。其中。L 为单个字母且大 小写不敏感,D 由程序直接获取系统日期,A 为正浮点数最多保留两位小数,S 为整数。
采用等价类划分法对该程序进行测试,等价类表如下表所示,请补充表2-3中空(1 )~( 5)
表2-3 等价表
| 输入条件 | 有限等价类 | 编号 | 无效等价类 | 编号 |
| 会员等级L | M | 1 | 非字母 | 9 |
| S | 2 | 非单个字母 | 10 | |
| (1) | 3 | (4) | 11 | |
| 刷卡日期D | 每月9日、19日 | 4 | ||
| 11月11日 | 5 | |||
| (2) | 6 | |||
| 其他日期 | 7 | |||
| 刷卡金额A | (3) | 8 | 非浮点数 | 12 |
| (5) | 13 | |||
| 多于两位小数的正浮点数 | 14 |
(1)P
(2)12 月 12 日
(3)正浮点数带 2 位小数
(4)MSP 以外的字母
(5)非正浮点数
根据以上等价类表设计的测试用例如下表所示,请补充表2-4中空(1 )~(9 )。
表 2-4测试用例
| 编号 | 输入 | 覆盖等价类(编号) | 预期输出S | ||
| L | D | A | |||
| 1 | N | 1月9日 | 500.25 | 1,4,8 | (1) |
| 2 | S | 11月11日 | (2) | 2,5,8 | 6000 |
| 3 | P | 12月12日 | 500 | (3) | 6000 |
| 4 | P | (4) | 500 | 3,7,8 | 1500 |
| 5 | (5) | 其他日期 | 500 | 9,7,8 | N/A |
| 6 | 非单个字母 | 其他日期 | 500 | 10,7,8 | (6) |
| 7 | (7) | 其他日期 | 500 | 11,7,8 | N/A |
| 8 | N | 其他日期 | 非浮点数 | (8) | N/A |
| 9 | N | 其他日期 | 非正浮点数 | 1,7,13 | N/A |
| 10 | N | 其他日期 | (9) | 1,7,14 | N/A |
(1)1000
(2)500.25
(3)3、6、8
(4)1月8日(其他日期)
(5)1(非字母)
(6) N/A
(7) K(MSP 以外的单个字母)
(8)1、7、12
(9) 500.12345(多于 2 位的正浮点数)
如果规定了单次刷卡的积分上限为 20000( 即 S 取值大于等于 0 且小于等于 20000), 则还需要针对 S 的取值补充一些测试用例。假设采用等价类划分法和边界值分析法来补充用例,请补充表 2-5、表2-6中的空(1)~(6)。
表2-5 补充等价类
| 编号 | 等价类 |
| 1 | 0<=S<=20000 |
| 2 | (1) |
| 3 | (2) |
表2-6 边界值
| 编号 | 边界值 |
| 1 | S=20000 |
| 2 | (3) |
| 3 | (4) |
| 4 | S=0 |
| 5 | (5) |
| 6 | (6) |
(1)S<0
(2)S>20000
(3)S=19999
(4)S=-1
(5)S=20001
(6)S=1