testdatatools
Practical decision guide

Test data tool PoC: a reusable acceptance checklist

Give shortlisted tools the same small business scenario and acceptance criteria before comparing speed. This payments fixture catches a common failure: a successful generation job that still returns the wrong business rows. Download the brief and use it with any candidate.

Editorial review: · Sources and scope below

Download the PoC brief (.md)

What must the example contain?

Create four customer IDs, 1–4, and six payment IDs, 101–106. The table below fixes customer, status and amount in integer cents. Customer 4 deliberately has no payment. Reporting must select only settled payments worth at least 10,000 cents. Expected IDs are exactly 101, 104 and 106, with a total of 60,000 cents. The settled payment 103 is deliberately below the boundary; pending and rejected payments must stay excluded.

A small fixture with an exact expected result

Illustrative payments; amounts in integer cents
payment_idcustomer_idstatusamount_cents
1011settled10000
1021rejected50000
1032settled9999
1042settled20000
1053pending40000
1063settled30000

The customers table must contain IDs 1, 2, 3 and 4. Customer 4 deliberately has no payment. Use this query against the generated payments table; inspect relationships separately.

SELECT payment_id FROM payments
WHERE status = 'settled' AND amount_cents >= 10000
ORDER BY payment_id;

Expected IDs: 101, 104, 106. Total amount: 60,000 cents.

What counts as a pass?

Require four distinct customer IDs, six distinct payment IDs, no orphan payments and exact agreement with every scenario row. Check the reporting IDs and total independently. Row count alone is insufficient: swapping a settled and rejected status can preserve six rows while changing the business result. A generator log that reports success is supporting execution evidence, not the business oracle.

How do you compare the real effort?

Use a fresh target for each candidate. Record exact product and edition, model or script, runtime versions, manual edits and time to first correct result. Separately record a changed business rule, failed-run recovery and a second engineer repeating the setup. Keep an unsupported or untested requirement visible rather than turning it into an invented zero score.

What should you add for your own system?

Replace this small schema with one representative part of your system after the basic check works. Add your connector, composite keys, target cleanup and required error cases. If source data is involved, add permitted selection and transformation assertions. For multi-system delivery, check each target and cross-system identifiers. This fixture does not benchmark any product or establish privacy, load capacity or protocol conformance.

Executed customer-label fixture

The local verification harness ran Faker, DATAMIMIC CE and SDV on 11 October 2026 in Linux with Python 3.12. Each product supplies four customer labels. The common Python adapter assigns IDs and the six fixed payment rows. SQLite checks this assembled fixture. The products do not build its relationships.

Label generation and shared-fixture checks; no benchmark ranking
Product/versionShared fixture resultObserved replay scope
Faker 33.3.1101, 104, 106 · 60,000 cents; no orphan paymentsSame labels and canonical JSON hash in two calls and a separate process, with pinned versions.
DATAMIMIC CE 4.3.0101, 104, 106 · 60,000 cents; no orphan paymentsSame labels and canonical JSON hash in two calls and a separate process, with pinned versions.
SDV 1.38.5101, 104, 106 · 60,000 cents; no orphan paymentsreset_sampling on the same saved fitted model; replay matched in two processes. Retraining was not tested.

Faker uses seed_instance(42); CE person/v1 uses seed 42 and a fixed clock. SDV fits a GaussianCopulaSynthesizer on 256 synthetic-only label/score rows. Only its label column enters the fixture. There is no production data, privacy score or distribution-quality evaluation. Cleanup and rollback are checked by the neutral SQLite script.

MOSTLY AI SDK 6.1.5 with LOCAL dependencies was installed without an account. Its actual training attempt was blocked when the environment denied AF_UNIX socket creation (Operation not permitted). No generated output or failed business result is attributed to the product.

This does not test product-managed relationships, Enterprise editions, database connectors, subsetting, privacy, throughput or portability. The exact tested versions are not described as the latest releases.

