写在前面
今天面试阿里巴巴,太紧张了,回答的不好,在此记录和分享
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') #数字超出范围
最后
暂时想到这么多,欢迎大家补充,祝大家面试成功,加油!