How is a large synthetic dataset generated for testing?
From three decisions: the shape (the fields, their types and the format — JSON, CSV, SQL, XML), the volume (enough rows to exercise pagination, indexes and import limits) and the variety (boundary values, nulls, duplicates, special characters and the odd malformed row a real export contains). A fixed random seed makes the set reproducible, so a failing test can be re-run on the same rows. Format rules matter at volume: CSV fields with commas, quotes or line breaks must be quoted as RFC 4180 describes, and one oversized JSON document behaves very differently from the same rows as JSON Lines.
Read the guide: What is Performance Testing?
How to use Decimal Dataset Generator
- Set the range, precision and style.
- Keep the edge cases on to test rounding and parsing.
- Press Generate and export.
Decimal Dataset Generator features
- Fixed-precision decimals (0–10 places) in any range
- Plain, currency (grouped with a code) or scientific styles; decimal point or comma
- 27 rounding and precision edge cases (0.1 + 0.2, 2.675, half-even, 2^53 + 1, Arabic-Indic digits, hex, NaN…)
- Values emitted as strings so formatting survives export
- Seedable; JSON, CSV, SQL, XML, JSON Lines or one-per-line output
Decimal Dataset Generator example
Currency amounts with edge cases
Input:
Range 0–10000 · Decimals: 2 · Style: Currency · Currency: SAR · Edge cases: onOutput:
value,note
0.30000000000000004,0.1 + 0.2 in IEEE-754 double
2.675,Rounds to 2.67 (binary) instead of 2.68 with half-up
SAR 1,234.50,Frequently asked questions about Decimal Dataset Generator
Which rounding edge cases are included?
0.1 + 0.2, 2.675 and 1.005 (binary rounding traps), half-even cases (0.5, 1.5, 2.5), negative zero, 2^53 + 1, very small and very large magnitudes, decimal commas and Arabic-Indic digits.
Why are values emitted as strings?
So formatting survives every export: trailing zeros, thousands separators, currency prefixes and the decimal comma are preserved exactly.
Can I produce currency amounts?
Yes — the currency style adds grouping and a code (SAR 1,234.50); the scientific style emits exponent notation.
References
- RFC 4180: Common Format and MIME Type for Comma-Separated Values (CSV) FilesThe commonly implemented CSV rules: comma separators, CRLF line ends, quoting of fields that contain commas, quotes or line breaks.
- RFC 8259: The JavaScript Object Notation (JSON) Data Interchange FormatThe JSON grammar: objects, arrays, strings, numbers, the three literals, and UTF-8 as the interchange encoding.
- JSON LinesThe JSON Lines convention: one complete JSON value per line, UTF-8, "\n" separators, .jsonl extension.
- Personal Data Protection Law (English translation)The Saudi law governing personal data — why test environments should use synthetic data rather than copies of real customer records.