3. 条件覆盖
条件覆盖是指设计测试用例,使得判定中的每个条件获得各种可能的结果,每个条件至少有一次取真值,有一次取假值。比如对于代码if a > 0 and b < 10,测试用例可以是a = 1, b = 5和a = -1, b = 15。条件覆盖的优势在于对条件的取值进行了更细致的测试,但它可能无法保证判定结果的完整性。
4. 判定 - 条件覆盖
判定 - 条件覆盖要求被测试程序中的每个判定本身的判定结果(真假)至少满足一次,同时,每个逻辑条件的可能值(真假)也至少被满足一次。例如对于代码if (a > 0 and b < 10) or (c > 5 and d < 20),测试用例需要覆盖各种组合情况。判定 - 条件覆盖在一定程度上弥补了判定覆盖和条件覆盖的不足,但仍然可能存在某些复杂逻辑错误无法被发现的情况。