Test Execution Optimizer for Parallel Regression Testing
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Reliability
If tests are executed sequentially to prevent data overwriting, then test reliability is maintained, but testing time increases significantly
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.
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
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.
3Productivity
If multiple testing environments are created to enable parallel test execution, then parallel execution is achieved, but scalability deteriorates as test suite grows
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.
Data Source
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.


