liveBook · Manning

System under test

A system under test is the software, hardware, component, configuration, or other subject whose behavior is exercised and evaluated by testing.

How 4 Manning books explain it

Unit Testing Principles, Practices, and Patterns

The system under test is the class, component, or larger unit whose behavior a test exercises and verifies.

How it is used
Frames unit-test boundaries and clarifies which behavior or code is being verified.
How deep it goes
Contrasts class-centered and behavior-centered boundaries, then demonstrates each with collaborator-isolation examples.
Examples
Uses customer purchases, store inventory, mocks, and interaction verification to contrast classical and London-style tests.
What you can do after
Evaluate whether a test verifies meaningful behavior or over-specifies the SUT's implementation and collaborator interactions.

Read how Unit Testing Principles, Practices, and Patterns explains system under test →

The Art of Unit Testing 3e

A system under test is the subject, system, suite, component, class, or code being tested.

How it is used
Names the production behavior a unit test invokes and evaluates.
How deep it goes
Defines the SUT and relates it to entry points, exit points, and units of work without detailing framework internals.
Examples
Uses `sum('1,2')` and `verifyPassword` with a failing rule as test targets.
What you can do after
Evaluate/understand which production behavior a test targets and name that behavior, scenario, and expected result clearly.

Read how The Art of Unit Testing 3e explains system under test →

gRPC Microservices in Go

A system under test is the software element whose behavior is being evaluated, ranging from a class or layer to an entire application.

How it is used
Identifies the exact software element targeted by a test, from a class or layer to a service or entire application.
How deep it goes
Defines scope and test phases, then stops short of prescribing one testing strategy or dependency setup.
Examples
Uses Fibonacci testing, an Order service, MySQL dependencies, test containers, and mocked PaymentPort and DBPort interfaces.
What you can do after
Evaluate/understand behavior by isolating a target, controlling dependencies, and verifying expected results across test scenarios.

Read how gRPC Microservices in Go explains system under test →

Shipping Go: Develop, deliver, discuss, design, and go again

A system under test is the bounded software unit whose behavior is evaluated by a test.

How it is used
Structures testing around bounded units whose inputs and outputs can be evaluated independently.
How deep it goes
Defines black-box boundaries and identifies service, handler, and server roles, but does not descend into testing internals.
Examples
Uses a Go translation service, HTTP handler, server, and given-when-then translation scenario.
What you can do after
Build testable service, handler, and server boundaries, then evaluate behavior through inputs and expected outputs.

Read how Shipping Go: Develop, deliver, discuss, design, and go again explains system under test →

Related concepts

These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.