白盒测试主要使用逻辑覆盖测试方法,包括语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆益等。
语句覆盖:程序中的每个可执行语句至少被执行一次。能发现语句错误,但不能发现逻辑错误。
判定覆盖:也称分支覆盖,程序中的每个判定的取真分支和取假分支至少执行一次。能发现逻辑错误,但不能发现组合判断中的条件错误。
条件覆盖:程序每个判定中每个条件的可能取值至少满足一次。能发现条件错误,但不能发现逻辑错误。
判定-条件覆盖:每个条件中的所有可能取值至少执行一次,同时,每个判定的可能结果至少执行一次。
条件组合覆盖:每个判定中的所有的条件取值组合至少执行一次。
路径覆盖:用例覆盖程序中的所有可能的执行路径。如果路径数很多,会变得不切实际。




在六种逻辑覆盖标准中,语句覆盖标准最弱的。
语句覆盖不能准确的判断运算中的逻辑关系错误。


- 只要满足了判定覆盖标准就一定满足语句覆盖标准。
- 判定覆盖会忽略条件中取或(or)的情况。


- 条件覆盖比判定覆盖,增加了对判定中所有条件的测试。
- 但条件覆盖并不能保证判定覆盖。


满足判定-条件覆盖标准一定能够满足条件覆盖、判定覆盖和语句覆盖
判定条件覆盖会忽略条件中取或(or)的情况。


- 条件组合覆盖能满足判定覆盖、条件覆盖、判定-条件覆盖,也就包括语句覆盖
- 条件组合覆盖不能保证所有路径被执行


- 路径覆盖可以对程序进行彻底的测试,比前面五种覆盖面都广
- 但是满足路径覆盖,并不一定能满足条件覆盖,也就不能满足条件组合覆盖




