Currently, when our engine generates randomized numeric fields, it defaults to a uniform distribution. While fine for basic mock data, many real-world scenarios require non-uniform probability distributions—such as generating realistic user ages, dynamic pricing, or clustered activity timestamps.
This issue aims to introduce support for Normal, Exponential, and Log-Normal distributions for numeric fields during test data generation.
Tasks:
Where to start looking:
- Check the types in
TestDataConfig and SchemaField.
- Look at how
seedrandom is currently utilized for data generation to ensure your new math functions remain deterministic.
Currently, when our engine generates randomized numeric fields, it defaults to a uniform distribution. While fine for basic mock data, many real-world scenarios require non-uniform probability distributions—such as generating realistic user ages, dynamic pricing, or clustered activity timestamps.
This issue aims to introduce support for Normal, Exponential, and Log-Normal distributions for numeric fields during test data generation.
Tasks:
TestDataConfigor the numericSchemaField.constraintstype definition to allow specifying adistributionproperty (e.g.,"normal" | "exponential" | "log-normal") along with any necessary math parameters (mean, standard deviation, lambda).TestDataGeneratorServiceor our Faker utility wrappers) to calculate random values adhering to the provided distribution using our deterministicseedrandominstance.minandmax.Where to start looking:
TestDataConfigandSchemaField.seedrandomis currently utilized for data generation to ensure your new math functions remain deterministic.