Analytics-Based Test Case Selection for Regression Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In software testing, selecting the appropriate test cases for regression testing is inefficient due to the large number of test cases, leading to excessive time spent on maintaining test scripts and poor defect identification, often caused by lack of understanding of future changes, late engagement in the development cycle, and lack of communication with developers.

Innovation Solution

A method using analytics to define an evolving set of test cases by assigning weights to criteria such as stakeholder needs, code complexity, defect rates, and social media comments, ranking test cases, and reassigning them based on adjusted weights to prioritize automation and regression testing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire system of test cases is executed, then testing completeness is improved, but time consumption and cost increase

Engineering Contradiction:
Improvetesting completenessVSAvoidtime consumption
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the entire test case system into multiple groups based on criteria such as code complexity, defect density, and change frequency. This segmentation allows selective execution of high-priority test case groups while excluding low-priority ones, thereby reducing time consumption while maintaining essential testing completeness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes parameters by dynamically adjusting test case selection based on multiple weighted criteria including code complexity, defect density, and change frequency. This parameter-based filtering enables the system to identify and execute only the most relevant test cases, optimizing the balance between testing completeness and time consumption.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If more test cases are selected for regression testing, then defect identification capability is improved, but maintenance effort increases

Engineering Contradiction:
Improvedefect identification capabilityVSAvoidmaintenance efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies parameter changes by using multiple weighted criteria (code complexity, defect density, change frequency) to dynamically determine which test cases should be selected for regression testing. This parameter-based approach optimizes defect identification capability while minimizing the number of test cases that require maintenance.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements a self-service mechanism where the system automatically selects and prioritizes test cases based on predefined criteria, reducing the need for manual maintenance effort. The automated selection process based on objective parameters eliminates the need for continuous manual review and adjustment of test case priorities.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If test selection is based on intuitive engineer judgment, then adaptability to specific cases is improved, but consistency and objectivity deteriorate

Engineering Contradiction:
Improveadaptability to specific casesVSAvoidselection objectivity
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The patent transforms subjective engineer judgment into objective parameter-based selection by defining multiple quantifiable criteria (code complexity, defect density, change frequency) with assigned weights. This approach maintains adaptability to specific cases while ensuring consistency and objectivity through standardized measurement and calculation.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces an intermediary computational model that acts as a mediator between engineer requirements and test case selection. This model objectively processes multiple criteria and automatically generates test case priorities, eliminating bias while preserving the ability to adapt to different project requirements through configurable parameters.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Speed

If test cases are prioritized using single criterion, then selection speed is improved, but accuracy of test case prioritization deteriorates

Engineering Contradiction:
Improveselection speedVSAvoidprioritization accuracy
Core Design Contradiction:
SpeedVSMeasurement precision

Solution Approach 1:

The patent merges multiple criteria (code complexity, defect density, change frequency) into a unified prioritization model with weighted scores. This combination approach maintains selection speed through automated computation while significantly improving prioritization accuracy by considering multiple dimensions of test case importance simultaneously.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent uses parameter changes by transforming multiple individual criteria into a composite priority score through weighted summation. This parameter transformation enables rapid automated selection while achieving accurate prioritization by aggregating information from multiple sources into a single decisive metric.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10127143B2Generating an evolving set of test cases
Publication Date: 2018.11.13 KYNDRYL INC
  • US10127143B2 patent drawing
  • US10127143B2 patent drawing
  • US10127143B2 patent drawing

AI summary

A method, system and computer program product for defining an evolving set of test cases for testing software applications. In an embodiment, the method comprises identifying a set of criteria for the test cases; assigning a weight to each of the criteria; and for each of a multitude of test cases, assigning a value to each of the criteria, and determining a criteria score for the test case based on the values assigned to the criteria for the test case and the weights assigned to the criteria. Each of the test cases is assigned to one of a plurality of groups based on the criteria scores. Each of the groups of test cases is associated with one of a plurality of testing procedures, and one of those procedures is selected to test a software application using the group of test cases associated with that selected testing procedure.