TestOps
Operating the test infrastructure: environments and data that are available when needed, suites that finish quickly, and a flake rate low enough that a red build is believed.
Overview
Read the full TestOps guidance
Capabilities
Flake management
Measuring flake rate per test and quarantining persistent offenders, because a disbelieved suite has no value.
Suite runtime budgeting
A stated budget for how long feedback may take, enforced by moving or parallelising tests rather than by hope.
Test data management
Representative data that is generated or masked rather than copied wholesale from production.
Test environment provisioning
Environments available on demand rather than queued for, so testing is not rationed by scarcity.
Test parallelisation
Running suites concurrently with isolation strong enough that parallelism does not itself create flakiness.
Practices
Flake quarantine review
A recurring pass over quarantined tests so quarantine is a waiting room rather than a graveyard.
Test data refresh
Periodically regenerating or re-masking test data so it stays representative without drifting into real personal data.
Metrics
Environment wait time
How long an engineer waits for a usable test environment.
Unit: minutes. Good direction: down.
Flaky Test Rate
Share of test runs failing without a code change.
Unit: %. Good direction: down.
Suite runtime
Wall-clock time for the suite that gates a change, measured where it sits in the feedback loop.
Unit: minutes. Good direction: down.
Test flake rate
Share of test failures that pass on re-run without a code change — the number that decides whether red is believed.
Unit: percent. Good direction: down.
Tools
Allure Report
Test reporting that aggregates history, making flake and failure patterns visible across runs.
Visit site ↗GitHub Actions
Pipeline automation integrated with the repository: build, test, scan, and deploy workflows.
Visit site ↗Playwright
Browser automation framework with tracing and retry controls useful for diagnosing and containing flakiness.
Visit site ↗Testcontainers
Runs real dependencies in disposable containers so tests get an environment on demand instead of a shared one.
Visit site ↗
Architecture patterns
Reference architectures and their trade-offs live in the blueprints library.
Maturity
- L1 ReactiveRed builds are re-run rather than investigatedrequired stage
Flakiness has destroyed the signal, so failures are noise and genuine regressions ship behind them.
- L2 RepeatableFlake rate is measured per suiterequired stage
The size of the problem is known, which is the precondition for anyone being allowed to act on it.
- L3 StandardizedPersistent flakes are quarantined and environments are on demand
The signal is restored while fixes happen, and nobody waits in a queue for somewhere to run tests.
- L4 MeasuredSuite runtime is budgeted and enforced
Feedback time has a stated limit, held by moving or parallelising tests rather than by hoping.
- L5 OptimizedTest data is generated or masked by default
Representative data is produced deliberately rather than copied from production, and test infrastructure is run like production.
Maturity for testops is measured, not guessed — every score traces to your answers. See how maturity is scored.
Put it to work
Related Ops disciplines
- DevOps
DevOps is preceded by this area
- QAOps
QAOps complements this area
- Chaos Engineering
Chaos Engineering complements this area
Sources
- Tier 1 — PrimaryDORA Research Program ↗— Google Cloud / DORA(verified 2026-09-19)
- Tier 1 — PrimaryISO/IEC/IEEE 29119 — Software Testing ↗— ISO/IEC/IEEE(verified 2026-09-20)
- Tier 2 — AuthoritativeDORA — State of DevOps Research ↗— Google / DORA(verified 2026-09-20)
- Tier 2 — AuthoritativeISTQB — Certified Tester Foundation Level Syllabus ↗— ISTQB(verified 2026-09-20)