What is Black Box Testing?
Also known as Functional Testing. In Black Box Testing method testing is done without knowing the internal codes and structure of the program. The testing is done from the customer's point of view and the tester knows only about the inputs and the expected outputs of the application. Tester is not aware of how the requests are being processed by the software and giving the output results.
Example:
In case of Google or any other search engine, the user enters text in the browser. The search engine locates and retrieves the data results. The user is not aware of the source of the process. A black box software tester selects a set of valid and invalid inputs and checks for valid output responses.
Definition by ISTQB: Testing, either functional or non-functional, without reference to its internal structures.
It is called "BlackBox" because software is like a black box inside which tester cannot see. The main purpose of Black Box testing is to check whether the software is working as expected and meeting the customer requirements or not. It was designed as a method of analyzing client's requirements, specifications, and high-level design strategies.
Advantages:
- It is well suited and efficient for large scale segments.
- A tester can be non-technical. Highly qualified testers are not required and hence it is less expensive.
- Tests are done from user's point of view and are useful to verify the differences in the actual and system and specifications.
- Tests can be defined as soon as specifications are complete.
Disadvantages:
- The coverage is limited since only a selected number of tests are actually performed.
- As the tester has limited knowledge of the software, the testing is inefficient.
- The coverage is blind as the tester cannot target specific codes.
Black Box Testing Techniques
There are different techniques involved in Black Box testing.
- Equivalence Class
- Boundary Value Analysis
- Domain Tests
- Orthogonal Arrays
- Decision Tables
- State Models
- Exploratory Testing
- All-pairs testing