White Box Testing is a software testing method in which the internal structure/ design/ implementation of the item being tested is known to the tester. In White box testing need to programming knowledge.
Black box testing is the test the behavior of an application i.e. includes Functionality. It will cover the system testing as well. In Black bot testing the testing will not cover the internal part of the application i.e coding etc. In Black box testing there is no need the programing knowledge.