Docker
// Definition
The dominant container platform. A Dockerfile describes how to assemble an image (the blueprint); the Docker CLI builds and runs containers (live instances) from that image. In QA, Docker is used to spin up databases and third-party services in CI without local installation, to run Selenium Grid or Playwright browsers in reproducible headless environments, and to ensure test environments are identical across developer machines and build servers.
// Related terms
Container
An isolated runtime unit that packages an application with its dependencies, libraries, and configuration into a single portable artefact. Unlike VMs, containers share the host OS kernel and start in milliseconds. In testing, containers provide consistent, reproducible environments: the same Docker image that runs locally runs identically in CI. Common uses include spinning up databases, mock services, and headless browsers for automated test suites.
Test Environment
The infrastructure where tests run — hardware, OS, database, network, and configuration. Differences between test and production are a leading source of bugs that pass tests but fail in production.
Continuous Integration
The practice of merging code changes to a shared branch frequently, with automated builds and tests running on every change. Catches integration issues early and keeps the main branch always shippable.