Here the testing is done from the viewpoint of user and not the software developer. Therefore only the functionalities of the software is checked to see if the software is doing what it was initially intended to do. In this way one can know if the aim of the software is achieved or not.
Blackbox test design treats the system as a black box... :) how obvious!!! well treating as black box implies that it doesn't explicitly use knowledge about system's internal structure. Black-box test design is usually described as focusing on testing functional requirements. Synonyms for blackbox include: behavioral, functional, opaque-box, and closed-box.
The Primary focus of the tester is to find out WHAT the software is doing, whether it complies to its intended aim and whether it gives the expected results... and all this without caring HOW the software is doing it. Therefore, he never looks at the programming code. He only makes use of the software specifications and requirements.
The tester determines valid and invalid input and checks if corresponding results are the expected results or not.
Sometimes blackbox testing is used for 'behavioral testing' but there is a slight difference between them. While blackbox testing strictly forbids use of internal details of the system, behavioral testing only discourages it.
Now you are clear with the basic concept of blackbox testing .
Also blackbox testing occurs throughout the software development and Testing life cycle i.e in Unit, Integration, System, Acceptance and regression testing stages. Lets look at some benefits of blackbox testing. The software designer and tester are independent of each other. Therefore the test is unbiased.Tester need not have knowledge of any programming language. Testing is done from the viewpoint of the user.Testing can be done as soon as specifications are complete.
Some disadvantages could be: Test cases are difficult to design.Test can be redundant if the designer has already run a test case Testing for all inputs is unrealistic. It consumes a lot of time and there is a possibility of missing some inputs. Also it is difficult to identify all inputs for the software.
Characteristics of blackbox testing:
No Internal Detail
Does system meet business requirements
Tester and Designer independent
User point of view
Blackbox testing focuses on application externals. We can call it requirement based or specification based.