White box testing, also called glass box or transparent testing, involves testing the internal structure or code of a system. It requires knowledge of the system's code and tests each statement, branch, and path of the code. Statement coverage tests that each statement is executed at least once, branch coverage tests all possible outcomes of conditions, and path coverage tests all possible paths through the code. Together these coverage types aim to thoroughly test the internal logic and functionality of the system.