问答题 采用等价类划分方法为某保险公司计算保费率的程序设计测试用例。
某保险公司的人寿保险的保费计算方式为:投保额×保险费率,其中,保险费率依点数不同而有区别,10点及10点以上保险费率为0.6%,10点以下保险费率为0.1%;而点数又是由投保人的年龄、性别、婚姻状况和抚养人数来决定的,具体规则如下表所示。
年龄
性别
婚姻
抚养人数
20~39
40~59
其他
M
F
已婚
未婚
1人扣0.5点最多扣3点
6点
4点
2点
5点
3点
3点
5点
(四舍五入)
问题:根据条件使用等价类划分的方法设计测试用例。

【正确答案】分析程序规格说明中给出和隐含的对输入条件的要求,列出等价类表(包括有效等价类和无效等价类),如下表所示。其中,
年龄:一位或两位非零整数,值的有效范围为1~99。
性别:一位英文字符,只能取值'M'或F。
婚姻:字符,只能取值'已婚'或'未婚'。
抚养人数:空白或一位非零整数,值的范围为1~9。
输入条件
有效等价类
编号
无效等价类
编号
年龄
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-10中的等价类表,设计覆盖所有等价类的测试用例,如下表所示。
测试用例编号
输入数据
预期输出
年龄
性别
婚姻
抚养人数
保险费率
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
无法推算
【答案解析】