What is shift-left data quality testing?

Shift-left data quality testing moves checks earlier on the data production line, toward the source, so you catch a bad record at entry, not in a dashboard. Shift down, its partner, moves tests into the deployment path. Under Labovitz and Chang's 1:10:100 rule, a bad record costs $1 to prevent at the source and $100 once it reaches a customer.

Key points

  • Shift left means moving data quality checks earlier on the data production line, toward the source, rather than discovering problems in a dashboard.
  • Shift down means moving testing into the deployment path, so a code or configuration change that alters a number fails before it reaches production.
  • The 1:10:100 rule, from quality experts George Labovitz and Yu Sang Chang, prices a bad record at about $1 to prevent at the source, $10 to remediate after creation, and $100 once it reaches a customer.
  • DataKitchen estimated in September 2025 that about 80% of data teams rely on hope-based testing in development, with no automated validation before changes reach production.
  • Shift left protects the data you already have; shift down protects the data your next deployment is about to produce, and a team needs both.

Most data teams test at the end of the line. A check runs against the gold table right before the report refreshes. By then the bad row has been joined, aggregated, and cached, and the test can tell you something is wrong but not which step did it.

Shifting left moves the check to where the row came in.

Two directions, two pipelines

DataKitchen’s Flip the Script post draws a data operation as two lines that cross. Data flows left to right through production. Code and configuration flow top to bottom, from development into production. Each line gets its own shift.

Shift leftShift down
What flowsData, through the production pipelineCode and configuration, from development to production
Where tests moveToward the source: ingestion and each transform stepInto the deployment path, before a change merges
What it catchesBad source data and broken tools mid-runA change that silently moves a number
Kind of testSchema, type, range, row-count and distribution checks; tripwires that stop the lineRegression and impact tests on realistic test data
What it protectsThe data you already haveThe data your next deployment will produce

The manufacturing name for the left half is the Andon cord: any worker can stop the line when they see a defect. In a pipeline, that’s a test between two steps that exits with a non-zero code, so the orchestrator never runs the next transform and production keeps the last known good data.

Why earlier is cheaper

The 1:10:100 rule, from quality experts George Labovitz and Yu Sang Chang, prices a bad record by where you catch it. Prevention at the source costs about $1. Remediation after the data is created costs about $10. Failure, once the data reaches a customer and drives a decision, costs about $100.

The Flip the Script post has an example, sorted here into the rule’s three tiers. A source system starts sending timestamps in a different time zone without warning.

Where you catch it1:10:100 tierWhat the fix involves
At ingestion, by a schema or range test1Update one transformation rule
In the warehouse, after daily rollups ran10Find every affected calculation and regenerate historical aggregates
In a report someone already acted on100All of the above, plus explaining to the business why last week’s numbers were wrong

The bug is identical in all three rows. Only the place you found it changed.

Where shift left sits among the four places to test

DataKitchen’s Guide to DataOps Tests names four places a team tests data. Three of them run along the production line, and that’s the shift-left half. The fourth is the deployment path, and that’s shift down.

Place to testDirection
Data quality on source dataLeft
Observability at ingestion: freshness, volume, schemaLeft
Tripwires between transformation steps in productionLeft
Regression tests on deployment to productionDown

The same null check does a different job in each spot. A post on four critical processes makes the point: one test becomes a quality metric, an alert, a tripwire, or a regression test, depending on what happens when it fails.

The honest obstacle is volume

Shifting left means testing bronze tables and raw feeds, and there are a lot of them. The test coverage guide sets a floor of two tests per table plus tests on every column. The Guide to DataOps Tests puts a mid-size Medallion architecture at roughly 5,000 tests. Nobody hand-writes 5,000 tests and keeps them current.

That’s why most teams still test at the end. DataKitchen estimated in its September 2025 post that about 80% of data teams rely on hope-based testing in development, with no automated validation before changes reach production.

So generate the routine tests from a profile of each table and keep people for the business rules. DataKitchen’s open-source DataOps TestGen does the generating, and DataKitchen sells it, so weigh that. For where to begin on a small team, see which checks to set up first.

Frequently asked questions

Short answers to the follow-up questions people ask next.

Does shift-left testing replace tests on the final tables?

No. Shift left adds checks earlier in the pipeline and keeps the ones at the end. DataKitchen's Guide to DataOps Tests names four places to test data (source data, ingestion, tripwires between transformation steps, and deployment to production) and says a team needs all four. The Flip the Script post keeps output validation as the final gate before data reaches the people who use it.

What is the difference between shift left and shift down?

Shift left moves tests toward the source along the production pipeline, where data flows. Shift down moves tests into the deployment path, where new code and configuration flow from development to production. Shift left protects the data you already have. Shift down protects the data your next deployment is about to produce. DataKitchen's Flip the Script post argues a team needs both.

What is the 1:10:100 rule in data quality?

The 1:10:100 rule, from quality experts George Labovitz and Yu Sang Chang, holds that preventing a bad record at the source costs about $1, remediating it after it is created costs about $10, and letting it reach a customer and influence decisions costs about $100. It is the economic case for testing earlier in the pipeline.

Where do most data teams test today?

At the end. Most testing validates the final table before a report runs, which is the most expensive place to find a problem and the least useful place to fix one. DataKitchen estimated in September 2025 that about 80% of data teams rely on hope-based testing in development, with no automated validation before changes reach production.

How do you start shift-left data quality testing?

Put automated tests on source data so you see what arrives before anything transforms it, then add tripwires between transformation steps that stop the pipeline on failure. Hand-writing that coverage is slow: DataKitchen's Guide to DataOps Tests estimates a mid-size Medallion architecture needs roughly 5,000 tests, so generate the routine ones from a data profile.

Try it on your own data

DataOps TestGen is free and open source. Profile a table and generate its tests this afternoon.