black box (black box testing)

Contributor(s): Matt Heusser

Black box testing assesses a system solely from the outside, without the operator or tester knowing what is happening within the system to generate responses to test actions. A black box refers to a system whose behavior has to be observed entirely by inputs and outputs. Even if the internal structure of the application under examination can be understood, the tester chooses to ignore it.

Black box is a software testing style that can apply to different test methodologies.

It compares to white or clear box testing techniques, where the tester considers internal workings of the application code, such as path coverage, branch coverage, memory leaks and exception handling.

Black box testing techniques and examples

The multitudinous combinations of possible inputs, states and time sequences make complete testing of software programs impossible. The software program variations make it a challenge to choose the most powerful black box tests. Then testers must draw conclusions from that limited subset of tests.

Some black box testing techniques reduce the input space into groups so testers can take a subset of each group to examine:

  • Equivalence class partitioning divides software data into equal partitions in order to test each section.
  • Boundary value analysis tests for errors within input values that range from one end of a boundary to the other.
  • All-pairs testing uses any combination in pairs of data input to check parameters for bugs.

This video delves into greater
detail about what black box testing
is and its significance for enterprises.

Another approach to black box testing is to plan defined test cases that target a specific feature, or provide regression testing. For example, in his book Black-Box Testing: Techniques for Functional Testing of Software and Systems, Boris Beizer, software engineer and author, creates examples where the entire test plan derives from the application's specification, without looking at how the code operates.

Predefined cases reduce test results variation, which leads to the minefield problem, also known as reduced application test coverage over time. Preplanned tests also prohibit the results from influencing what the tester will do next, commonly referred to as exploratory testing.

A look at black box testing

Benefits of black box testing

Black box testing separates the tester from the code creator. This software testing technique forces the team to see it from an outsider's view. The black box tester acts from the user's perspective. This creates both social distance and critical distance between software development and test, which makes it more likely that the tester will manipulate the application, referred to as the box, in a manner its creator had not considered.

Clear box testing requires setup and instrumentation, or at least poring over code, while most black box techniques can begin immediately; the operator simply tries to use the software. A system could behave correctly as a black box, but still contain defects in the code itself.

Black boxes outside of software

In telecommunications, a black box is a resistor that connects to a phone line that makes it impossible for the telephone company's equipment to detect when a call has been answered.

In data mining, a black box is an algorithm or a technology that doesn't provide an explanation of how it works.

In film making, a black box is a dedicated hardware device: equipment that is specifically used for a particular function.

In theater and television, a black box is an unfurnished studio.

In the financial world, a black box is a computerized trading system that does not make its rules easily available.

This was last updated in March 2018

Continue Reading About black box (black box testing)

Dig Deeper on Software testing tools and techniques

Join the conversation


Send me notifications when other members comment.

Please create a username to comment.

How does your enterprise use black box testing?
they prevent starvation
We’re can I find a black box ?