Shift-Left, Shift-Right & Your 1-Page Test Strategy
The last piece is about timing: when on the delivery timeline your checks run. Two short phrases capture it, and then you'll pull everything in this module into a single one-page plan.
The idea, in one line
Catch bugs as early as you can, and watch for the ones only real users reveal. Moving checks earlier is shift-left; watching the live app is shift-right.
What lives on each side
- Shift-left: static checks and unit tests on every commit, integration checks on each pull request — a bug caught minutes after it's typed, not days later. Most of your automation belongs here, running in the CI pipeline that gates merges.
- Shift-right: testing in production, because some problems only show up under real traffic — canary releases (show the change to a small slice of users first), monitoring and alerts, and synthetic checks that quietly exercise the live app.
They're partners, not rivals: left prevents defects, right observes the ones only reality reveals.
See it work
Here's what shift-left looks like in a real CI config — cheap checks first, run automatically on every pull request.
# .github/workflows/quality.yml -- shift-left checks on every PR
name: quality
on: [pull_request]
jobs:
checks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: ruff check . # static analysis (leftmost, cheapest)
- run: pytest -m "unit" # fast unit gate
- run: pytest -m "service" # narrow integration
# e2e smoke + monitoring run after deploy, against prod (shift-right):
# canary release, synthetic checks, alerting on error rateRead it top to bottom: the cheapest checks run first and block a bad merge; the live-app checks (in the comment) run later, once the code is out there.
Advanced — pull it all together in one page
Every topic in this module meets in one artifact: a test strategy. For a single feature, it says what you'll automate, at which pyramid layer (lesson 1), guided by risk (lesson 4), and where on the left-right timeline each check runs. Writing it is how you show you can think like an SDET, not just script like one.
Grounded in reputable shift-left / shift-right sources (Dynatrace, BrowserStack)
All lessons in Testing Fundamentals, Reframed for Automation
- The Test Pyramid & Quadrants — What to Automate First
- Boundary Values & Equivalence Partitioning as Automation Inputs
- Decision Tables & State Transitions
- Risk-Based Testing — Deciding What NOT to Automate
- Shift-Left, Shift-Right & Your 1-Page Test Strategy