This document discusses various techniques for white-box testing including statement coverage, branch coverage, path coverage, condition coverage, and loop testing. It provides examples of control flow graphs and describes designing test cases to execute every statement, branch, path, and condition. Loop testing techniques are outlined such as varying loop boundary values and testing nested, concatenated, and unstructured loops.