Machine Learning Model for Software Test Case Prediction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current automated software testing methods are inefficient and prone to errors due to the cumbersome and error-prone process of human test case selection, which often results in incomplete or redundant testing of software modules.

Innovation Solution

A machine-learning based technique for software testing that involves training a model using log information from executed test cases to predict the most relevant test cases for new software releases, thereby optimizing test case selection and reducing manual intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If human operators manually select test cases based on experience, then test case selection can address specific functionalities, but the process is cumbersome and error-prone with strong dependence on operator expertise

Engineering Contradiction:
Improvetest case selection accuracyVSAvoidtesting process complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent replaces the manual human operator selection process with an automated machine learning model that analyzes log information and predicts relevant test cases. This substitution eliminates the dependence on human expertise and experience while providing consistent, objective test case selection based on data-driven insights.

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

Solution Approach 2:

The system enables self-service by allowing the machine learning model to autonomously select test cases without human intervention. The model processes log information from previous test executions and automatically determines which test cases should be executed for new software releases, making the testing process independent of manual operator input.

Inventive Principle:
Principle #25Self-service

2Productivity

If automated software testing is implemented, then testing efficiency increases, but the time available for software testing has decreased due to frequent software changes and shorter release cycles

Engineering Contradiction:
Improvesoftware testing efficiencyVSAvoidtesting time availability
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies partial action by selecting only the most relevant subset of test cases for execution rather than running the complete test suite. The machine learning model identifies and prioritizes test cases that are most likely to detect defects in the new software release, allowing the system to achieve effective testing with reduced execution time and resource consumption.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system performs preliminary analysis by processing log information from previous test executions before the actual testing phase. The machine learning model is trained on historical test data and uses this pre-processed information to predict which test cases should be executed, enabling faster test case selection and reducing the overall testing timeline.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If comprehensive test coverage is achieved, then software quality improves, but redundant testing occurs when software modules have not changed compared to the preceding release

Engineering Contradiction:
Improvesoftware qualityVSAvoidtesting resource consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent applies local quality by tailoring the test case selection to the specific changes in the software release. The machine learning model analyzes log information to identify which software modules have been modified and selects test cases that specifically target those changed areas, rather than uniformly testing all modules. This ensures comprehensive coverage of modified components while avoiding redundant testing of unchanged modules.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system detects parameter changes in software modules by comparing the new release against the preceding release using log information. The machine learning model uses these detected changes as input features to predict which test cases are relevant, dynamically adjusting the test suite based on the specific modifications present in each release.

Inventive Principle:
Principle #35Parameter changes

4Measurement precision

If more test cases are executed to cover all software modules, then testing completeness improves, but the amount of test data produced increases

Engineering Contradiction:
Improvetest coverage completenessVSAvoidtest data volume
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential and relevant test cases from the complete test suite based on analysis of log information. The machine learning model identifies and extracts the subset of test cases that are most relevant to the current software release changes, discarding unnecessary test cases. This extraction process maintains test coverage completeness for critical areas while significantly reducing the volume of test data that needs to be processed and analyzed.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS12339764B2Machine-learning based software testing technique
Publication Date: 2025.06.24 TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
  • US12339764B2 patent drawing
  • US12339764B2 patent drawing
  • US12339764B2 patent drawing

AI summary

A technique of training a model for determining a test case for software testing is presented, wherein the software testing is based on a set of test cases built for a set of software modules comprised by a software to be tested. The technique uses artificial intelligence and comprises obtaining log information resulting from execution of each of the test cases, wherein the log information is obtained per software module and per executed test case, and performing supervised machine learning based on the log information obtained per software module and per executed test case as input to train a model for predicting the executed test case.