身份證號:六位數字地址碼+八位數字出生日期碼+三位數字 順序碼+一位數字校驗碼
地址碼:表示編碼對象常住戶口所在縣(市、鎮、區)的行政區劃代碼
出生日期碼:八位年月日格式。前4位表示一個正確的年份(如1900~2015年,不能超過當前年份);中間2位表示01~12月,最後2位表示01~31日;日期還要遵循大月小月、閏年平年的規則。
順序碼:000~999的純數字。其中最後一位奇數分給男性,偶數分給女性。
數字校驗碼:0~9數字或X
測試用例:
地址碼:
(1)有效等價類:參考具體行政區劃得出6位數字,如330183
(2)無效等價類:
不是行政區得出的6 位數字
出生日期碼:
(1)有效等價類:
1.隨機抽取幾個正確的日期
2.平年、大月(1、3、5、7、8、10、12)測30號和31號
3.平年、小月(4、6、9、11)測30號
4.平年、2月測28號
5.閏年、2月測29號
6.較早年份,如1900年,可以根據需求而定
7.較近年份,如20151221,根據需求而定
8.01月、12月、01號、31號的有效日期
(2)無效等價類:
1.平年、大月測32號
2.平年、小月測31號
3.平年、2月測29號、30、31號
4.閏年、2月測30號、31號
5.00月、13月及以上、00號、32號及以上
6.空
7.非8位數字
8.全部爲空格
順序碼:
(1)有效等價類:
1.000~999的奇數
2.000~999的偶數
(2)無效等價類:非3位數字(包括空格、空)
數字校驗碼:
(1)有效等價類:
1.按照一定規則計算前17位得出(視需求而定)
2.0~9
3.X
4.x
(2)無效等價類:
1.非1位數字(包括空格、空)
2.非X和x的字母
其他(整體)無效等價類:
1.17位數字、19位數字
2.15位合法的身份證號
3.14位數字、16位數字
4.號碼中含有特殊字符、中文、字母(除最後一位是X或x)、全角字符、空格
5.爲空
6.全部爲空格