Test Execution Optimizer for Parallel Regression Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Regression testing of analytics applications is time-consuming due to the sequential execution of thousands of tests, which can take several hours, and creating multiple testing environments to enable parallel execution is expensive and not scalable.

Innovation Solution

Identify data sources associated with each test, aggregate tests with common data sources into temporary groups, and generate test groups with mutually exclusive data sources, allowing for parallel execution within test group automation suites while maintaining sequential execution within each group to prevent data overwriting.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If tests are executed sequentially to prevent data overwriting, 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 test groups based on data source dependencies. Tests that access the same data sources are grouped together and executed sequentially within each group, while different groups can execute in parallel. This segmentation resolves the contradiction by maintaining sequential execution where needed (within groups) while enabling parallel execution where safe (between groups), thus reducing total testing time without compromising reliability.

Inventive Principle:
Principle #1Segmentation

2Loss of time

If multiple testing environments are created to enable parallel test execution, then testing time is reduced, but system complexity and cost increase

Engineering Contradiction:
Improvetesting timeVSAvoidsystem complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

Instead of creating multiple testing environments (adding spatial dimension), the patent introduces a temporal dimension by carefully orchestrating the execution order of test groups. Tests are assigned to different time slots based on their data source dependencies, allowing parallel execution semantics to be achieved through temporal scheduling rather than spatial multiplication. This resolves the contradiction by reducing testing time through parallelism without increasing system complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If multiple testing environments are created to enable parallel test execution, then parallel execution is achieved, but scalability deteriorates as test suite grows

Engineering Contradiction:
Improveparallel execution capabilityVSAvoidscalability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic test group assignment mechanism that automatically adapts as the test suite grows. The system dynamically analyzes data source dependencies and reorganizes tests into appropriate groups and execution schedules. This dynamic approach resolves the contradiction by maintaining parallel execution capability while automatically scaling to accommodate growing test suites without requiring manual reconfiguration or additional infrastructure.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11487647B2Test execution optimizer for test automation
Publication Date: 2022.11.01 PAYPAL INC
  • US11487647B2 patent drawing
  • US11487647B2 patent drawing
  • US11487647B2 patent drawing

AI summary

The systems and methods that determine tests that may be executed in parallel during regression testing of an analytics application are provided. Multiple tests that test functions of the analytics application are accessed from a test automation suite. For each test, data sources that provide data to the analytics application during the test are identified. The tests are aggregated into temporary groups according to the identified data sources. The test groups are generated from the temporary groups such that each test group comprises tests that are associated with non-overlapping data sources. The regression testing is performed on the application by executing the test groups in parallel.