liveBook · Manning

System testing

As explained in Shipping Go: Develop, deliver, discuss, design, and go again

System testing evaluates the overall behavior of an integrated software system.

System testing checks the behavior of integrated modules through their interface rather than testing isolated implementation details. It can depend on another part of the same system, so changes in that dependency may affect the test. section 3.5 section 3.8

A practical system-test workflow is:

  • Assert response content together with system-level status codes. section 3.5

Testing a translation endpoint

A handler test sends GET requests to /hello and /hello?language=german, then checks status, language, and translation fields. Adding an unsupported language expects HTTP 404, making the endpoint contract explicit.

How Shipping Go: Develop, deliver, discuss, design, and go again covers it

How deep it goes
Explains interface-level integration, assertions, and failure cases, while deferring isolation from the integrated service.
Examples
Uses a Go translation API with table-driven requests, JSON responses, query parameters, and unsupported-language 404 cases.
What you can do after
Apply it via Go's httptest package to verify handler responses, integrated service behavior, and HTTP contracts.
How it connects
Connects unit testing, automated testing, service integration, and HTTP status codes.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Shipping Go: Develop, deliver, discuss, design, and go again. The section links point to the parts of the book it draws on.