逻辑覆盖包括:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖。
语句覆盖是指设计若干测试用例,使程序中的每个可执行语句至少执行一次;
针对上例,如果选择a=2,b=0,x=3,则程序按照路径ace执行,这样,程序段中的四个语句均得到执行,从而达到了语句覆盖。如果a=2,b=1,x=3,则程序按照路径abe执行,便未能达到语句覆盖。
判定覆盖是指设计若干测试用例,使程序中的每个判断真假的分支至少遍历一次;
条件覆盖是指设计若干测试用例,使程序中的每个条件的可能取值至少满足一次;
判定/条件覆盖是指选择足够的测试用例,使得同时满足判定覆盖和条件覆盖
条件组合覆盖是指选择足够的测试用例,使得程序中每一个分支判断中的每一个条件的每一种可能组合结果都至少被执行一次;
路径覆盖是指选择足够的测试用例,使得程序中所有的可能路径都至少被执行一次。