liveBook · Manning

Black-box testing

As explained in Object-Oriented Software Design in C++

A testing approach that evaluates software through observable inputs and outputs without examining its internal implementation.

Black-box testing evaluates an application through observable inputs and outputs without requiring knowledge of its internal implementation. It checks whether the software meets its functional and nonfunctional requirements. section 3.8

An external black-box test plan records:

  • The input data or user action for each test. section 3.8
  • The expected result that follows from that input or action. section 3.8
  • Tests that can be run by test engineers who were not part of development. section 3.8

Repository search

For an application that enters books into a repository and searches by target book attributes, tests can provide user actions or input data and compare the observed results with the specified expectations. section 3.8

How Object-Oriented Software Design in C++ covers it

How deep it goes
Defines external tests through inputs, actions, and expected results, without examining implementation internals.
Examples
Uses book-entry and repository-search behavior, plus specified input actions and expected results.
What it assumes
Assumes stated functional and nonfunctional requirements, while avoiding any need to understand implementation internals.
What you can do after
Evaluate whether application behavior matches stated requirements through externally observable tests.
How it connects
Connects functional specifications with functional requirements, nonfunctional requirements, use cases, and software validation.

Also explained in

Compare how 6 books explain black-box testing →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Object-Oriented Software Design in C++. The section links point to the parts of the book it draws on.