Coverage criteria:
Statement coverage: requires every statement to be executed at least once
Branch coverage: requires each branch to be traversed at least once
Path coverage: requires all possible control flow paths through the program from entry to
exit is executed once
Use control flow to derive test cases and to measure test coverage
Control flow notation:
Circles(node) : program statement
Arrows (edge) : flow of control(edges must be terminate at a note)
Region: bounded by edges and nodes