Black box testing is a type of software testing in which the functionality of the software is not known. The testing is done without the internal knowledge of the products.
White box testing techniques analyze the internal structures the used data structures, internal design, code structure and the working of the software rather than just the functionality as in black box testing. It is also called glass box testing or clear box testing or structural testing.