Black box and white box testing are the testing methods for software verification.
In black box testing, the whole system is treated as black box and user/tester does not has any idea about the inside structure of the system. The user simply enters the input and verifies the output. User refers to the requirements and verifies the results. That is why, it is also called Specifications based testing. Other names for black box testing are: Functional testing, closed-box testing, behavioral testing.
In white box testing, the user/tester is aware of internal structure, algorithm and code of the system. The user tests the software according the knowledge of inside structure of the system and verifies the system. Other names for white box testing are: Structural testing, clear-box testing, glass-box testing.
In black box testing, the whole system is treated as black box and user/tester does not has any idea about the inside structure of the system. The user simply enters the input and verifies the output. User refers to the requirements and verifies the results. That is why, it is also called Specifications based testing. Other names for black box testing are: Functional testing, closed-box testing, behavioral testing.
In white box testing, the user/tester is aware of internal structure, algorithm and code of the system. The user tests the software according the knowledge of inside structure of the system and verifies the system. Other names for white box testing are: Structural testing, clear-box testing, glass-box testing.