Faker Is Not Synthetic Data: Where Mid-Sized Schemas Break
I once shipped a test database in which every user's transactions were dated six months before that user's own created_at timestamp, and it survived review because it screenshotted well. The names were plausible, so were the merchant strings, and every amount rounded to sensible cents. QA found it in an afternoon: "Customer placed an order before the customer existed." I read that ticket three times before it made sense.
Nothing exotic had happened. I pointed Faker at a multi-table schema, asked for a few thousand rows per table, and assumed the word "realistic" in its tagline would cover the rest. Faker was doing exactly what it advertises, which is to hand back a random value for one column at a time, and it does that well. The bug was mine, because I called the output synthetic data and then deployed it somewhere the data was expected to behave the way...
Copyright of this story solely belongs to hackernoon.com. To see the full text click HERE