define "white-box testing"
White-box testing allows you to base your tests on your knowledge of what the program is supposed to do (that is, its internal model). You choose parameters of the tests to exercise paths in the code through to expected outputs.