Execution coverage and reasons for other products
  • Faker: Four customer labels generated and checked with the shared fixture. See result scope; relationships belong to the adapter.
  • Mockaroo: Hosted generation workflow; no authorized service account or private-deployment license configured. Not a locally installed generator in this run.
  • generatedata.com: Self-hosted UI requires the documented Docker stack; Docker is absent and no supported browser surface is available. No fixture execution claimed.
  • RNDGen: Hosted generation workflow; no authorized service account or private-deployment license configured. Not a locally installed generator in this run.
  • Spawner Data Generator: Abandoned desktop project; no compatible Linux fixture CLI identified in the cited project material. Its legacy desktop workflow was not executed.
  • Delphix: Commercial platform or database-processing workflow. No licensed installation and required source/target infrastructure in this environment. Documentation is not an execution result.
  • CA Test Data Manager: Commercial platform or database-processing workflow. No licensed installation and required source/target infrastructure in this environment. Documentation is not an execution result.
  • Informatica TDM: Commercial platform or database-processing workflow. No licensed installation and required source/target infrastructure in this environment. Documentation is not an execution result.
  • DATPROF Privacy: Documented desktop/database-authoring workflow needs a compatible runtime, supported database and/or licensed distribution. Linux container has no Windows desktop, licensed installer or target DB. No license acquired and no execution claimed.
  • Solix Test Data Management: Commercial platform or database-processing workflow. No licensed installation and required source/target infrastructure in this environment. Documentation is not an execution result.
  • Tonic Structural: Commercial platform or database-processing workflow. No licensed installation and required source/target infrastructure in this environment. Documentation is not an execution result.
  • Tonic Fabricate: Hosted generation workflow; no authorized service account or private-deployment license configured. Not a locally installed generator in this run.
  • Gretel / NVIDIA: Catalog entry covers vendor synthetic-data material; no exact runnable licensed product/version and fixture interface established for this environment.
  • Synthesized TDK: Commercial platform or database-processing workflow. No licensed installation and required source/target infrastructure in this environment. Documentation is not an execution result.
  • GenRocket: Commercial platform or database-processing workflow. No licensed installation and required source/target infrastructure in this environment. Documentation is not an execution result.
  • CloudTDMS: Hosted generation workflow; no authorized service account or private-deployment license configured. Not a locally installed generator in this run.
  • DATAMIMIC Enterprise Platform: Commercial platform or database-processing workflow. No licensed installation and required source/target infrastructure in this environment. Documentation is not an execution result.
  • DATAMIMIC CE: Four customer labels generated and checked with the shared fixture. See result scope; relationships belong to the adapter.
  • IRI RowGen: Commercial platform or database-processing workflow. No licensed installation and required source/target infrastructure in this environment. Documentation is not an execution result.
  • TCS MasterCraft DataPlus: Commercial platform or database-processing workflow. No licensed installation and required source/target infrastructure in this environment. Documentation is not an execution result.
  • SB Data Generator: Documented desktop/database-authoring workflow needs a compatible runtime, supported database and/or licensed distribution. Linux container has no Windows desktop, licensed installer or target DB. No license acquired and no execution claimed.
  • Redgate SQL Data Generator: Documented desktop/database-authoring workflow needs a compatible runtime, supported database and/or licensed distribution. Linux container has no Windows desktop, licensed installer or target DB. No license acquired and no execution claimed.
  • ApexSQL Generate by Quest: Documented desktop/database-authoring workflow needs a compatible runtime, supported database and/or licensed distribution. Linux container has no Windows desktop, licensed installer or target DB. No license acquired and no execution claimed.
  • Datanamic Data Generator: Documented desktop/database-authoring workflow needs a compatible runtime, supported database and/or licensed distribution. Linux container has no Windows desktop, licensed installer or target DB. No license acquired and no execution claimed.
  • DTM Data Generator: Documented desktop/database-authoring workflow needs a compatible runtime, supported database and/or licensed distribution. Linux container has no Windows desktop, licensed installer or target DB. No license acquired and no execution claimed.
  • Upscene Advanced Data Generator: Documented desktop/database-authoring workflow needs a compatible runtime, supported database and/or licensed distribution. Linux container has no Windows desktop, licensed installer or target DB. No license acquired and no execution claimed.
  • Redgate Test Data Manager: Commercial platform or database-processing workflow. No licensed installation and required source/target infrastructure in this environment. Documentation is not an execution result.
  • K2view Test Data Management: Commercial platform or database-processing workflow. No licensed installation and required source/target infrastructure in this environment. Documentation is not an execution result.
  • IBM InfoSphere Optim TDM 11.7: Commercial platform or database-processing workflow. No licensed installation and required source/target infrastructure in this environment. Documentation is not an execution result.
  • MOSTLY AI Synthetic Data SDK: SDK 6.1.5 and LOCAL extras installed without an account. Actual LOCAL initialization/train attempt fails because the environment forbids AF_UNIX socket creation (Operation not permitted). No generated output; this is not a product limitation.
  • SDV Community / Enterprise: Four customer labels generated and checked with the shared fixture. See result scope; relationships belong to the adapter.
  • Jailer: Source-derived subset/dump workflow, not a from-scratch customer-label generator. No PostgreSQL source/restore tools or provisioned JDBC test database; not executed.
  • Greenmask: Source-derived subset/dump workflow, not a from-scratch customer-label generator. No PostgreSQL source/restore tools or provisioned JDBC test database; not executed.
  • Syntho: The documented deployment needs a vendor license key, authenticated container images and Docker infrastructure. None is configured here; no Syntho execution or output is claimed.

Download scripts, dependency lock and results (.zip) · Read the run record (.json)

python run_fixture.py
python3.12 -m venv .venv
.venv/bin/python -m pip install -r requirements-poc.lock
.venv/bin/python compare_generators.py --model-dir .fixture-model --output results-local.json

Illustrative scenarios and editorial acceptance criteria; not measured product benchmarks.

Choose your next step