Black-box testing is a method of software testing that examines the functionality of an application based on the specifications.
White box testing is a testing technique, that examines the program structure and derives test data from the program logic/code