TA的每日心情 | 无聊 前天 09:05 |
---|
签到天数: 1050 天 连续签到: 1 天 [LV.10]测试总司令
|
评估标准:逻辑覆盖率
一、语句覆盖 :被测的语句/全部的语句
num = int (input("请输入数字"))
if num > 0:
num+=1
else:
num-=1
以上代码片段中,需要执行的语句有3句:
若输入数字2,会执行的语句有2,则语句覆盖率为2/3。
二、分支、条件覆盖率:
username = input("请输入用户名")
password = input("请输入密码")
if username== 'admin' and password == '123456':
print("登录成功")
else:
print("登录失败")
以上代码片段中,有一个if判断,总共2个分支(只计算if判断条件)。
两个条件判断,总的判断条件有4个,username的T或F,password的T或F。
若输入username== 'admin' and password == '123456',则语句覆盖率为1/2,条件覆盖率为2/4。
若输入username== 'ad' and password == '123456',则语句覆盖率为1/2,条件覆盖率为1/4。(因为username和passwor条件判断使用and连接,username为F时,passw则不用在继续判断)
username = input("请输入用户名")
password = input("请输入密码")
if username== 'admin' or password == '123456':
print("登录成功")
else:
print("登录失败")
以上代码片段,若输入username== 'ad' and password == '123456',则语句覆盖率为1/2,条件覆盖率为2/4。
三、分支条件覆盖率:分别计算分支覆盖率和逻辑覆盖率,然后分子和分母分别相加。
四、路径覆盖率:
路径:从开始到结束的过程。
计算方式:执行判断和语句是经过的路径数量 / 总的可执行路径数量。
a = int (input("请输入数字"))
a = int (input("请输入数字"))
if a > 0 or b<0:
语句3
elif a == 1 and b == 2:
语句4
else:
语句5
根据以上代码片段,判断逻辑覆盖率:
输入a = -1,b=2:
语句覆盖率:3/5
分支覆盖率:2/4
条件覆盖率:FF 2/4+ F 1/4 = 3/8
分支条件覆盖率:2/4+3/8=5/12
路劲覆盖率:1/3
|
|