Test Prioritization in Continuous Deployment Pipelines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Continuous deployment pipelines lack a quality guarantee due to the exclusion of user interface tests, which are rarely included due to their longer execution time, and manual setup of test sets is inconsistent and labor-intensive.

Innovation Solution

A method to prioritize tests in a continuous deployment pipeline by ranking them based on test attributes and context, using a decision engine to set and execute a test set that optimizes the testing process, ensuring user interface tests are included and executed efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If user interface tests are included in continuous deployment pipelines, then testing comprehensiveness and quality guarantee are improved, but pipeline execution time increases

Engineering Contradiction:
Improvequality guaranteeVSAvoidpipeline execution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the test suite into different categories (unit tests, integration tests, user interface tests) and applies different execution strategies to each segment. Critical user interface tests are prioritized and executed selectively based on pipeline context, while less critical tests are deferred or executed in parallel, thereby maintaining comprehensive testing without uniformly increasing execution time for all test types.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic test selection and prioritization based on pipeline context, code change analysis, and historical data. The test execution plan is dynamically adjusted for each deployment pipeline, selecting which user interface tests to include based on the specific code changes, pipeline type, and organizational priorities, thus adapting execution time requirements to actual needs rather than using a fixed approach.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If manual setup of test sets is used, then test configuration flexibility is maintained, but consistency and labor intensity worsen

Engineering Contradiction:
Improvetest configuration flexibilityVSAvoidmanual operations
Core Design Contradiction:
Adaptability or versatilityVSExtent of automation

Solution Approach 1:

The patent implements self-service through automated test set configuration where the system automatically determines which tests to include based on code change analysis, pipeline metadata, and historical patterns. The automated test selector analyzes the deployment pipeline configuration and code changes to automatically generate test sets without manual intervention, while still adapting to different organizational needs through configurable parameters and rules that can be set once and applied automatically across multiple pipelines.

Inventive Principle:
Principle #25Self-service

3Productivity

If test prioritization is implemented, then testing efficiency is improved, but system complexity increases

Engineering Contradiction:
Improvetesting efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent incorporates feedback mechanisms that continuously learn from pipeline execution results, test outcomes, and organizational patterns to improve test prioritization automatically. The system analyzes historical data about which tests are most critical, execution times, failure rates, and pipeline outcomes to refine its prioritization algorithm over time, reducing the need for manual tuning and complex configuration while continuously improving testing efficiency.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9652509B2Prioritization of continuous deployment pipeline tests
Publication Date: 2017.05.16 MICRO FOCUS LLC
  • US9652509B2 patent drawing
  • US9652509B2 patent drawing
  • US9652509B2 patent drawing

AI summary

A method to prioritize a plurality of tests in a continuous deployment pipeline. The method ranks the plurality of tests based on a test attribute and a test context to provide a test rank for each of the plurality of tests. The method sets a test set for the continuous deployment pipeline using the test ranks. The method executes the test set in the continuous deployment pipeline.