ML-Based Test Case Selection for Software Quality

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The rapid release cycles of electronic services and software modifications lead to increased pressure for quick defect fixes, making it challenging to ensure software quality through effective testing, as existing methods struggle to efficiently select and optimize relevant test cases in a timely manner.

Innovation Solution

A machine learning model using unsupervised algorithms and Natural Language Processing (NLP) is created to cluster requirements and associate them with test cases, allowing for dynamic selection and execution of relevant test cases based on similarity comparisons, with the ability to retrain and adjust thresholds for improved accuracy over time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional testing methods are used to ensure software quality, then software defects can be detected, but the testing process becomes time-consuming and cannot keep pace with rapid release cycles

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

Solution Approach 1:

The patent transforms test case selection from a manual, experience-based process to an automated, data-driven process by changing the parameters of test case characteristics into numerical vectors. This enables machine learning algorithms to objectively evaluate and select test cases based on multiple dimensions such as requirement coverage, defect history, and code change impact, thereby reducing testing time while maintaining quality

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent replaces the mechanical, manual test case selection process with an intelligent system using machine learning algorithms. The system automatically analyzes requirement documents, historical defect data, and code changes to predict and select relevant test cases, substituting human judgment with automated intelligent analysis that operates faster and scales better

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

2Reliability

If more test cases are created and executed to cover all possible scenarios, then software quality improves, but the complexity and cost of the testing process increases

Engineering Contradiction:
Improvesoftware qualityVSAvoidtesting process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts only the most relevant test cases from the complete test suite by using machine learning algorithms to identify and select test cases that are most likely to detect defects. This extraction process filters out unnecessary test cases, reducing testing complexity and resource requirements while maintaining high software quality through targeted testing of critical areas

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial action by executing only a subset of test cases that are predicted to be most effective, rather than running the complete test suite. The machine learning model determines the optimal number and type of test cases to execute based on risk assessment and historical data, achieving sufficient quality coverage without the excessive complexity of comprehensive testing

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If test case selection is done manually based on expert judgment, then relevant test cases can be identified, but the process is slow and cannot adapt quickly to changing requirements

Engineering Contradiction:
Improvetest case selection accuracyVSAvoidtest case selection speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent replaces manual expert judgment with automated machine learning algorithms that analyze test case characteristics, requirement documents, and historical defect data to select relevant test cases. This substitution maintains high selection accuracy by using multiple analysis dimensions while dramatically increasing selection speed and enabling rapid adaptation to changing requirements through automated processing

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

Solution Approach 2:

The patent implements self-service by enabling the system to automatically learn from historical testing data and improve its test case selection capabilities over time. The machine learning model continuously refines its predictions based on feedback from actual defect detection results, allowing the system to self-optimize without requiring manual retraining or expert intervention for each new testing scenario

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11256609B1Systems and methods to optimize testing using machine learning
Publication Date: 2022.02.22 INTEC BILLING INC
  • US11256609B1 patent drawing
  • US11256609B1 patent drawing
  • US11256609B1 patent drawing

AI summary

A machine learning (ML) model is created via training or re-training one or more ML algorithms using past release(s) data (e.g., data comprising of requirements and corresponding test cases). The ML model comprises various clusters and these clusters are dynamically created every time when the ML model is trained (or retrained). One or more requirements exist in each cluster, and each requirement has one or more test cases associated with it. New requirements are mapped to a particular cluster and then test cases are compared against a universe of other test cases to determine whether to add a particular test case to a list of test cases that test the new requirement.