It means that in a black box test on a software design software tester only knows the inputs and what the expected results should be. Software tester doesn’t ever inspect the programming code and doesn’t require any further knowledge of the program other than its specifications.
There are some benefits of this kind of software testing:
- The test is done from the viewpoint of the user, not the designer
- The tester doesn’t require knowledge of any special programming languages
- The test is impartial because the designer and the tester are independent of each other
- Test cases can be designed as soon as the specifications are complete
There are some disadvantages of this kind of testing:
- The test cases are complex to design
- The test can be redundant if the software designer has already run a test case
It is unreal to test every possible input stream. The reason is that it would take a lot of time and consequently, many program paths go unchecked.
Black box testing can be supposed to be the type of software testing with deference to the specifications, no need for other knowledge of the program.
So software tester and the programmer can be independent of one another.
According to the nature of black box testing, the test planning can start as early as the specifications are written.
The contrary of this would be glass box testing, where test data are derived from direct examination of the code to be tested. For glass box testing, the test cases cannot be determined until the code has been written.
Both of these types of testing have benefits and shortcomings, but when they are used in complex, they help to ensure thorough testing of the software product.