Test Data Generation With Predetermined Inconsistency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In high-replication database systems, ensuring data consistency between write and read operations is costly and often results in inconsistencies, leading to inaccurate data and application crashes, as existing testing methods fail to simulate realistic data inconsistencies effectively.
Innovation Solution
A system and method for generating test data with a predetermined degree of inconsistency, using a test policy to simulate the behavior of a high-replication datastore by selectively applying data operations from a transaction log to a simulated entity database, ensuring that read data may not reflect all write operations, thereby replicating the inconsistencies experienced in production environments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data modifying operations are immediately applied in high-replication datastore to ensure consistency, then data consistency between read and write operations is improved, but system resource consumption increases
Solution Approach 1:
The patent applies partial action by selectively applying data modifying operations to only a subset of replicas rather than all replicas. The system determines which replicas should receive write operations based on consistency requirements, allowing some replicas to remain updated while others can lag, thus reducing overall system resource consumption while maintaining acceptable consistency levels.
Solution Approach 2:
The system changes the consistency parameter by allowing read operations to return data that may not reflect all recent write operations. This parameter change from strong consistency to eventual consistency enables the system to reduce resource consumption by not forcing immediate propagation of all write operations to all replicas.
2Adaptability or versatility
If randomly generated test data is used to test applications, then testing coverage is improved, but realism of inconsistency simulation deteriorates
Solution Approach 1:
The system performs preliminary action by pre-generating realistic test data sets that contain inconsistencies similar to those found in production high-replication datastores. This pre-prepared test data includes realistic scenarios such as read operations returning stale data, partial write propagation, and timing-related inconsistencies, allowing applications to be tested with realistic conditions before deployment.
Solution Approach 2:
The patent uses copying by creating test data that replicates the inconsistency patterns found in production environments. Instead of using completely random data, the system copies the structural and behavioral characteristics of real datastore inconsistencies into test data, including realistic data models, relationship structures, and inconsistency patterns that mirror production behavior.
Data Source
AI summary
A method and a test system for specifying a predetermined degree of inconsistency for test data are disclosed. The test system obtains a test policy, which specifies a predetermined degree of inconsistency between write operations and subsequent read operations on a set of data and subsequently receives a request to provide test data to an application. In response to the request to provide test data to the application the test system generates a set of test data including a plurality of entities retrieved from the set of data, based at least in part on the test policy. The test data includes a respective entity that is not consistent with a previous write operation. The test system further provides the set of test data to the application. The application optionally processes the set of test data to produce results, which are used to determine performance of the application.


