How to Design and Generate Complex Synthetic Test Data

by Louie Flores on Feb 16, 2022

In GenRocket’s Test Data Automation platform, Test Data Scenarios are used to define the synthetic data needed for testing. By representing a single data domain, Scenarios operate as simple and scalable building blocks for designing and generating any volume or variety of synthetic data needed for automated testing.

GenRocket provides a structured approach for building Test Data Projects to define and generate synthetic data for multiple test categories or highly complex data environments.

A Test Data Project is created for each database or application under test and allows data architects, developers, test engineers and testers to create sophisticated synthetic data designs that are aligned with a full suite of test cases for an Application Under Test (AUT).



Test Data Project

This scalable approach allows the QA team to start small with simple Test Data Scenarios and associate them with various Test Data Cases to provide synthetic data for unit, load, integration, regression, or other categories of testing.

Scenarios and Cases can be aggregated into Chapters, Stories, and Epics to correspond with test data requirements at each stage of application testing.

Multiple Epics can be defined for a given Test Data Project and each Project can have multiple versions that correspond to different software release levels.

And as we learned in last week’s GenRocket Advisor describing G-Repository, all data model changes are dynamically synchronized across Test Data Projects and all project changes are dynamically updated for all users of the GenRocket platform.

The Flexibility of Self-Service

Test Data Projects are built using GenRocket’s comprehensive suite of self-service components. In the diagram below, the green blocks represent the 5 Key Components of the GenRocket Architecture: Domains, Attributes, Generators, Receivers and Scenarios.

The blue blocks represent self-service components that organize these components into various categories of Test Data Cases that may include Test Data Rules and Queries and ultimately aggregated into Chapters, Stories, and Epics. Learn more about GenRocket’s Self-Service Components.



Self-Service

The Power of Test Data Cases

Test Data Cases are created in the GenRocket platform using the G-Cases self-service component. G-Cases is a powerful capability that allows testers to generate very specific test data based on the type of test to be run. In the workflow diagram below, G-Cases was used to build Test Data Cases for Unit, Load, and Integration testing. In this example, they all use data domains required by the AUT and are aggregated into a single Test Data Case Suite.



Test Data Cases

Test Data Cases can incorporate specific Test Data Rules that control the variety and volume of synthetic data needed for a given test category. Test Data Cases may also include Test Data Queries to blend synthetic and production data. This is an important capability when testers wish to augment production test data with synthetic data or to query enumerated values from a production database, such as account numbers or procedure codes.

Test Data Cases allow QA teams to design synthetic data that maximizes test coverage in advance so it can be rapidly provisioned and generated on-demand each time a test is run. The data is always fresh and identical data is generated each time a Test Data Case is executed. This scalable approach allows teams to design the precise data they need, one domain at a time and methodically build an organized hierarchy of test data design patterns that can be used for accelerated, on-demand data provisioning in a fully automated release pipeline. Learn more about Test Data Cases on our website.

You can learn more about all of our advanced test data design capabilities in Flight School, our on-demand, self-paced learning environment. Click on the link below to view the Advanced Flight Plan for software testers.