What is TestGen?¶
You don't have time to write data quality tests. Nobody does. So the tests don't get written, and you find out the data was wrong when somebody in finance asks why the number moved.
DataKitchen's DataOps Data Quality TestGen writes the tests for you. Point it at a database. It profiles every table and column, flags hygiene problems, and generates a test suite that fits your actual data. You get most of your test coverage in minutes, not months.
Generated tests cover about 80% of what you need. The other 20% takes someone who knows the business, and TestGen gives you custom SQL and business rule tests for that part.
What you get¶
- Generated tests. 82 test types across six data quality dimensions. TestGen generates the ones that fit your profiling results, so a table with no email column never gets an email format test. No code, no YAML.
- Data profiling. Column-level statistics, patterns, and the rows that cause trouble.
- Hygiene detection. 32 hygiene issue types, from mismatched data types to "N/A" strings posing as blanks to likely PII.
- In-database execution. Checks run as queries inside your database. TestGen doesn't copy your data out to test it.
- Monitors. Freshness, volume, schema, and custom metric monitors that learn your data's normal range and alert when it drifts.
- Data Catalog. Metadata, hygiene issues, PII flags, test results, and Critical Data Elements for every table and column.
- Quality scores. Scorecards and dashboards with drill-down to the failing tests and rows.
- Issue reports and notifications. Download a report to share, or send alerts by email, Slack, or Microsoft Teams.
- MCP server. More than 100 tools that let Claude, Cursor, Copilot, and other AI assistants query and triage your data quality results. See MCP Server.
- DataOps Observability integration. Send test results into Observability to see them alongside the rest of your data journey.
Install TestGen¶
The installer sets up TestGen with Docker or pip, loads demo data, and opens the UI in your browser. Most installs take 5 to 10 minutes.
Python installer, Docker or pip
Windows installer, Docker or pip
Open source and Enterprise¶
TestGen open source is Apache 2.0 licensed and free. It includes profiling, the core test types, monitors, scoring, and the UI, with unlimited tables and data volume. It's limited to one user, one project, and one connection.
TestGen Enterprise adds unlimited users, projects, and connections, along with proprietary database support, enterprise security and access controls, the 12 Commercial Pharma test types, and support from DataKitchen. See Install Enterprise and pricing.
How TestGen works¶
A TestGen workflow has eight steps. You set up the first few once, then schedule the rest. Step 8 is optional: do the same work by asking an AI assistant.
1. Profile a table group¶
A table group is the set of tables you want TestGen to look at. A profiling run scans those tables and records data types, column contents, and patterns. Every later step builds on the profile, and TestGen keeps past profiles so you can compare them.
Profiling doesn't need to run often. Every two weeks or once a month is enough for most teams. See Run Profiling.
2. Review the profile and hygiene issues¶
Open the Profiling Runs page or the Data Catalog to see what TestGen found. The catalog puts metadata, hygiene issues, PII flags, test results, and Critical Data Elements in one place. See Investigate Profiling Results.
Hygiene issues are problems TestGen spots in the profile itself, before you run a single test. A text column that's mostly dates. A ZIP code column full of invalid formats. See Data Hygiene Issues for all 32.
3. Generate tests¶
TestGen reads the profile, picks the test types that fit your data, and generates a test suite with thresholds set from what it found. Tests cover six dimensions: validity, consistency, completeness, timeliness, accuracy, and uniqueness.
You can edit any generated test before you run it. Lock the ones you change so the next generation leaves them alone. Add your own custom SQL tests for the business rules no profile can guess. Regenerate every few weeks, or whenever your data changes shape. See Generate Tests.
4. Run tests¶
Run the suite against your data. Then schedule it, say every night or every weekend, so results are waiting when you start work. See Run Tests.
5. Review test results¶
The Test Runs page lists every run. Drill into a run to see which tests failed, on which columns, and the rows behind each failure. Share an issue report, send results to DataOps Observability, or set up notifications so your team hears about failures first. See Investigate Test Results.
6. Monitor your tables¶
Tests check data against fixed rules and thresholds. Monitors learn what normal looks like and alert you when something changes. TestGen has four kinds:
- Freshness monitors alert when a table misses its usual update.
- Volume monitors alert on unexpected jumps or drops in row count.
- Schema monitors alert when columns are added, dropped, or change type.
- Metric monitors alert on anomalies in a metric you define.
By default, monitor thresholds come from prediction models trained on each table's history, and they get tighter as history builds up. You can also set thresholds yourself.
7. Score data quality¶
TestGen scores every table group from its hygiene issues and test results. The Quality Dashboard shows all your scores on one page. Use the Score Explorer to build scorecards for the tables and columns you care about most.
8. Add tests and review results with MCP¶
Connect an AI assistant such as Claude, Cursor, or Copilot to the TestGen MCP server and do steps 3 through 5 by asking. "Which tests failed last night?" "Show me the bad rows." "What's this table missing a test for?" The assistant generates or creates tests, runs the suite, and pulls the failing rows and the failure trend for you.
The MCP server runs inside your network and signs in as you, so the assistant sees only the projects your TestGen role allows. See Set up the MCP Server and Supported Tools.
System architecture¶
TestGen runs inside your network. It connects to your data with read-only access, and your data stays within your environment. For deployment options and security details, see System Architecture and Security.
Supported databases¶
- Amazon Aurora PostgreSQL
- Amazon Redshift
- Azure SQL Database
- Azure Synapse Analytics
- Databricks SQL
- DuckDB
- Google BigQuery
- Microsoft OneLake (Microsoft Fabric)
- Microsoft SQL Server
- Oracle Database (12c and later)
- PostgreSQL
- Salesforce Data 360 (formerly Data Cloud)
- SAP HANA
- Snowflake
Supported file data sources¶
TestGen profiles and tests CSV, Parquet, and JSON files stored in:
- Local files on a path TestGen can reach
- Amazon S3
- Azure Blob Storage
It also tests Apache Iceberg tables and Parquet, Avro, ORC, CSV, and JSON files that a database exposes as external tables:
Get started with TestGen¶
See Get Started to install TestGen, run the demo, and connect your own database.
Additional resources¶
- Monitor Tables: set up anomaly detection
- Quality Scores: understand your scores
- Data Catalog: explore your data
- Notifications: send alerts to your team
- Scheduling: automate profiling and testing
- MCP Server: connect an AI assistant to TestGen









