White-box testing (also known as clear box
testing, glass box testing, and transparent box testing
and structural testing) tests internal structures or
workings of a program, as opposed to the
functionality exposed to the end-user. In white-box
testing an internal perspective of the system, as well
as programming skills, are used to design test cases.