首页 > 技术文章 > 白盒测试

wang-mengmeng 2020-03-22 20:22 原文

覆盖强度由低到高依次为 语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖

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种

 

推荐阅读