覆盖强度由低到高依次为 语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖
def baihe(a, b, c): if a > 0 and b > 0: c = c / a if a > 1 or c > 1: c = c + 1 c = b + c
首先画出程序流程图:
语句覆盖:最弱逻辑覆盖,每条语句至少执行依次。如a=2, b=2, c=4 可以满足I Ⅱ Ⅲ Ⅳ Ⅴ都执行
判定覆盖:又称分支覆盖,流程图中每个判定作为一个整体,取值真、假至少一次。如例子中有两个判定,则用TF、FT或 FF、TT即可(只要一个判定的真假都有即可)
条件覆盖:每个判断中每个条件的可能取值至少满足一次。但这种情况下保证不了判定覆盖
条件判定覆盖:所有条件至少执行一次取值同时所有判断的可能结果至少执行一次,是判定覆盖和条件覆盖的交集
路径覆盖:使程序中的每条组合路径都至少执行一次。如例子中有两个判定,两个判定组合共有YN NY YY NN 4种