目录
注意:一个测试用例只能覆盖一个无效等价类,但可以覆盖尽可能多的前面未覆盖到的有效等价类。
0.题目要求:
针对国内18位身份证号码验证,通过等价类划分法设计相应的测试用例。参考两个例子,给出excel格式的等价类表和等价类测试用例表。
提示:
1、身份证号码的长度是不是18位。
2、身份证号码中的字符是不是合法。合法字符包含数字0-9和字母X。
3、前6位省市县区号编码检测。
4、年、月、日部分的范围检测,年月日组合检测。
5、最后一位校验位的检测,可以百度下校验位的计算规则。
6、其它规则自己酌情考虑,比如第1位不可能是0和9,第15-17位为顺序码,第17位包含性别信息。
注意:一个测试用例只能覆盖一个无效等价类,但可以覆盖尽可能多的前面未覆盖到的有效等价类。
1.划分等价类
1.1有效等价类
输入条件 | 编号 | 有效等价类 |
地址码的第一位 | 1 | 是1~8的整数 |
地址码2~6位 | 2 | 每一位都是整数 |
7~14位 | 3 | 7~10位是 1900~2022的整数 |
4 | 11~12位 是01~12的整数, | |
5 | 13~14位是 01~31的整数。 | |
15~17位 | 6 | 每一位都是整数 |
18位 | 7 | 是数字 |
8 | 是X | |
号码位数 | 9 | 18位 |
1.2无效等价类
输入条件 | 编号 | 无效等价类 |
地址码的第一位 | 10 | 小于1的整数 |
11 | 大于8的整数 | |
地址码2~6位 | 12 | 含有字母 |
13 | 都是特殊字符 | |
7~14位 | 14 | 7~10位是 1900之前 |
15 | 7~10位是 2022之后 | |
16 | 11~12位大于12 | |
17 | 11~12小于01 | |
18 | 13~14位大于31 | |
19 | 13~14位小于01 | |
15~17位 | 20 | 含有特殊字符 |
21 | 含有字母 | |
18位 | 22 | 其他字母 |
23 | 特殊字符 | |
号码位数 | 24 | 17位 |
25 | 19位 | |
26 | 0位 |
建议汇总到一个表里面哈 如图:
2.测试用例:
测试用例 | |||
用例编号 | 输入数据 | 覆盖的等价类 | 预期结果 |
1 | 342152620040527000 | 1、2、3、4、5、6、7、9 | 有效 |
2 | 34215262004052700X | 1、2、3、4、5、6、8、9 | 有效 |
3 | 04215262004052700X | 2、3、4、5、6、8、9、10 | 无效 |
4 | 930900198306141777 | 2、3、4、5、6、7、9、11 | 无效 |
5 | 9a0900198306141777 | 1、3、4、5、6、7、9、12 | 无效 |
6 | 9a!@!¥%98306141777 | 1、3、4、5、6、7、9、13 | 无效 |
7 | 152526189907214777 | 1、2、4、5、6、7、9、14 | 无效 |
8 | 152526220330214777 | 1、2、4、5、6、7、9、15 | 无效 |
9 | 131127197813125354 | 1、2、3、5、6、7、9、16 | 无效 |
10 | 131127197811325354 | 1、2、3、5、6、7、9、17 | 无效 |
11 | 620721198202002320 | 1、2、3、4、6、7、9、18 | 无效 |
12 | 620721198202332320 | 1、2、3、4、6、7、9、19 | 无效 |
13 | 5226351978082722b3 | 1、2、3、4、5、7、9、20 | 无效 |
14 | 5226351978082722@3 | 1、2、3、4、5、7、9、21 | 无效 |
15 | 13112219740412397G | 1、2、3、4、5、6、9、22 | 无效 |
16 | 13112219740412397& | 1、2、3、4、5、6、9、23 | 无效 |
17 | 13112219740412397 | 1、2、3、4、5、6、9、24 | 无效 |
18 | 1311221974041239780 | 1、2、3、4、5、6、7、9、25 | 无效 |
19 | NULL | 26 | 无效 |