白盒测试中的六种覆盖方法及案例分析
语句覆盖 是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每一个语句至少执行一次,其覆盖标准无法发现判定中逻辑运算的错误; 判定覆盖<又叫分支覆盖率> 是指选择足够的测试用例,使得运行这些测试用例时,每个判定的所有可能结果至少出现一次,但若程序中的判定是有几个条件联合构成时,它未必能发现每个条件的错误; 条件覆盖 是指选择足够的测试用例,使得运行这些测试用例时,判定中每个条件的所有可能结果至少出现一次,但未必能覆盖全部分支; 判定 / 条件覆盖 是使判定中每个条件的所有可能结果至少出现一次,并且每个判定本身的所有可能结果也至少出现一次; 修正条件判定覆盖 满足条件与判定覆盖,并且需要确定每个条件能够影响到包含的判定的结果。 条件组合覆盖 是使每个判定中条件结果的所有可能组合至少出现一次,因此判定本身的所有可能解说也至少出现一次,同时也是每个条件的所有可能结果至少出现一次; 路径覆盖 是每条可能执行到的路径至少执行一次; 其中 语句覆盖是一种最弱的覆盖 ,判定覆盖和条件覆盖比语句覆盖强, 满足判定 / 条件覆盖标准的测试用例一定也满足判定覆盖、条件覆盖和语句覆盖 ,条件组合覆盖是除路径覆盖外最强的, 路径覆盖也是一种比较强的覆盖,但未必考虑判定条件结果的组合,并不能代替条件覆盖和条件组合覆盖 。 不论那种覆盖方法,都不能保证程序的正确性 。 白盒测试中的六种覆盖方法