White-box testing

White-box testing checks the internal workings of the software rather than the user experience. It looks at the source code and follows different paths through the code, such as all of the possible branches of if...else statements.

In addition, white-box testing considers all the possible connections between the different parts of an application. So, not only will a particular unit, such as a class, be looked at, but also all of the classes within a module and all of the modules within a program.

The problem with white-box testing is that it can only identify problems in code that has been implemented. If a particular condition is marked as TODO, but no logic has been written to even call the condition, such as a simple code stub, then testing won't be able to identify that a project requirement is missing.

White-box testing can include the following: