Black Box Testing

Black Box Testing is not a type of testing; it instead is a testing strategy, which does not need any knowledge of internal design or code etc. As the name "black box" suggests, no knowledge of internal logic or code structure is required. The types of testing under this strategy are totally based/focused on the testing for requirements and functionality of the work product/software application. Black box testing is sometimes also called as "Opaque Testing", "Functional/Behavioral Testing" and "Closed Box Testing".

The base of the Black box testing strategy lies in the selection of appropriate data as per functionality and testing it against the functional specifications in order to check for normal and abnormal behavior of the system. Now a days, it is becoming common to route the Testing work to a third party as the developer of the system knows too much of the internal logic and coding of the system, which makes it unfit to test the application by the developer.

In order to implement Black Box Testing Strategy, the tester is needed to be thorough with the requirement specifications of the system and as a user, should know, how the system should behave in response to the particular action.

Advantages of Black Box testing include:
•The test is unbiased because the designer and the tester are independent of each other.
•The tester does not need knowledge of any specific programming languages.
•The test is done from the point of view of the user, not the designer.
•Test cases can be designed as soon as the specifications are complete.

Disadvantages of Black Box testing include:
•The test can be redundant if the software designer has already run a test case.
•The test cases are difficult to design.
•Testing every possible input stream is unrealistic because it would take a inordinate amount of time; therefore, many program paths will go untested.