The aim of this process to automatically produce artificial or synthetic test data. As described above, rigorous testing requires a variety of data to ensure that the system functionality is robust, consistent and effective. Synthetic test data generation is a rapid and comprehensive approach for creating the required data to test any application.
The Synthetic Data Generation Process begins by generating 1) a VIP Database Model* and 2) a related Test Data Configuration Sheet. The Configuration Sheet specifies how to generate Data for various fields in a Database. This data generation uses a set of pre-defined functions for generating rich data that matches a particular Database Model.
*A VIP Model stores metadata information about the database to perform database operations at table level (e.g. Insert, Delete etc.) later.
Once the Database Model and Configuration Sheet are generated, the user is then able to configure the Test Data Generation Spreadsheet to conform/produce the type of Test Data that is required for system under test. The Test Data Generation Sheet is an Excel spreadsheet and contains the data fields as well as the relationships between different data in the database. The Test Data Generation Sheet has access to ready-made functions that generate values for individual fields.
Event Hooks are a feature that can be used to add custom functionality such as business logic to the generated data. For example, generating data for an Ecommerce application might require a Total Value of Product Sales. This total would require a set of calculations based upon the value of individual Products multiplied by the number of Products sold for each Product which are then added together to determine the Total Amount of Products sold.
Once the Test Data Configuration Sheet is complete, the VIP flow needs to be generated using the Configuration requirements. This workflow leverages the configured sheet together with the Database Model.
Finally, it is necessary to execute the VIP workflow with the expected records to generate the new Synthetic Test Data. The amount of Test Data is specified at this point in the process. So you can generate 10 pieces of data or 100 or 1000. Further more data can be generated with further iterations of this process.