Continuous Integration Test Failure Troubleshooting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Continuous integration pipeline testing failures often result in false failures due to issues unrelated to the source code, such as improper setup or teardown of computing resources, which are difficult to detect and resolve manually, especially when tests are executed in random orders.

Innovation Solution

An automated troubleshooting process that re-executes groups of tests according to predefined rules to determine the cause of failures, including executing tests in different orders and on multiple commits, to differentiate between false and true failures, and takes corrective actions such as modifying the testing sequence or skipping tests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If tests are executed in random order during continuous integration pipeline, then testing coverage is improved, but false failures increase due to improper setup or teardown of computing resources

Engineering Contradiction:
Improvetesting coverageVSAvoidfalse failures
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary analysis by re-executing tests in different orders (e.g., alphabetical order, reverse order) before making a determination. This preliminary action allows the system to establish a baseline and compare results, enabling it to distinguish between true failures and false failures caused by test execution order or resource state issues.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback by analyzing the results of re-executed tests and using this information to determine whether a failure is genuine or spurious. The feedback loop compares test outcomes across different execution orders and uses this comparison to automatically identify false failures, reducing manual intervention.

Inventive Principle:
Principle #23Feedback

2Measurement precision

If manual troubleshooting is performed to identify false failures, then accuracy in identifying the root cause is improved, but time consumption and complexity increase significantly

Engineering Contradiction:
Improveroot cause identification accuracyVSAvoidtroubleshooting time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs self-service by automatically troubleshooting test failures without requiring manual intervention. It re-executes tests, analyzes results, and autonomously determines whether a failure is false or true, thereby eliminating the time-consuming manual troubleshooting process while maintaining high accuracy through systematic analysis.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system creates copies of the test execution environment and re-runs tests in these copied contexts with different configurations (e.g., different execution orders). By comparing results across these copied executions, the system can identify patterns that indicate false failures without requiring manual replication of test scenarios.

Inventive Principle:
Principle #26Copying

3Measurement precision

If all tests are re-executed to determine the cause of failure, then comprehensive analysis is improved, but productivity of continuous integration pipeline decreases

Engineering Contradiction:
Improvefailure analysis comprehensivenessVSAvoidcontinuous integration speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system applies partial action by re-executing only the specific test that failed and potentially a limited set of related tests, rather than re-executing the entire test suite. This selective re-execution provides sufficient information to determine whether the failure is false or true while minimizing the impact on continuous integration pipeline productivity.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11061808B2Troubleshooting test failures that occurred during a testing phase of a continuous integration pipeline
Publication Date: 2021.07.13 RED HAT INC
  • US11061808B2 patent drawing
  • US11061808B2 patent drawing
  • US11061808B2 patent drawing

AI summary

Some examples of the present disclosure relate to troubleshooting test failures that occurred during a testing phase of a continuous integration pipeline. In one particular example, a system can detect that an artifact failed the testing phase. The testing phase can involve each worker node in a plurality of worker nodes executing a respective group of tests on the artifact. Based on detecting that the artifact failed the testing phase, the system can determine a particular worker node that executed a test that failed during the testing phase. The system can then determine the respective group of tests that was executed by the particular worker node during the testing phase. The system can re-execute the respective group of tests on the artifact in accordance with troubleshooting rules to determine a reason that the test failed during the testing phase.