Automated Test Coverage Analysis for Software
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software testing systems face inefficiencies in identifying relevant test cases for newly added or modified software, leading to prolonged testing times and inadequate code coverage, where some code entities may not be tested at all.
Innovation Solution
A method that uses mapping information to identify modified code, execute relevant test cases, generate coverage information, and update mapping information to ensure all code entities are tested, including adding new test cases for uncovered code entities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all test cases are executed to ensure complete code coverage, then testing thoroughness is improved, but testing time increases unacceptably
Solution Approach 1:
The patent extracts and executes only the subset of test cases that are relevant to the modified code, rather than executing all test cases. This is achieved by identifying modified code entities and selecting only those test cases that cover the changed portions, thereby reducing testing time while maintaining adequate coverage of affected code.
Solution Approach 2:
The patent applies partial action by executing only the necessary portion of test cases required to cover modified code entities. Instead of performing excessive testing with all test cases, the system performs just enough testing to ensure coverage of changed code, optimizing the balance between thoroughness and efficiency.
2Loss of time
If user manually selects test cases to reduce testing time, then testing time is reduced, but testing accuracy deteriorates due to inability to accurately identify relevant test cases
Solution Approach 1:
The patent employs feedback mechanisms where the system automatically analyzes modified code entities and determines which test cases are relevant based on code coverage relationships. This automated feedback loop replaces manual user selection, ensuring accurate identification of relevant test cases while maintaining reduced testing time.
Solution Approach 2:
The system performs self-service by automatically identifying modified code entities and selecting appropriate test cases without requiring user intervention. The testing system serves itself by using its own analysis capabilities to determine test case relevance, eliminating the need for manual selection and ensuring consistent accuracy.
3Measurement precision
If mapping information is continuously updated to improve test case identification accuracy, then test case selection precision is improved, but system complexity increases
Solution Approach 1:
The patent applies preliminary action by pre-establishing mapping information that associates test cases with code entities before testing begins. This pre-computed mapping data is stored and reused during testing, allowing rapid and accurate identification of relevant test cases without requiring complex real-time analysis during the testing process.
Data Source
AI summary
Described are techniques for testing software. The techniques may include identifying, at a first point in time, first code that has been modified, identifying, using first mapping information, a testing set of one or more test cases wherein the first mapping information identifies each test case of the testing set as a test case used to test the first code, running the testing set, generating coverage information in accordance with executing; analyzing the coverage information, generating second mapping information in accordance with said analyzing, and updating the first mapping information in accordance with the second mapping information.


