ML Test Suite Generator for Time-Constrained Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing complexity and quantity of software tests in product development processes lead to unmanageable execution times, compromising product quality and development agility due to the lengthy process of executing and receiving results.

Innovation Solution

A processor-implemented method that automatically generates a test suite by selecting candidate test cases based on attributes such as execution history and source change sets, ensuring the estimated testing time meets a predetermined time requirement, and dynamically adjusts selection parameters to prioritize test case execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the quantity of tests is increased to improve product quality, then testing coverage is improved, but execution time becomes unmanageable

Engineering Contradiction:
Improveproduct qualityVSAvoidtest execution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the complete test suite into multiple subsets based on source code change identification. The test generation system divides tests into groups corresponding to different changed files or modules, allowing selective execution of only relevant test subsets rather than running the entire test suite, thus reducing execution time while maintaining quality coverage for changed areas

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements partial action by executing only the necessary portion of tests based on change detection. The system identifies tests relevant to specific source code changes and executes only those partial sets, rather than running all tests. This selective approach reduces execution time while maintaining adequate quality verification for the changed portions

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If all tests are executed to ensure quality, then testing completeness is improved, but development agility deteriorates

Engineering Contradiction:
Improvetesting completenessVSAvoiddevelopment agility
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-identifying and categorizing tests based on their association with source code elements before execution. The system performs advance analysis to map tests to source files, modules, or functions, creating a prepared structure that enables rapid selection of relevant test subsets during development iterations, thus maintaining agility without sacrificing completeness

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamics by making the test execution scope adaptive and variable based on change detection results. The system dynamically adjusts which tests are executed depending on the specific source code changes identified, allowing the testing process to flexibly respond to different development scenarios. This dynamic approach preserves development agility while ensuring appropriate testing completeness

Inventive Principle:
Principle #15Dynamics

3Reliability

If test quantity increases to cover more scenarios, then testing coverage is improved, but test selection complexity increases

Engineering Contradiction:
Improvetesting coverageVSAvoidtest selection complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary mechanism in the form of automated change detection and test mapping systems. This intermediary layer analyzes source code changes, identifies affected components, and automatically selects relevant tests based on predefined relationships between code elements and test cases. This intermediary automation reduces the complexity of manual test selection while maintaining comprehensive coverage

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10613856B2Automatic machine-learning high value generator
Publication Date: 2020.04.07 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10613856B2 patent drawing
  • US10613856B2 patent drawing
  • US10613856B2 patent drawing

AI summary

A processor-implemented method for generating a test suite within a time requirement is provided. The processor-implemented method includes executing a rule selection operation to determine candidate test cases utilizing attributes corresponding to each of the candidate test cases to produce selected test cases. The processor-implemented method includes determining whether an estimated testing execution time of the selected test cases is equal to or less than the time requirement. The processor-implemented method includes generating the test suite based on the selected test cases when the estimated testing execution time is equal to or less than the time requirement.