In Software Testing: What is Black-Box Testing?

  • July 14, 2021

Within the world of software testing, there are countless terms, steps, and types of tests. In that sense, it is important to know each of the processes that integrate software testing. In this opportunity, we will be talking about black-box testing.

In Black Box Testing, the tester performs the test of an application without knowing the inner workings of the application being tested.

Because black box testing is not related to the underlying code, the techniques can be derived from the requirements documents or design specifications and therefore testing can begin as soon as the requirements are written.


Boundary Value Analysis Testing Technique

Boundary value analysis, BVA, tests the behavior of a program at limits. When verifying a range of values, after selecting the data set found in the valid partitions, the next thing is to check how the program behaves at the boundary values of the valid partitions. Boundary value analysis is most common when checking a range of numbers.


State transition technique

The state transition testing technique is used when some aspect of the system can be described in what is called a “finite state machine”. This simply means that the system can be in a (finite) number of different states, and the transitions from one state to another are determined by the rules of the “machine”.

This is the model on which the system and the tests are based. Any system in which you get a different output for the same input, depending on what happened before, is a finite state system.


Equivalence partition testing technique

The idea behind the equivalence partition testing technique is to eliminate the set of input data that causes the system to behave the same way and produce the same result when testing a program.

The process of the equivalence partitioning technique involves identifying the set of data as an input condition that gives the same result when running a program and classifying them as an equivalent set of data and partitioning them from another equivalent set of data.


Advantages of black-box testing

The test is unbiased because the designer and the evaluator are independent of each other.
The tester does not need knowledge of any specific programming language.
The test is performed from the point of view of the user, not the designer.
Test cases can be designed as soon as the specifications are completed.


Disadvantages of black-box testing

Testing can be redundant if the software designer has already executed a test case.
Test cases are difficult to design.

Testing every possible input stream is unrealistic because it would take an excessive amount of time; therefore, many program paths will not be tested.