Test Selection Analytics for Software Delivery Pipelines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for determining test impact analytics struggle to efficiently select relevant tests, leading to unnecessary test runs that slow down development and potentially miss important tests, causing inadequate code testing and production failures.

Innovation Solution

A system and method that statistically determine the relative importance of tests based on test history and timing, mapping tests to executed methods and code components, using build scanning and commit history to prioritize tests that cover modified or critical code, and employing machine learning models for optimal test selection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all tests are run to ensure complete code coverage, then test coverage is improved, but test execution time and infrastructure costs increase

Engineering Contradiction:
Improvetest coverageVSAvoidtest execution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts and identifies only the necessary subset of tests that must be run based on code change analysis. By separating essential tests from non-essential tests, the system runs only the critical tests (those covering modified code) while skipping tests for unchanged code, thereby reducing execution time while maintaining adequate coverage.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system performs preliminary analysis of code changes before test execution. By scanning commit history, build artifacts, and code diff information in advance, the system pre-determines which tests are relevant, allowing for optimized test selection and execution without running unnecessary tests.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If test selection is made quickly to reduce execution time, then productivity is improved, but the accuracy of selecting relevant tests deteriorates

Engineering Contradiction:
Improvetest selection speedVSAvoidtest relevance determination accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent introduces an intermediary analysis layer that processes code change information, commit history, and build artifacts to determine test relevance. This intermediary system uses heuristics and statistical analysis to accurately match code changes with relevant tests, ensuring high precision in test selection while maintaining efficient processing speed.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system replaces manual or simple rule-based test selection with an automated intelligent system that uses machine learning models and statistical analysis. This substitution enables rapid yet accurate test selection by automatically analyzing code changes and predicting relevant tests without human intervention.

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

3Measurement precision

If comprehensive test analytics are implemented to determine test importance, then test selection accuracy is improved, but system complexity increases

Engineering Contradiction:
Improvetest importance determination accuracyVSAvoidanalytics system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the test analytics system into distinct modular components: code change analysis module, commit history analysis module, build artifact scanning module, and test selection module. Each component handles a specific aspect of the analysis, making the overall complex system manageable and maintainable while providing comprehensive test importance determination.

Inventive Principle:
Principle #1Segmentation

4Loss of energy

If tests are selectively run based on code changes, then infrastructure costs are reduced, but the risk of missing critical tests increases

Engineering Contradiction:
Improveinfrastructure costsVSAvoidcritical test execution guarantee
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The system implements feedback mechanisms where test results and code change patterns are continuously analyzed to improve test selection accuracy. By monitoring which tests are actually needed based on historical data and code change patterns, the system learns and adapts, ensuring that critical tests are never missed while progressively optimizing resource usage.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12124357B2System and method for test selection according to test impact analytics
Publication Date: 2024.10.22 TRICENTIS ISRAEL LTD
  • US12124357B2 patent drawing
  • US12124357B2 patent drawing
  • US12124357B2 patent drawing

AI summary

A system and method for determining a relative importance of a selected test in a plurality of tests, comprising a computational device for receiving one or more characteristics relating to an importance of the code, an importance of each of the plurality of tests, or both; and for determining the relative importance of the selected test according to said characteristics.