问题 问答题

采用等价类划分方法为某保险公司计算保费率的程序设计测试用例。
某保险公司的人寿保险的保费计算方式为:投保额×保险费率。其中,保险费率按点数不同而有区别,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)年龄:一位或两位非零整数,有效范围为1~99。
(2)性别:一位英文字符,只能取“M”或“F”。
(3)婚姻:字符,只能取“已婚”或“未婚”。
(4)抚养人数:空白或一位非零整数,取值的范围为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
根据上表中的等价类,设计测试用例如下表所示
测试用
例编号
输入数据 预期输出
保险费率
年龄 性别 婚姻 抚养人数
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 无法推算

单项选择题
单项选择题