标题: 如何实现逻辑覆盖率之单元测试? [打印本页] 作者: lsekfe 时间: 2022-12-22 13:29 标题: 如何实现逻辑覆盖率之单元测试? 评估标准:逻辑覆盖率 一、语句覆盖 :被测的语句/全部的语句
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