Modular Software Testing Using Dependency-Based Test Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The frequent performance of full test cycles during software development leads to excessive computational resources and time consumption, while manual adjustment of test plans introduces human error and potential delays.
Innovation Solution
A dynamic test plan is automatically created based on modified source code, selecting a targeted subset of tests relevant to impacted modules, using dependency and impact maps to determine necessary tests.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If full test cycles are performed frequently during software development, then code quality and reliability are improved, but computational resource consumption and time usage increase excessively
Solution Approach 1:
The patent segments the test suite into multiple independent test cases organized by module. Instead of executing all tests in a full test cycle, the system selectively executes only the relevant test cases that correspond to modified modules. This segmentation allows the testing process to focus computational resources on specific areas that need verification, thereby maintaining code quality while reducing overall resource consumption and time usage.
2Reliability
If full test cycles are performed frequently during software development, then code quality and reliability are improved, but time consumption increases excessively
Solution Approach 1:
The patent establishes dependency maps and impact maps in advance that define the relationships between modules and their associated test cases. When code changes are detected, the system uses these pre-computed maps to quickly identify which test cases are relevant, eliminating the need to analyze the entire test suite. This preliminary preparation enables rapid selection of necessary tests, significantly reducing time consumption while maintaining thorough testing of affected areas.
3Adaptability or versatility
If manual adjustment of test plans is performed, then testing can be adapted to specific changes, but human error and potential delays are introduced
Solution Approach 1:
The patent implements an automated feedback mechanism that monitors code changes and automatically updates the test plan based on dependency relationships. When modifications are detected in the codebase, the system queries the dependency map to identify affected modules and automatically selects the corresponding test cases. This closed-loop feedback system eliminates manual intervention, thereby preventing human error while maintaining high adaptability to specific code changes through automated, context-aware test selection.
4Adaptability or versatility
If manual adjustment of test plans is performed, then testing can be adapted to specific changes, but delays are introduced
Solution Approach 1:
The patent enables the testing system to serve itself by automatically selecting appropriate test cases based on code changes and dependency relationships. The system queries the impact map and dependency map to autonomously determine which tests are necessary, eliminating the need for manual test plan adjustment. This self-service approach maintains full adaptability to specific changes while dramatically improving productivity by removing manual overhead and potential delays.
Data Source
AI summary
An example computing platform is configured to identify a subset of source code files for a modular software application that have changed. The computing platform further creates a dynamic test plan comprising a targeted subset of available software tests by (i) obtaining a dependency map that identifies various dependency relationships between the software application's modules, (ii) based on the dependency map, generating an impact map that identifies various impact relationships between the software application's modules, (iii) based on the impact map, generate a test map that identifies various tests that correspond to the software application's modules, and (iv) select the targeted subset of available software tests based on the test map and the identified subset of source code files. Finally, the computing platform executes the dynamic test plan comprising the targeted subset of available tests.


