Adaptive Regression Testing via Data Change Mapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing regression testing methods do not effectively address data changes, which can impact software behavior in complex computerized systems, leading to costly defects and inefficiencies, especially when they bypass the software development process.
Innovation Solution
An adaptive regression testing method that generates monitoring results to identify relevant data and source code segments, maps test cases to these segments, detects data changes, selects relevant test cases, and evaluates their impact, allowing for targeted testing and potential source code adjustments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If retest all technique is used to ensure software stability after changes, then reliability is improved, but productivity deteriorates due to the expensive and time-consuming nature of running the entire test suite
Solution Approach 1:
The patent segments the monolithic test suite into smaller, independent test case groups based on code change analysis. Instead of running all test cases after every change, the system identifies and executes only the relevant segments of tests that correspond to modified code areas, thereby maintaining reliability while improving productivity.
Solution Approach 2:
The patent applies partial action by executing only a subset of test cases rather than the complete test suite. The system determines the minimum necessary test coverage by analyzing code changes and selecting only those test cases that are relevant to the modifications, avoiding unnecessary test executions.
2Productivity
If regression test selection is performed to improve productivity by selecting part of the test suite, then productivity is improved, but measurement precision deteriorates because it becomes difficult to accurately determine which test cases are relevant to code changes
Solution Approach 1:
The patent implements feedback mechanisms where test execution results and code change information are continuously analyzed to refine test case selection. The system learns from past test outcomes and code change patterns to improve the accuracy of identifying relevant test cases, thereby maintaining measurement precision while achieving productivity gains.
Solution Approach 2:
The patent replaces manual or simple automated test selection methods with advanced analytics and machine learning techniques. The system automatically analyzes code changes, historical test data, and software architecture to intelligently determine which test cases are relevant, substituting mechanical selection processes with sophisticated computational analysis.
3Ease of operation
If data changes are not considered in regression testing, then ease of operation is maintained, but reliability deteriorates because data changes can impact software behavior in complex computerized systems
Solution Approach 1:
The patent creates a universal regression testing framework that simultaneously handles both code changes and data changes. The system is designed to monitor and respond to multiple types of changes (code modifications, data changes, configuration changes) within a single integrated process, maintaining ease of operation while improving reliability through comprehensive coverage.
Solution Approach 2:
The patent performs preliminary analysis of potential data changes before executing regression tests. The system proactively identifies data changes that may impact software behavior and pre-selects relevant test cases that should be executed in response to these changes, ensuring reliability is maintained without complicating the operational process.
Data Source
AI summary
A method, non-transitory computer readable medium and a computerized system for adaptive regression testing. The method may include (a) generating or receiving monitoring results that are indicative of relevant data segments and relevant source code segments; (b) generating, based on the monitoring results, a first mapping that maps test cases of the multiple test cases to at least some of the relevant data segments; (c) detecting detected data changes introduced during a monitoring period that follows the execution of the regression tests; (d) selecting, based on the detected data changes and the first mapping, one or more selected test cases for evaluating an impact of the detected data changes; and (e) evaluating the impact of the detected data changes by executing the one or more selected test changes.

