Black box testing - not based on any internal design or code. Tests are based on requirements and functionality.
White box testing - based on knowledge of the internal logic of the application's code.Tests are based on coverage of code statements,branches,paths,conditions.