案例分析题

试题二
阅读下列说明,回答问题,将解答填入答题纸的对应栏内。

【说明】
某银行 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

【答案解析】