Machine Learning Test Case Selection for High-Risk Software

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing automated software testing processes are inefficient, requiring significant time and resources, often missing defects due to redundant test cases and inadequate coverage, especially in complex software, and lack mechanisms to learn from past tests to focus on high-risk areas.

Innovation Solution

A computer-implemented method using machine learning (ML) models, such as decision trees, random forests, and neural networks, to analyze historical data and generate optimized test cases by prioritizing scenarios likely to reveal defects, adapting to code changes and user feedback.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If exhaustive testing is used to test all possible combinations of input variables, then defect detection coverage is improved, but testing time and processing resources increase significantly

Engineering Contradiction:
Improvedefect detection coverageVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent changes the approach from testing all possible parameter combinations (exhaustive testing) to selecting and prioritizing specific parameter combinations based on machine learning predictions. The system transforms the testing problem by using historical data to predict which input parameter combinations are most likely to reveal defects, thereby reducing the testing space while maintaining high defect detection coverage.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements feedback mechanisms by using historical test results and defect data to train machine learning models. These models learn from past testing experiences and provide feedback on which test cases are most valuable for defect detection. This feedback loop enables the system to continuously improve its test case selection accuracy over time, reducing redundant testing while increasing effectiveness.

Inventive Principle:
Principle #23Feedback

2Productivity

If pairwise testing is used to reduce the number of test cases, then processing burden is reduced, but defect detection capability may be compromised

Engineering Contradiction:
Improveprocessing efficiencyVSAvoiddefect detection capability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent uses feedback from historical test results and defect reports to train machine learning models that predict the likelihood of defects in different test cases. This feedback mechanism enables the system to intelligently select test cases that are most likely to reveal defects, going beyond simple pairwise testing to achieve both efficiency and effectiveness.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent changes the test case selection approach from fixed pairwise combinations to dynamic, priority-based selection using machine learning predictions. The system adjusts which test cases to execute based on predicted defect likelihood, code changes, and historical data, thereby optimizing the balance between testing coverage and processing efficiency.

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If existing automated testing processes are used without learning mechanisms, then implementation is simpler, but redundant test cases are executed over multiple iterations

Engineering Contradiction:
Improveimplementation simplicityVSAvoidredundant testing time
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The patent introduces feedback mechanisms that capture historical test results, defect reports, and code change information to train machine learning models. These models provide intelligent feedback on which test cases are most valuable, enabling the system to learn from past iterations and avoid redundant testing in future iterations, thereby reducing wasted time while maintaining implementation feasibility.

Inventive Principle:
Principle #23Feedback

4Productivity

If test cases are generated without focusing on high-risk areas, then test generation is faster, but defect detection in critical areas is insufficient

Engineering Contradiction:
Improvetest generation speedVSAvoiddefect detection in critical areas
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent changes the test case generation approach by using machine learning predictions to identify and prioritize high-risk areas. The system analyzes historical data, code changes, and defect patterns to predict which input parameter combinations are most likely to reveal defects. This enables the system to focus testing efforts on critical areas while maintaining overall testing speed and efficiency.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20250321867A1System and Method for Test Case Optimizations for Software Testing
Publication Date: 2025.10.16 CBS INTERACTIVE INC
  • US20250321867A1 patent drawing
  • US20250321867A1 patent drawing
  • US20250321867A1 patent drawing

AI summary

An automation testing system includes a processor and a memory storing historical data which at least comprising past test results including input parameters and testing outcomes for each test case included in the past test results. The processor is configured to identify input parameters for a first iteration of a first software application having first functionalities; execute an initial test on the first iteration to generate initial results; based on the input parameters and the initial results, collecting first historical data at least comprising first past test results for at least one second software application having second functionalities corresponding to the first functionalities; training a model employing AI or ML based on the initial results and the first historical data to generate a trained model; executing the trained model with the input parameters as input to generate a set of test cases for testing the first functionalities.