Test Result Stability Scoring for Integration Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Automated testing environments often produce inconsistent results, making it difficult to identify code errors and reducing the effectiveness of regular testing, as unstable test results can erroneously report failures due to variations in test environments and over time.

Innovation Solution

A method to determine a test result stability score by evaluating the consistency of test results, which involves running the test protocol multiple times to refine the score, and re-running tests on previous code versions to account for time-variant changes, allowing for more accurate assessment of new code versions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If tests are run multiple times to improve result consistency, then test reliability is improved, but testing time and resources are increased

Engineering Contradiction:
Improvetest result consistencyVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by running tests multiple times beforehand to establish a stability score before making acceptance decisions. This preliminary testing phase allows the system to predict test outcome stability and avoid unnecessary re-testing, thereby resolving the contradiction between improving reliability through repeated testing and minimizing time loss.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms by analyzing test result patterns and generating stability scores that inform future testing decisions. The feedback loop allows the system to learn from previous test outcomes and adjust testing frequency, ensuring reliable results while optimizing testing time and resources.

Inventive Principle:
Principle #23Feedback

2Measurement precision

If tests are run frequently to detect errors early, then error detection capability is improved, but resource consumption is increased

Engineering Contradiction:
Improveerror detection capabilityVSAvoidresource consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The system changes the parameter of testing frequency dynamically based on calculated stability scores. When stability is high, testing frequency is reduced; when stability is low, testing frequency is increased. This adaptive parameter adjustment allows the system to maintain high error detection capability while optimizing resource consumption.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system applies partial testing action by running tests a sufficient number of times to establish stability rather than continuously. This partial action approach provides adequate error detection capability without the excessive resource consumption of constant re-testing.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If unstable test results are accepted to speed up the process, then testing speed is improved, but false negatives increase

Engineering Contradiction:
Improvetesting speedVSAvoidfalse negative rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system replaces the mechanical approach of always running tests with a computational approach using stability scores and predictive analysis. This substitution allows the system to quickly determine whether full testing is necessary or if results can be trusted based on historical stability data, thereby maintaining high productivity while minimizing false negatives.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The system performs preliminary analysis of test stability before making acceptance decisions. By evaluating historical test results and calculating stability scores in advance, the system can quickly determine whether to accept results without full re-testing, thus maintaining high testing speed while ensuring reliability through the preliminary stability assessment.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20240012745A1Test result stability scoring in integration testing
Publication Date: 2024.01.11 GM CRUISE HOLDINGS LLC
  • US20240012745A1 patent drawing
  • US20240012745A1 patent drawing
  • US20240012745A1 patent drawing

AI summary

Software code is tested to determine relative performance of the software code. Successfully executing a test may be used to flag problems in a code repository to be corrected or criteria for accepting code for acceptance to the repository. To further evaluate test results, the test may be run several times on the same code version to determine a test result stability score describing how the test results may vary in different executions, such as a frequency that the code passes the test. Based on the score, additional tests may be run to further refine test result stability score. To evaluate time-variance of testing, when a code version fails a test, a previous version of the code may be run with the same test and the results compared to determine if a new regression was introduced.