liveBook · Manning

End-to-end testing

As explained in Learn Docker in a Month of Lunches, Second Edition

An end-to-end test verifies an application workflow across its externally observable components to simulate real user interaction.

End-to-end testing starts the whole application and runs automated checks for key user journeys. It verifies that the application holds together across its components rather than testing one component in isolation. section 16.3

A practical containerized workflow is:

  • Start the application and its supporting services with Docker Compose. section 16.3
  • Run a small automated smoke-test suite that makes web requests against the running application. section 16.3
  • Stop the application and supporting containers after the checks finish. section 16.3
  • Run the longer test stage after earlier build checks provide confidence, and fail the CI job when the workflow does not work. section 11.1 section 16.3

Run the smoke test locally

Use ./smoke-test.ps1 -Local to test locally built images. Run the script without the local flag when reproducing an issue with the latest images from the staging repository. section 16.3

Figure 11.1 The basic steps of a CI pipeline to build, test, and publish apps are all executed with Docker.
figure

Trace how containerized CI builds, tests, packages, and publishes application images. section 11.1

How Learn Docker in a Month of Lunches, Second Edition covers it

How deep it goes
Provides a procedural Docker Compose workflow and smoke-test commands, but limits checks to minimal application-level validation.
Examples
Uses web requests, a PowerShell smoke-test script, local images, staging images, and Linux and Windows CI workflows.
What it assumes
Assumes a Dockerized application and CI pipeline, while demonstrating how to assemble its services for automated checks.
What you can do after
Apply it via Docker Compose and smoke-test scripts to verify that a complete application starts and serves requests.
How it connects
Connects Docker Compose, containers, smoke testing, continuous integration, Docker images, and staging repositories.

Also explained in

Compare how 12 books explain end-to-end testing →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Learn Docker in a Month of Lunches, Second Edition. The section links point to the parts of the book it draws on.