In Black-box testing, a tester doesn't have any information about the internal working of the software system. Black box testing is a high level of testing that focuses on the behavior of the software. It involves testing from an external or end-user perspective. Black box testing can be applied to virtually every level of software testing: unit, integration, system, and acceptance.
White-box testing is a testing technique which checks the internal functioning of the system. In this method, testing is based on coverage of code statements, branches, paths or conditions. White-Box testing is considered as low-level testing. It is also called glass box, transparent box, clear box or code base testing. The white-box Testing method assumes that the path of the logic in a unit or program is known.
It also knowns as data-driven, box testing, data-, and functional testing.
It is also called structural testing, clear box testing, code-based testing, or glass box testing.
Programming knowledge is not needed to perform Black Box testing.
Programming knowledge is required to perform White Box testing.
Implementation knowledge is not requiring doing Black Box testing.
Complete understanding needs to implement WhiteBox testing.