Parallel Software Testing With Isolated Database Instances

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software testing methods that run tests in parallel often result in database conflicts, such as table-locking errors and record-locking errors, due to tests attempting to access the same database instance concurrently, leading to increased testing time and potential code incompatibilities.

Innovation Solution

Distribute test cases among different instances of a software application, each associated with a separate database instance, allowing parallel execution to avoid database conflicts and reduce testing time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If tests are executed sequentially to avoid database conflicts, then test reliability is maintained, but testing time increases significantly

Engineering Contradiction:
Improvetest reliabilityVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the test suite into multiple independent test sets that can be executed in parallel. Each test set is assigned to a separate thread and operates on its own isolated database instance, allowing concurrent execution without database conflicts. This segmentation enables the system to maintain reliability while reducing overall testing time from hours to minutes.

Inventive Principle:
Principle #1Segmentation

2Productivity

If tests are executed in parallel to reduce testing time, then productivity improves, but database conflicts and test errors increase

Engineering Contradiction:
Improvetesting efficiencyVSAvoidtest accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent creates multiple copies of the database instance, with each parallel test thread operating on its own isolated database copy. This copying approach allows tests to run in parallel with high productivity while maintaining test accuracy, as each test set has exclusive access to its database instance and cannot interfere with other concurrent tests.

Inventive Principle:
Principle #26Copying

3Speed

If multiple database instances are created to enable parallel testing, then testing speed increases, but system complexity increases

Engineering Contradiction:
Improvetest execution speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent changes the parameter of database instance isolation from single-shared to multiple-isolated instances, enabling parallel test execution at different speed levels. By adjusting this parameter, the system achieves faster testing speeds while managing complexity through automated instance management and teardown procedures.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12613792B2Software testing in parallel with different database instances
Publication Date: 2026.04.28 STATE FARM MUTAL AUTOMOBILE INSURANCE COMPANY
  • US12613792B2 patent drawing
  • US12613792B2 patent drawing
  • US12613792B2 patent drawing

AI summary

Test cases written to test a software application can be dynamically distributed among a set of software application instances such that different sets of test cases can execute simultaneously in parallel, thereby speeding up testing relative to executing the test cases sequentially. To avoid database conflicts that may occur when different test cases are executed in parallel, each software application instance can be associated with a different database instance. Accordingly, a first test case executing in association with a first database instance can avoid interfering with a second test case executing in association with a second database instance.