
In the field of science and technology, computing and engineering, a black box is understood as a device, system or object that is considered according to its inputs and outputs. Without any knowledge of its inner workings. To understand in more detail what is Black Box Testing, let’s check it out in the article below!
Table of Contents
What is Black Box Testing
Black box testing: is a method of software testing performed without knowing the internal structure of the software, is a way for testers to check that the system is like a black box, with no way of seeing. inside of the box.
It is also known as data oriented testing or in/out oriented testing.
Testers should build groups of input values that will fulfill most of the program’s functional requirements.
The tester’s approach to the system is to not use any knowledge of the internal programming structure of the system, considering the system as a complete structure that cannot be interfered with.
Black Box Testing is mainly done in Function test and System test.
This method is so named because software programs, in the eyes of testers, are like a black box; inside that one cannot see. This method tries to find errors in the following categories:
- Incorrect or missing functionality.
- Interface error.
- Error in data structure or external database access.
- Error behavior or performance.
- Initialization and termination of errors.
Every technique has its advantages and disadvantages. Systems often have to use many different testing methods to ensure the quality of the system when it reaches the user.
II. How to Test Black box testing
When implementing this testing technique, the tester does not need to care how the system works inside, no need to understand the source code. Usually, while doing black box testing, the tester will interact with the user interface of the system by providing input and checking the output without knowing the inner workings of the system. .
The following table lists the advantages and disadvantages of black box testing:
Advantages | Disadvantages |
Suitable and efficient when the number of command lines of the system is large. | Limited by coverage of test cases |
No need to access the source code. | Testing is inefficient, due to the fact that testers have limited knowledge of the system. |
Clearly distinguish the user’s point of view from the developer’s point of view through clearly defined roles. | There is no coverage, as testers cannot test the source code or focus on the faulty code. |
A large number of moderately skilled testers can test the application without much knowledge, programming language or operating system. | It is difficult to design most of the test cases for the system. |
Black box testing vs White box testing

Black box testing | White box testing | |
Definition | Black box testing is a software testing method used to evaluate software without regard to the internal structure of the program. | White box testing is a software testing method, used to test software that requires knowing the internal structure of the program. |
Responsible | Testing is done externally, not involving the software developer | Usually, the tests are done by the software developer. |
Usage level | Testing is applied at a high level such as: system evaluation (Sitem test), acceptance test (Acceptance test) | Testing is applied at a lower level like single test Unit Test, Integration Test |
Know how to program | No programming knowledge required | Requires certain programming knowledge. |
Know the implementation of the program | Does not require understanding the structure inside the function, and does not need to understand how to get the function | Requires understanding how the internal structure of the function is implemented. |
Base of Test Case | Black box testing is initiated based on specification document | White box testing is initiated based on detailed design documents |
Example
For a text box, enter an integer value from 1 to 100
Explain:
Applying boundary value analysis to the problem, there will be 2 ways to get the boundary value, which are 2 boundaries and 3 boundaries.
- The case of 2 boundaries (that is, at each boundary value will take 2 values) and there will be boundaries:
- At min: min -1, min , min + 1
- At max: max – 1, max, max + 1
So applying to the problem we have the following boundary values: 0; 1; 100; 101
- The case of 3 boundaries (that is, at each value we will take 3 values) we will have the boundaries:
- At min: min -1, min , min + 1
- At max: max – 1, max, max + 1
So applying to the problem we have the following boundary values: 0; 1; 2; 99; 100; 101
Note: It is common to use a combination of two equivalence partitioning techniques and boundary value analysis together so that the problem does not have a missing case or a redundancy of cases.
With the above problem applying both equivalence partitions and boundary values, it is necessary to test the cases:
Valid case: 1;50;100
Invalid case: 0;101
Thank you for watching, To follow more articles on manual testing, please visit the following link