语句覆盖
程序中的每个可执行语句至少被执行一次。
语句覆盖是最弱的逻辑覆盖准则。
判定覆盖(分支覆盖)
程序中每个判断的取真和取假分支至少经历一次,即判断真假值均被满足。
判定覆盖具有比语句覆盖更强的测试能力,但仍是弱的逻辑覆盖。
条件覆盖
每个判断中每个条件的可能取值至少满足一次。
条件覆盖只能保证每个条件至少有一次为真,而没有考虑整个判定结果。
判定条件覆盖
判断中所有条件的可能取值至少执行一次,且所有判断的可能结果至少执行一次。
判定条件覆盖能够同时满足判定、条件两种覆盖标准。
没有考虑条件的各种组合情况。
条件组合覆盖
判断中每个条件的所有可能取值组合至少执行一次,并且每个判断本身的结果也至少执行一次。
条件组合覆盖准则满足判定覆盖、条件覆盖和判定条件覆盖准则。
覆盖了所有组合,但覆盖路径有限。
路径覆盖
覆盖程序中的所有可能的执行路径。
•覆盖率数据只能代表测试过哪些代码,不能代表是否测试好这些代码。
•较低的测试覆盖率能说明所做的测试还不够,但反之不成立。
•路径覆盖> 判定覆盖> 语句覆盖
•测试人员不能盲目追求代码覆盖率,而应该想办法设计更好的测试用例。
•测试覆盖率应达到多少需要考虑软件整体的覆盖率情况以及测试成本。