Shift-right moves testing into production. Feature flags, synthetic monitoring and chaos experiments are now standard for any team that ships continuously.
The software testing industry spent a decade advocating for shift-left — move testing earlier, catch defects sooner, integrate quality into development rather than treating it as a gate at the end. Shift-left delivered real value: CI pipelines with automated test suites, TDD adoption, contract testing between services. But it also revealed the limits of pre-production testing. No matter how comprehensive your test suite, production will always contain conditions your test environments never replicated: real user behaviour at scale, infrastructure events, third-party API degradations, data states that emerge only from months of real usage. The response to this reality is shift-right testing — a disciplined approach to using production itself as a test environment.
Shift-right testing is the practice of extending quality assurance activities into the production environment, using live traffic and real infrastructure to validate system behaviour, detect defects, and gather quality signal that pre-production testing cannot provide. It does not replace pre-production testing — it complements it, covering the category of failures that only emerge under real-world conditions. The core principle is that production is not the end of quality assurance; it is the most information-rich environment available to a QA team, and deliberately instrumenting and experimenting in that environment produces quality improvements that no amount of pre-production testing can match.
Shift-right encompasses several related practices: feature flags for controlled production exposure, canary and blue-green deployments for risk-managed releases, synthetic monitoring for continuous production health verification, real user monitoring (RUM) for experience-based quality signal, chaos engineering in production for resilience validation, and observability-driven testing where distributed tracing and metrics data from production directly inform test strategy. Together these practices constitute a production quality programme that is as rigorous and deliberate as any pre-production test suite.
Your production environment knows things your staging environment will never know. Shift-right testing is the discipline of asking production the right questions before your users ask them for you.
Feature flags (also called feature toggles or feature gates) are the mechanism that makes production testing safe. By wrapping a new feature behind a flag, teams can deploy code to production without activating it for users — enabling verification that the deployment itself is healthy — and then progressively activate the feature for controlled user segments. A 1% canary rollout lets you validate real production behaviour with real users at limited blast radius: if error rates or latency increase, the flag is turned off and no users are affected. If the canary passes, the rollout proceeds to 10%, 50%, 100%.
Tools for feature flag management include LaunchDarkly (enterprise, strong targeting and experimentation), Unleash (open-source, self-hosted), Flagsmith (open-source with cloud option), and AWS AppConfig and Azure App Configuration for teams already in those clouds. The testing workflow around feature flags includes: pre-production tests that verify both the flag-on and flag-off code paths, production monitoring during rollout with explicit success/failure thresholds defined before the rollout begins, and automated rollback triggers when thresholds are breached. Feature flags without monitoring are deployment tools; feature flags with defined quality thresholds and automated rollback are testing tools.
Observability — the ability to understand a system's internal state from its external outputs — has traditionally been an operations concern. In a shift-right testing model, observability data becomes one of the most valuable inputs to test strategy. Distributed traces from production (via OpenTelemetry, the CNCF standard now adopted by AWS, Azure, GCP, Datadog, Honeycomb, and most APM vendors) reveal the actual execution paths that real users exercise — paths that are frequently different from the paths QA teams test against. Latency distributions show which operations are slow under real conditions. Error logs reveal failure modes that test environments never triggered.
The practical workflow is: instrument your production services with OpenTelemetry, route traces to an observability platform (Honeycomb, Jaeger, Tempo, or a commercial APM), and review production traces regularly as part of test planning. When a service shows elevated error rates for a specific request pattern, add test cases covering that pattern. When a trace reveals an untested code path being exercised by a significant percentage of real users, add it to the regression suite. This feedback loop — production tells you what to test, pre-production verifies the fix — is the core of observability-driven testing and produces test suites that actually match real usage patterns.
Synthetic monitoring runs automated test scripts against production on a continuous schedule — every minute, every five minutes, every hour — verifying that critical user journeys are functioning correctly. Unlike real user monitoring (which passively observes real traffic), synthetic monitoring actively executes test scenarios and measures outcomes. It is the closest equivalent to a traditional automated test suite running continuously in production, and it catches the class of failures that only occur in production: third-party API outages, CDN configuration issues, database connection pool exhaustion, certificate expiry, and region-specific failures that staging environments never surface.
Tools for synthetic monitoring include Datadog Synthetics, Checkly (built on Playwright, excellent for teams already using Playwright for E2E), New Relic Synthetics, and AWS CloudWatch Synthetics (Canaries). Checkly is particularly worth noting for QA teams: it uses the same Playwright test code as your pre-production E2E suite, meaning your existing Playwright tests can be deployed as synthetic monitors with minimal additional work — closing the gap between pre-production and production testing using a single test codebase.
Real user monitoring (RUM) captures performance and error data from actual user sessions via a JavaScript agent injected into the application. It reveals what real users actually experience: Core Web Vitals, JavaScript errors, rage clicks, session abandonment patterns, and geographic performance variance. RUM data is high-volume and reflects real usage patterns, but it is reactive — it reports failures after users experience them. Synthetic monitoring is proactive — it detects failures before users encounter them, sometimes within seconds of an incident. A mature shift-right quality programme uses both: synthetic monitoring for proactive detection of critical journey failures, and RUM for understanding the real-user experience impact of performance and reliability issues.
Shift-right testing is not a replacement for pre-production quality practices — it is the layer that catches what pre-production cannot. Teams that implement both a rigorous pre-production test suite and a disciplined shift-right programme consistently achieve lower escaped defect rates, faster incident detection, and higher confidence at the point of release than teams relying on either approach alone. The investment in observability infrastructure and synthetic monitoring pays dividends across the entire engineering organisation, not just QA — operations, product, and engineering all benefit from the production quality signal it provides.