Testing Data Service Orchestration for Automated Test Data Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The manual process of finding and retrieving appropriate test data for software testing in large-scale enterprise environments is inefficient, consuming significant time and resources, especially in environments with multiple software services accessing vast data sources.

Innovation Solution

A system comprising a testing data service and an orchestration layer that automatically generates and schedules test data in the desired format, coordinating data retrieval across multiple domain data repositories to provide tailored test data for software development, thereby streamlining the testing process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If manual process is used to find and retrieve test data, then data can be obtained from enterprise data sources, but the process consumes significant time and resources

Engineering Contradiction:
Improvetime to obtain test dataVSAvoidmanual process
Core Design Contradiction:
Loss of timeVSExtent of automation

Solution Approach 1:

The system enables self-service by allowing the testing data service to automatically retrieve and generate test data without manual intervention. The orchestration layer autonomously coordinates between data sources, transforms data into required formats, and delivers test data packages, eliminating the need for manual data collection and preparation processes.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The testing data service acts as an intermediary between software developers and enterprise data sources. It receives data requests, coordinates with the orchestration layer to retrieve data from multiple sources, transforms the data into appropriate formats, and delivers ready-to-use test data, thereby automating the entire data provisioning workflow.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If automated test data generation is implemented, then productivity is improved, but system complexity increases

Engineering Contradiction:
Improvesoftware development speedVSAvoidsystem architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system is segmented into distinct functional components: the testing data service for receiving requests and managing data flow, the orchestration layer for coordinating operations, and the thread pool for parallel processing. This modular architecture manages complexity by assigning specific responsibilities to each component while maintaining clear interfaces between them.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The testing data service and orchestration layer provide universal functionality by handling multiple types of data requests simultaneously. The system can service various developers with different data requirements through a unified interface, using the same core infrastructure to generate diverse test data packages, thereby improving productivity without proportionally increasing complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If multiple developers request test data simultaneously, then collaborative development is supported, but resource coordination becomes challenging

Engineering Contradiction:
Improvesupport for multiple developersVSAvoidrequest coordination
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The thread pool provides dynamic resource allocation by automatically adjusting the number and distribution of worker threads based on request patterns. When multiple developers submit data requests simultaneously, the system dynamically spawns additional threads to handle the load, ensuring that resource coordination scales with demand rather than requiring static pre-configuration.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system maintains continuous operation by processing multiple data requests in parallel through the thread pool. Instead of handling requests sequentially, the orchestration layer distributes requests across multiple concurrent threads, ensuring that useful action continues uninterrupted for all developers simultaneously, thereby supporting collaborative development efficiently.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10824544B1Generating test data as a service for use in testing software during software development
Publication Date: 2020.11.03 INTUIT INC
  • US10824544B1 patent drawing
  • US10824544B1 patent drawing
  • US10824544B1 patent drawing

AI summary

A system in an enterprise environment. A testing data service (TDS) is in communication with the storage device. The TDS receives and transmits a request for a data structure with a data combination arranged in a format specified in the request. The TDS also receives a generated data structure having the type of data structure and a generated data combination of the type of data. The system also includes an orchestration layer, in communication with the TDS. The orchestration layer includes a query engine that receives the request from the TDS. The orchestration layer also includes a data structure generator that builds the generated data structure to have the type of data structure and to populate the generated data structure with the data combination of the type of data received from the query engine. The orchestration layer is further configured to transmit the generated data structure to the TDS.