Intelligent Test Indexing for Selective CI/CD Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The Shift Left approach in software development faces challenges such as sequential operation, dependency on test execution and feedback, waiting time, reduced development speed, communication and collaboration issues, iterative process complexity, and quality assurance delays, which hinder efficient and timely software testing and development.

Innovation Solution

A framework for indexing and organizing tests across an organization, enabling selective test execution by individuals, synchronizing the continuous integration and continuous delivery (CI/CD) development model with the Shift Left approach, using a configuration structure to automatically identify and execute relevant tests on product code, and facilitate communication between developers and QA teams.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If QA testing is performed later in the SDLC as in traditional models, then resource impact is reduced during early development stages, but testing time increases and bug fixes become more resource intensive

Engineering Contradiction:
Improvetesting timeVSAvoiddevelopment speed
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The system automatically executes relevant tests when code is committed to the repository, performing testing actions in advance before formal QA phases. This preliminary automated testing identifies issues early in the development cycle, reducing the need for extensive later testing and accelerating overall development speed while maintaining quality standards

Inventive Principle:
Principle #10Preliminary action

2Reliability

If comprehensive QA testing is performed, then software quality is improved, but testing effort and time consumption increase

Engineering Contradiction:
Improvesoftware qualityVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system extracts and executes only the specific tests relevant to the committed code changes, rather than running the entire test suite. By selectively identifying and running only the necessary tests based on code analysis, the system maintains comprehensive quality assurance while significantly reducing testing time and effort

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system performs partial testing by executing only the subset of tests that are relevant to the specific code changes, rather than performing excessive full-suite testing on every commit. This targeted approach maintains software quality while optimizing testing efficiency

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If manual test identification and execution is used, then test selection accuracy is improved, but automation extent is reduced

Engineering Contradiction:
Improvetest selection accuracyVSAvoidtest execution automation
Core Design Contradiction:
Measurement precisionVSExtent of automation

Solution Approach 1:

The system automatically analyzes committed code, identifies relevant tests, and executes them without manual intervention. The automated code analysis and test selection mechanisms replicate and enhance manual test identification accuracy while simultaneously increasing automation extent, eliminating the trade-off between precision and automation

Inventive Principle:
Principle #25Self-service

4Loss of information

If developers wait for QA feedback in sequential processes, then communication accuracy is improved, but development speed is reduced

Engineering Contradiction:
Improvecommunication accuracyVSAvoiddevelopment speed
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The system enables continuous automated testing and immediate feedback to developers as code is committed, eliminating sequential waiting periods. This continuous feedback loop maintains clear communication about code quality while significantly accelerating development speed by allowing developers to proceed without manual QA bottlenecks

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS20250208983A1Systems and/or methods for intelligent indexing and selective execution of distributed tests in organizations
Publication Date: 2025.06.26 SOFTWARE AG
  • US20250208983A1 patent drawing
  • US20250208983A1 patent drawing
  • US20250208983A1 patent drawing

AI summary

A software product development- and testing-related system receives an indication of code related to software being developed. A configuration structure is updated to include an entry for the code, and the code is stored to a test code repository, if it relates to a new test for the software. The entry specifies part(s) of the software to which the code is applicable. If the code is an update to a test already in the test code repository, the code is stored to the test code repository. If the code is product development code related to the software: one or more tests applicable to the code is/are identified using the configuration structure; each identified test is run on the code; and provided that each identified test is passed, the code is promoted to a product code repository for use with the software (otherwise a developer is alerted of a failure).