采用等价类划分方法为某保险公司计算保费率的程序设计测试用例。
某保险公司的人寿保险的保费计算方式为:投保额×保险费率。其中,保险费率按点数不同而有区别,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 无法推算