Code Coverage Map for Selective Software Test Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software development involves extensive and time-consuming testing processes, particularly as software systems become large and complex, leading to inefficiencies in providing feedback on code changes.
Innovation Solution
A code coverage map is maintained to identify which tests execute specific sections of code, allowing a testing service to run only relevant tests rather than the entire set, thereby reducing the time required to provide feedback on code changes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all tests are run on code changes, then testing completeness is improved, but testing time increases
Solution Approach 1:
The patent segments the complete test suite into individual test cases and selectively executes only those tests that are relevant to the modified code sections. By dividing the monolithic testing approach into granular, selectable test units, the system can run a subset of tests rather than the entire suite, thereby reducing testing time while maintaining adequate coverage of affected functionality.
Solution Approach 2:
The patent applies local quality by identifying and executing only the specific tests that are relevant to the local changes in the codebase. Instead of uniformly running all tests across the entire system, the system tailors the test execution to the specific modified sections, ensuring that testing resources are concentrated where they are most needed while avoiding unnecessary execution of unrelated tests.
2Reliability
If comprehensive testing is performed, then software quality is improved, but development productivity decreases
Solution Approach 1:
The patent implements partial action by executing only the necessary subset of tests required to verify the quality of code changes, rather than running the complete test suite. This partial execution approach maintains adequate quality assurance for modified functionality while avoiding the excessive time consumption of comprehensive testing, thereby improving development productivity without sacrificing essential quality checks.
3Measurement precision
If the entire test suite is executed, then test coverage is improved, but feedback time increases
Solution Approach 1:
The patent segments the test suite and executes only the relevant portion needed to provide feedback on code changes. By dividing the complete test set into individual executable units and selecting only those that pertain to modified code, the system achieves sufficient measurement precision for the changes at hand while dramatically reducing the feedback time required to inform developers about test results.
Data Source
AI summary
An environment and techniques for intelligently selecting which tests of multiple different tests to run on a particular section or sections of code, such as one or more lines of code that a developer has altered, are described herein. In this manner, the techniques may allow developers to receive feedback on their software more quickly by running a subset of tests, rather than each test in a predefined set of tests.


