Machine Learning Model for Software Test Case Prediction
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
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
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.
Data Source
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.


