How do you test data pipelines when you don't have a data engineer?

Use a tool that generates tests, so you don't have to write test code. Profile the tables your reports read, put freshness, volume, and schema monitors on everything, generate baseline tests from the profile, and write the business rules yourself. In DataKitchen's NYC taxi exercise, loading, profiling, and testing three million rows took about five minutes.

Key points

  • An analyst who inherits a warehouse can test it without writing SQL, Python, or YAML test code by profiling the data and generating the baseline tests from that profile.
  • Analysts hold the part of testing that generators can't do: the business rules, such as fares never being negative, that only someone who reads the reports knows.
  • In DataKitchen's NYC taxi exercise, profiling 2,964,624 rows took 1 minute 48 seconds and running all 69 tests took 6 seconds, about five minutes end to end including download and load.
  • Profile the warehouse before you are blamed for it. A dated baseline separates the problems you inherited from the ones that start on your watch.
  • Some jobs still need an engineer or IT: stopping a pipeline mid-run with a tripwire, fixing broken pipeline code, and making loads safe to rerun.

You were hired to answer questions. Then the engineer left, or there never was one, and now the warehouse is yours. Nobody gave you a test suite. Most warehouses don’t have one.

That’s a familiar spot. Analysts already do the ad hoc data engineering themselves, in SQL, Alteryx, and Excel, pulling the ten tables that matter out of hundreds. Testing them is the next job, and it needs less code than you’d think.

Profile it before you’re blamed for it

Before you change anything, profile every table and keep the dated result. The First Move When You Inherit Someone Else’s Data makes the case: within weeks, every problem in that warehouse becomes yours to explain, including the ones that were there before you. A profile dated before your first day records the null rates, schema violations, and broken joins you walked into.

What you can do without an engineer

JobWho does itWhat you need
Profile every tableYouA read connection to the warehouse
Freshness, volume, and schema monitorsYouThe same connection; monitors learn from history
Baseline tests on key tablesYou, reviewing generated testsA tool that generates tests from the profile
Business rules for key metricsYou, because you know themPlain-language rules, or an AI tool to draft them
Stop the pipeline when a test failsAn engineer or ITA test task added inside the orchestrator
Fix the code a failed test points atAn engineer, or you with helpAccess to the pipeline code

The top four rows are most of the value, and they’re yours.

Code-first test frameworks help engineers write tests faster. They still start every test as code. A tool that profiles the data and generates the tests turns your job into review: keep what’s right, delete what isn’t. DataOps TestGen is one such tool. It profiles each column on 55 characteristics, flags issues with 32 hygiene detectors, and generates tests from 34 test types. The open source version is free for one user, one connection, and one project, and the install page puts setup at two commands.

Which comes first, monitors or tests covers the order. Monitors go on everything. Tests go where a wrong number costs money.

Your advantage is the business rules

Generated tests learn what the data already looks like, including what’s already wrong. In DataKitchen’s NYC taxi exercise, 62 generated tests passed on a 300,000-row sample, because the minimum-fare test set its floor at negative $367. Seven business rules failed on that same sample. One of them said fares are never negative.

An engineer can’t write that rule without asking someone like you. Say you know that refunds never exceed the original charge, or that each territory rolls up to exactly one region. Write rules like those in plain sentences. An AI tool connected to TestGen over MCP can turn them into tests, as it did in the taxi exercise. Can AI write data quality tests explains where you still have to check its work.

What still needs help

Testing tells you a table is wrong. It doesn’t stop the next step from reading it. That takes a tripwire, a test task inside the pipeline that exits with an error, and adding one means changing the pipeline. Ask IT for that once your tests have earned some trust.

If the pipelines are scripts you wrote with an AI tool, and you’re now the only one running them, that’s its own problem. You Built the Thing. Now You’re Stuck Running It. is about exactly that.

Frequently asked questions

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

Can an analyst test data pipelines without writing code?

Yes. A profiling tool reads each table, records what its columns look like, and generates the baseline tests: nulls, uniqueness, value ranges, patterns, freshness. You review and keep the ones that make sense. dbt tests, Great Expectations, and Soda Core all start each test as code, which is why a tool that generates tests from a profile suits someone without engineering time.

What should I test first in a warehouse I inherited?

Profile it before anything else, and keep the dated result. Then put freshness, volume, and schema monitors on every table, since they need no rules. Then generate tests on the tables behind the reports people escalate. Last, write the business rules for the metrics you already explain in meetings. The profile is your record of what you inherited.

Can AI write data quality tests for an analyst?

Yes, if it reads a real profile. In DataKitchen's NYC taxi exercise an AI tool, connected to DataOps TestGen over MCP, wrote seven business-rule tests from the profile, and all seven failed on data that 62 generated tests had passed. You still check each rule against what you know is true, and TestGen, not the model, runs them on a schedule.

What does testing a warehouse without a data engineer not cover?

Stopping bad data mid-pipeline. A tripwire is a test task inside the orchestrator that halts the next step, and adding it means changing the pipeline, which usually needs an engineer or IT. Fixing the pipeline code that a failed test points at, and making loads safe to rerun, also sit outside an analyst's tools. Testing tells you what broke. Someone still fixes it.

How long does it take to profile and test a table?

Minutes, for a table of millions of rows. In DataKitchen's NYC taxi exercise, profiling 2,964,624 rows of January 2024 yellow taxi trips took 1 minute 48 seconds and running all 69 tests took 6 seconds. The whole exercise, including downloading the file and loading it into Postgres, took about five minutes.

Try it on your own data

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