Software testing is broadly divided into three major software testing techniques, Black box testing, White box testing and Gray box testing.
Black box testing technique is a testing strategy based solely on requirements and specifications.Black box testing requires no knowledge of internal paths,structures, or implementation of the software being tested.
White box testing technique is a testing strategy based on internal paths, code structures, and implementation of the software being tested. White box testing generally requires detailed programming skills.
There is one more type of testing called gray box testing technique . In this we look into the “box” being tested just long enough to understand how it has been implemented. Then we close up the box and use our knowledge to choose more effective black box tests.
black box testing technique is most popular technique as it simulate the end user scenarios.