Adaptive Test Case Selection for Software Build Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In fast-paced software development environments where modifications are made frequently, traditional error detection and debugging methods become impractical due to the increased time and resources required for executing all test cases for each build of the mainline.

Innovation Solution

The implementation of an adaptive test case selection system that utilizes trained computerized models, including a test selection model and a defect prediction model, to rank test cases based on their relevance and likelihood of identifying defects, thereby reducing the number of test cases executed for each build.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all test cases are executed for each build to ensure comprehensive error detection, then reliability is improved, but productivity deteriorates due to increased time and resource consumption

Engineering Contradiction:
Improveerror detection capabilityVSAvoidbuild frequency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system executes only a selected subset of test cases rather than all test cases for each build. The test selection model identifies and executes only those test cases most relevant to the current build changes, achieving adequate error detection with reduced testing effort and faster build cycles

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system dynamically changes the test execution parameters by using trained models to select which test cases to run based on build characteristics, commit patterns, and historical defect data. This adaptive parameter selection optimizes the balance between thoroughness and speed

Inventive Principle:
Principle #35Parameter changes

2Productivity

If adaptive test case selection is used to reduce testing time and resources, then productivity is improved, but reliability may deteriorate due to fewer test cases executed

Engineering Contradiction:
Improvebuild frequencyVSAvoiderror detection capability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system incorporates feedback loops where test results, defect predictions, and model performance are continuously monitored and used to retrain and refine the test selection and defect prediction models. This ensures the system learns from past performance and maintains high reliability while operating efficiently

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The defect prediction model performs preliminary analysis of build characteristics and commit patterns before test case selection. This preliminary action identifies builds at high risk of containing defects, allowing the system to prioritize comprehensive testing for those builds while using lighter testing for lower-risk builds

Inventive Principle:
Principle #10Preliminary action

3Reliability

If comprehensive test suites are maintained to cover all possible scenarios, then reliability is improved, but device complexity increases due to the large number of test cases

Engineering Contradiction:
Improvetest coverageVSAvoidtest case management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The comprehensive test suite is segmented into multiple categories and prioritized based on relevance to different build scenarios. The test selection model divides the test case pool into high-priority, medium-priority, and low-priority groups, executing only the necessary segments for each build type

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The test selection model acts as an intermediary between the comprehensive test suite and the actual test execution. It filters and prioritizes test cases based on build characteristics, commit patterns, and historical data, managing the complexity by introducing an intelligent selection layer

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If frequent builds are produced to accelerate software delivery, then productivity is improved, but loss of time increases due to repeated comprehensive testing

Engineering Contradiction:
Improvesoftware delivery speedVSAvoidtesting time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

For frequent builds, the system executes only a partial set of test cases focused on the specific changes introduced in that build. The test selection model identifies minimal sufficient test cases that cover the modified code paths, reducing testing time while maintaining adequate quality verification

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system implements periodic comprehensive testing at intervals (e.g., daily or weekly) alongside lighter testing for individual builds. This periodic action ensures thorough coverage over time while allowing frequent builds to proceed with reduced testing overhead

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS20250190331A1Software application build testing with adaptive test case selection
Publication Date: 2025.06.12 SAP SE
  • US20250190331A1 patent drawing
  • US20250190331A1 patent drawing
  • US20250190331A1 patent drawing

AI summary

Various examples are directed to systems and methods for maintaining a software application. A testing system may execute a test selection computerized model, where an output of the test selection computerized model is based at least in part on the commit operation and a plurality of test cases. The testing system may also execute a defect prediction computerized model, where an output of the defect prediction computerized model is based at least in part on the commit operation. The testing system may generate a ranked set of test cases selected from the plurality of test cases, the ranked set of test cases comprising less than all of the plurality of test cases and execute at least a portion of the ranked set of test cases against the build of the software application.