Dynamic Test Prioritization Framework for CI Failure Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large and complex software projects with distributed repositories face significant hardware and time costs in test automation, leading to delayed detection and analysis of failures, which can result in prolonged software build issues and increased productivity losses.

Innovation Solution

A test framework that dynamically ranks and prioritizes tests based on historical failure data, running more frequently failing tests first and exiting early on failures, to reduce automation failure detection and analysis time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If test automation is run on large and complex software projects with distributed repositories, then test coverage is maintained, but hardware costs and time costs increase significantly

Engineering Contradiction:
Improvetest coverageVSAvoidfailure detection time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the test automation framework into multiple independent components: test priority analyzer, historical failure data processor, dynamic test selector, and test execution engine. This segmentation allows the system to process tests in smaller, manageable units rather than running all tests uniformly, reducing overall execution time while maintaining comprehensive coverage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary analysis of test historical data and failure patterns before executing the actual test suite. By pre-calculating test priorities and identifying high-risk areas based on historical failures, the system prepares an optimized test execution plan in advance, enabling faster failure detection without compromising coverage.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If comprehensive test automation is executed, then software quality is maintained, but the time to detect and analyze failures increases

Engineering Contradiction:
Improvesoftware qualityVSAvoidfailure analysis speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The test automation framework dynamically adjusts test execution priorities based on real-time historical data and failure patterns. Tests are re-ranked and re-ordered during execution based on their historical failure rates and current software state, allowing the system to adaptively focus on high-risk areas and accelerate failure detection while maintaining overall quality assurance.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements continuous feedback loops where test results and failure data are immediately processed and used to update test priorities for subsequent runs. This feedback mechanism enables the system to learn from past failures and progressively optimize test execution order, improving both detection speed and analysis efficiency over time.

Inventive Principle:
Principle #23Feedback

3Reliability

If test automation runs are extended to cover more tests, then test coverage improves, but hardware resources are strained and turnaround time increases

Engineering Contradiction:
Improvetest coverageVSAvoidhardware resource usage
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system applies partial action by selectively executing only the most critical tests based on historical failure data and current risk assessment. Rather than running all tests uniformly, the framework identifies and prioritizes tests with higher failure probabilities, achieving effective quality assurance with reduced hardware resource consumption and faster turnaround times.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12007880B2Dynamic test automation prioritization
Publication Date: 2024.06.11 SAP SE
  • US12007880B2 patent drawing
  • US12007880B2 patent drawing
  • US12007880B2 patent drawing

AI summary

Large and complex software projects may be distributed over multiple repositories and may use test automation of equivalent scale in continuous integration frameworks to maintain quality of the project. Such test automation often has significant hardware and time costs to run, which may mean that a failure of the software in the test automation takes longer to detect. Delay in fixing the software may increase the chance of more failures getting checked into the software repositories and perpetuating software failures. To address this issue, a ranking of historical test data is determined based on a number of failures for each test and a test configuration is determined based on the ranking such that tests that are ranked higher are performed before tests that are ranked lower. The test may be exited upon detection of failure instead of continuing.