ML Test Suite Generator for Time-Constrained Execution
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Reliability
If the quantity of tests is increased to improve product quality, then testing coverage is improved, but execution time becomes unmanageable
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
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
2Reliability
If all tests are executed to ensure quality, then testing completeness is improved, but development agility deteriorates
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
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
3Reliability
If test quantity increases to cover more scenarios, then testing coverage is improved, but test selection complexity increases
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
Data Source
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.


