Hasso-Plattner-Institut
Prof. Dr. h.c. mult. Hasso Plattner
 

PopulAid

A data generator for in-memory test data generation

PopulAid is a tool to generate customized data for application testing. Via a convenient web interface, developers can easily pick their database schemas, assign generators to columns, and get immediate previews of potential results. In doing so, generators consider not only specific value properties for one column such as the data type, ranges, data pools, distributions, or the number of distinct values, but also keep foreign keys, allow for pattern evaluation and fulfill dependencies for column combinations. PopulAid allows developers to create data in a scalable and efficient manner by applying these generators to SAP HANA.

The tool aims to seamlessly integrate data generation into the development processes by ensuring good usability. To achieve this goal, we focus on three core concepts:

  • No setup required. When available, PopulAid is aimed to be shipped together with the target database SAP HANA.

  • Immediate feedback of the input via a preview of the values to be generated.

  • Assistive guessing of suitable generators. Especially for wide tables with more than 100 columns, assigning generators manually is tedious. Guessing of suitable generators for missing columns is done on the basis of the present datatype, the name of the column, and past generation tasks.

 

Usage

When opening the web application the configuration view is displayed. The user can immediately begin to configure a generation process. First, a connection to a HANA instance has to be established. Therefore valid credentials have to be entered into the fields on the upper side of the screen. After clicking on "Connect" the field for choosing a schema should be enabled.

If not, it is very likely that the HANA credentials which were entered are not correct or connectivity is not given. A schema can now be chosen by entering its name in the corresponding field. When a database schema has been chosen, the table input field gets enabled and allows to select a table within the schema. User input is automatically completed by the system according to the schemas and tables within HANA.

After selecting a table the user can enter the amount of values that are to be generated. An overview of the columns within the table, as well as some new controls appear on the screen. The user can now choose whether he wants to insert new data into this table, or update existing data. When updating data in a table, the user has to choose an ID column and specify the starting point (specific ID). When selecting insert mode the current content of the table can either be truncated or the new data is generated on top of the existing.

By activating the "Best guess" option Populaid suggests proper generators for the table's columns visualized below. A preview for every column is shown. All generators can be manipulated by clicking on the button below the corresponding column preview. If parameters of a generator attached to column are changed, the preview automatically adjusted.

By clicking on "Generate" the user can finish the configuration process and the data generation begins. After automatically being redirected to the dashboard of Populaid the user can see an overview of the currently running jobs by means of a graph visualizing the throughput per second. Additionally a more detailed overview including the current state and the time left for each job is displayed. After a job has been finished it remains in the list can be removed manually.

The usage of PopulAid to generate test data on a schema from the medical sector is also shown in the following screencast: