Dynamic Test Scheduling Using Historical Results

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software regression testing systems often waste time and resources by repeatedly running the same tests on software products during development, as they lack efficient scheduling and prioritization based on historical data and dynamic factors.

Innovation Solution

A system that reviews historical test results, applies weighing factors to recent tests, and dynamically schedules and distributes tests based on factors like error frequency, hardware availability, and performance to optimize the testing cycle.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If regression tests are run repeatedly against software products during development, then defects can be identified in a timely fashion, but time and resources are wasted by running the same tests over and over

Engineering Contradiction:
Improvedefect identification timelinessVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The test scheduling system dynamically adjusts test execution based on historical test information and changing software states. Tests are reordered in the queue according to their historical effectiveness and current relevance, making the testing process adaptive rather than static. This resolves the contradiction by maintaining high defect detection efficiency while reducing redundant test executions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback loops where historical test results are continuously analyzed and used to inform future test scheduling decisions. By weighing recent test information more heavily and using this feedback to prioritize tests, the system identifies defects efficiently without repeatedly running obsolete or low-value tests, thus reducing wasted time.

Inventive Principle:
Principle #23Feedback

2Reliability

If multiple tests are run against a product to identify defects, then comprehensive validation is achieved, but resource utilization becomes inefficient due to lack of prioritization

Engineering Contradiction:
Improvevalidation completenessVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system changes the parameter of test priority by assigning dynamic weights to tests based on historical performance and recency. This parameter transformation allows the system to maintain comprehensive validation coverage while optimizing resource allocation by executing high-priority tests first, thereby improving productivity without sacrificing validation completeness.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system performs preliminary analysis of historical test information before scheduling test execution. By pre-calculating test priorities and ordering tests in advance based on expected effectiveness, the system ensures comprehensive validation is achieved efficiently, maximizing resource utilization by running the most valuable tests first.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If tests are scheduled in a round robin manner, then simple scheduling is maintained, but testing efficiency decreases due to inability to prioritize critical tests

Engineering Contradiction:
Improvescheduling simplicityVSAvoidtesting efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system transforms the simple round-robin scheduling parameter into a dynamic priority-based parameter by incorporating historical test weights and recency factors. This parameter change maintains operational ease through automated calculation while dramatically improving testing efficiency by prioritizing tests that are most likely to identify current defects.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The test scheduling system serves itself by automatically analyzing historical test information and generating optimized test queues without manual intervention. This self-service capability maintains scheduling simplicity through automation while achieving high testing efficiency by dynamically prioritizing tests based on their historical effectiveness and current relevance.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8997061B1Test scheduling based on historical test information
Publication Date: 2015.03.31 TERADATA US INC
  • US8997061B1 patent drawing
  • US8997061B1 patent drawing
  • US8997061B1 patent drawing

AI summary

Systems and methods are described that schedule tests based on historical test information, such as tests that validate developed or changed code. For example, the system may review the results of previously used tests, order the tests based on the results, such as based on the performance of the code during the test, and apply the tests during a testing cycle based on the order.