Black Box Testing is testing without any knowledge of the inner workings of the item being tested. E.g., when black box testing is used to software engineering, the tester would only know the “valid” inputs and what the desired outputs should be, but not how the program in reality comes at those outputs. It’s because of this that black box testing can be considered validation with reference to the specifications, no additional knowledge of the application under test is necessary. Because this reason, the tester and the programmer can be independent of one another, avoiding coder bias towards his own work.
This process of test design is applicable to all levels of software testing: unit, integration, functional testing, system and acceptance. The higher the level, and therefore the greater and a lot complex the box, the more one is forced to use black box testing to simplify. Although this process can uncover unimplemented parts of the specification, one can’t be certain that all existent paths are validated.
Advantages of Black Box Testing
1. More efficient on larger units of code than white box testing
2. Tester needs no knowledge of implementation, including particular programming languages
3. Tester and coder are autonomous of each other
4. Validations are done from a End user’s point of view
5. Will assist to reveal any ambiguities or inconsistencies in the specifications
6. Test cases can be planned as soon as the specifications are done
Disadvantages of Black Box Testing
1. Just a low number of potential inputs can actually be validated, to test every possible input stream would take almost forever
2. Without clean and concise specs, test cases are hard to design
3. There can be unnecessary repetition of test inputs if the tester is not informed of test cases the programmer has already tried
4. Might allow for many program paths untested
5. Can’t be directed towards particular sections of code which may be very complex (and hence more error prone)
6. Almost testing associated enquiry has been addressed toward white box testing