Black Box testing: it’s kind of testing where the tester doesn’t know the architecture of the software he is testing. These tests can either be functional or non-functional. It’s high-level testing that’s meant to test the behavior of the software.
White box testing: White box testing is used to test the internal structure of the system. In this type of testing, usually code statements, branches conditions, etc. are covered. White box testing is considered a low-level testing often called a glass box, transparent box or code base testing.