Achieved when every branch from a node is executed at least once. You need at least one true and one false evaluation for each predicate. This can be achieved with D+1 paths in a control flow graph with D 2-way branching nodes and no loops.

Problems

  • Short circuit evaluation means that many predicates might not be evaluated
  • A compound predicate is treated as a single statement.
  • If there are n clauses, there are combinations but only 2 are tested
  • Only a subset of all entry-exit paths are tested