问答题 采用等价类划分方法为某保险公司计算保费率的程序设计测试用例
某保险公司的人寿保险的保费计算方式为:投保额×保险费率,其中,保险费率依点数不同而有别,10点及10点以上保险费率为0.6%,10点以下保险费率为0.1%;而点数又是由投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则如表5-16所示。

表5-16 保险公司规则
年龄
性别
婚姻
抚养人数
20~39
40~59
其他
M
F
已婚
未婚
1人扣0.5点最多扣3点(四舍五入)
6点
4点
2点
5点
3点
3点
5点
问题:根据条件使用等价类划分的方法设计测试用例。

【正确答案】分析程序规格说明中给出和隐含的对输入条件的要求,列出等价类表(包括有效等价类和无效等价类),如表5-17所示。其中,
● 年龄:一位或两位非零整数,值的有效范围为1~99。
● 性别:一位英文字符,只能取值‘M’或‘F’。
● 婚姻:字符,只能取值‘已婚’或‘未婚’。
● 抚养人数:空白或一位非零整数,值的范围为1~9。


表5-17 等价类
输入条件
有效等价类
编号
无效等价类
编号
年龄
20~39岁
1
40~59岁
2

1~6岁

60~99岁

3
小于1
12
大于99
13
性别
单个英文字符
4
非英文字符
14
非单个英文字符
15
‘M’
5
除‘M’和‘F’之外的其他单个字符
16
‘F’
6
婚姻
已婚
7
除‘已婚’和‘未婚’之外的其他字符
17
未婚
8
抚养人数
空白
9
除空白和数字之外的其他字符
18
1~6人
10
小于1
19
6~9人
11
大于9
20
根据表5-17中的等介类表,设计覆盖所有的等价类的测试用例,如表5-18所示。
表5-18 测试用例
测试用例编号
输入数据
预期输出
年龄
性别
婚姻
抚养人数
保险费率
1
27
F
未婚
空白
0.6%
2
50
M
已婚
2
0.6%
3
70
F
已婚
7
0.1%
4
0
M
未婚
空白
无法推算
5
100
F
已婚
3
无法推算
6
99
已婚
4
无法推算
7
1
Child
未婚
空白
无法推算
8
45
N
已婚
5
无法推算
9
38
F
离婚
1
无法推算
10
62
M
已婚
没有
无法推算
11
18
F
未婚
0
无法推算
12
40
M
未婚
10
无法推算
【答案解析】