• 身份证的测试用例


    原文:https://blog.csdn.net/wang_shiwei/article/details/53609195

    身份证号:六位数字地址码+八位数字出生日期码+三位数字 顺序码+一位数字校验码

    • 地址码:表示编码对象常住户口所在县(市、镇、区)的行政区划代码
    • 出生日期码:八位年月日格式。前4位表示一个正确的年份(如1900~2015年,不能超过当前年份);中间2位表示01~12月,最后2位表示01~31日;日期还要遵循大月小月、闰年平年的规则。
    • 顺序码:000~999的纯数字。其中最后一位奇数分给男性,偶数分给女性。
    • 数字校验码:0~9数字或X

     

    测试用例:

    1、地址码:

    (1)有效等价类:

    • 参考具体行政区划得出6位数字,如330183

    (2)无效等价类:

    • 不是行政区得出的6 位数字

     

    2、出生日期码:

    (1)有效等价类:

    • 随机抽取几个正确的日期
    • 平年、大月(1、3、5、7、8、10、12)测30号和31号
    • 平年、小月(4、6、9、11)测30号
    • 平年、2月测28号
    • 闰年、2月测29号
    • 较早年份,如1900年,可以根据需求而定
    • 较近年份,如20151221,根据需求而定
    • 01月、12月、01号、31号的有效日期

    (2)无效等价类:

    • 平年、大月测32号
    • 平年、小月测31号
    • 平年、2月测29号、30、31号
    • 闰年、2月测30号、31号
    • 00月、13月及以上、00号、32号及以上
    • 非8位数字
    • 全部为空格

     

    3、顺序码:

    (1)有效等价类:

    • 000~999的奇数
    • 000~999的偶数

    (2)无效等价类:非3位数字(包括空格、空)

     

    4、数字校验码:

    (1)有效等价类:

    • 按照一定规则计算前17位得出(视需求而定)
    • 0~9
    • X
    • x

    (2)无效等价类:

    • 非1位数字(包括空格、空)
    • 非X和x的字母

     

    5、其他(整体)无效等价类:

    • 17位数字、19位数字
    • 15位合法的身份证号
    • 14位数字、16位数字
    • 号码中含有特殊字符、中文、字母(除最后一位是X或x)、全角字符、空格
    • 为空
    • 全部为空格
  • 相关阅读:
    2716 [Violet 3] 天使玩偶
    BZOJ1017魔兽地图DotR 樹形DP
    BZOJ1016最小生成树计数 最小生成树 + 排列组合
    BZOJ1014火星人prefix Splay維護序列 + 字符串哈希
    BZOJ1010玩具裝箱Toy
    BZOJ1009GT考试 DP + KMP + 矩陣快速冪
    BZOJ1008[HNOI2008]越狱
    BZOJ1006神奇的国度 弦圖染色 最大勢算法
    BZOJ1005明明的烦恼 Prufer + 分解質因數 + 高精度
    poj2182(线段树求序列第k小)
  • 原文地址:https://www.cnblogs.com/yinqanne/p/9655055.html
Copyright © 2020-2023  润新知