寫在前面
今天面試阿里巴巴,太緊張了,回答的不好,在此記錄和分享
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') #數字超出範圍
最後
暫時想到這麼多,歡迎大家補充,祝大家面試成功,加油!