Synthetic Data Fidelity
How closely generated data reproduces the shape, distribution and awkwardness of the real thing, which decides what the data can validly be used for.
Generated data is cheap and safe, and its usefulness depends entirely on which properties it preserves. Three levels are worth distinguishing.
Structural fidelity means the types, constraints and referential integrity are right. Enough to exercise code paths; useless for performance work, because uniform data produces uniform index behaviour that real skew does not.
Distributional fidelity means the value distributions, cardinalities and skew match — a few customers with thousands of orders, most with one. This is what performance and capacity testing actually needs, and it is where naive generators fail: a synthetic dataset with evenly distributed keys makes a hot-partition problem invisible.
Edge-case fidelity means the awkward real values are present: names with apostrophes, addresses with no postcode, amounts of zero, records created before a schema migration. These cause most production defects and are precisely what a generator invents least well, which is why sampling anomalies from production and reproducing their shapes is worth more than a larger volume of clean rows.