Synthetic Test Data Generation via Graph Random Walks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software testing methods require large quantities of manually generated test data, which is labor-intensive and often inconsistent with real-world configurations, necessitating an automated approach for generating test data that is consistent with current system configurations.
Innovation Solution
A method and system for generating synthetic test data by performing a random walk on a graph of nodes representing a source relational database, using application-level schemas to define constraints and statistical models, allowing for the automatic creation of test data that reflects real-world production data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If test data is generated manually, then test data can be created with current real-world configurations, but the process is labor intensive and time consuming
Solution Approach 1:
The patent copies production data to create test data by extracting data from the source relational database and transforming it into test data that maintains the statistical characteristics and relationships of real-world data, thereby achieving both consistency and automation
Solution Approach 2:
The patent replaces manual mechanical data generation processes with an automated computer system that uses random walks on graph representations of database schemas to generate test data, eliminating manual labor while maintaining data quality
2Reliability
If test data is generated manually, then data quality can be controlled, but the quantity of test data is limited and generation is labor intensive
Solution Approach 1:
The system performs self-service by automatically generating test data without human intervention, using algorithms that autonomously navigate database schemas and generate data that maintains quality standards while producing large volumes of test data efficiently
Solution Approach 2:
The patent performs preliminary actions by pre-processing the database schema into a graph representation and pre-computing statistical models before actual test data generation, enabling rapid automated generation of large quantities of high-quality test data
3Reliability
If production data is used for testing, then test data reflects current system configurations, but data security and privacy concerns arise
Solution Approach 1:
The patent creates copies of production data that preserve statistical characteristics and relationships while removing actual sensitive values, generating synthetic test data that represents production environments without exposing real data, thereby addressing both representativeness and security concerns
Data Source
AI summary
An embodiment features a method of generating test data. An application-level schema corresponding to a source relational database is received. The schema defines constraints comprising one or more of inter-field, inter-record, and inter-object constraints between related data in the source relational database. A random walk is performed on a graph of nodes representing data in the source relational database. At respective ones of the nodes, corresponding ones of the data in the source relational database are selected along a path ordered in accordance with the constraints defined in the schema. Synthetic test data is generated based on one or more statistical models of the data selected from the source relational database. Data values are generated for respective fields of an object defined in the schema, and data values are generated for records related to the object based on one or more of the constraints defined in the schema.


