阿里面試題-判斷是不是一個IP地址的測試用例設計(Python實現)

寫在前面

今天面試阿里巴巴,太緊張了,回答的不好,在此記錄和分享

IP地址規則

0.0.0.0~255.255.255.255

由上面的規則我們可以劃分四段A.B.C.D

A段的測試用例設計(BCD的用例設計與A相同)

等價類劃分

有效等價類 無效等價類
數字 非數字
0~255 <0
>255
3個分隔符

>3個的英文標點符號分隔符

<3個的英文標點符號分隔符

英文標點分隔符 非英文標點符號分隔符
分隔規則A.B.C.D 其他分隔規則AB..C.D

邊界值分析補充

0~255的數字範圍可以進行邊界值分析法進行補充測試用例:-1,0,1,100,254,255,256

Python實現如下

def isip(ip:str):
    if not isinstance(ip, str):
        print('請輸入一個字符串')
        return False
    if ip.count('.') !=3:
        print('分隔符號數量不對')
        return False
    iplist = ip.strip().split('.')
    for i in range(4):
        if iplist[i] == '':
            print('IP包含空字符')
            return
        try:
            iplist[i] = int(iplist[i])
        except:
            print('IP包含非數字')
            return False
        if 0<=iplist[i]<=255:
            continue
        else :
            print('IP超出數字範圍')
            return False
    print('合理的IP地址')

#設計測試數據校驗程序的正確性
isip('1.2.2.3') #正常的ip
isip('a.2.2.3') #包含非數字
isip('.2.2.3')  #有字段爲空
isip('1.2.4.2.3') #多出一個段
isip('1.2.3')    #少一個段
isip(1)      #非字符串
isip('123')  #無分割符
isip('1.2#2.3') #其他分割符
isip('') #爲空
isip('1.2.2.300') #數字超出範圍
isip('256.2.2.1')  #數字超出範圍

最後

暫時想到這麼多,歡迎大家補充,祝大家面試成功,加油!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章