Test Case Champion Selection via Code Path Fingerprints
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing testing methodologies, such as Combinatorial Test Design (CTD), face challenges in efficiently identifying and prioritizing test cases that effectively detect faults in a System Under Test (SUT).
Innovation Solution
The method involves generating fingerprints for test cases that identify specific code paths covered by each test case, using version control information to identify test cases covering changed code, and designating champion test cases based on execution results and criteria.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional testing methodologies are used to execute all test cases, then comprehensive code coverage is achieved, but testing efficiency and time consumption deteriorate
Solution Approach 1:
The patent segments the test case set into different categories based on code change coverage. Test cases are divided into those covering changed code paths and those covering unchanged code paths, allowing selective execution prioritization that reduces overall testing time while maintaining fault detection effectiveness for modified portions.
Solution Approach 2:
The patent performs preliminary analysis to generate fingerprints for each test case that identify the specific code paths they cover. This pre-computed information is stored and used to quickly determine which test cases are relevant to recent code changes, eliminating the need to execute all test cases and reducing testing time while maintaining reliability.
2Reliability
If comprehensive test case execution is performed to ensure fault detection, then testing thoroughness is improved, but productivity and efficiency deteriorate
Solution Approach 1:
The patent implements dynamic test case prioritization where the test execution order and selection adapts based on code change information. Test cases covering changed code paths are dynamically prioritized and executed first, while maintaining a comprehensive test suite for thoroughness, thereby improving productivity without sacrificing testing quality.
Solution Approach 2:
The patent changes the parameter of test case selection based on code change fingerprints. By comparing test case fingerprints with changed code paths, the system dynamically adjusts which test cases to execute, ensuring thorough testing of modified portions while reducing unnecessary execution of unchanged portions, thus improving efficiency.
3Productivity
If test cases are prioritized based on code change coverage, then testing efficiency is improved, but measurement precision and identification accuracy deteriorate
Solution Approach 1:
The patent creates fingerprints as simplified representations or copies of the actual code paths covered by each test case. These fingerprints capture the essential code path information without requiring full code analysis during test execution, enabling efficient prioritization while maintaining accurate identification of code coverage relationships.
Data Source
AI summary
Management of test case champions includes generating a plurality of fingerprints for a plurality of test cases, wherein each of the plurality of fingerprints is associated with one of the plurality of test cases and identifies a specific code path covered by its associated test case for a System Under Test (SUT). Based on the fingerprints and based on version control information for the SUT, one or more test cases in the plurality of test cases that cover a portion of code of the SUT that has changed are identified. Based on one or more criteria and test execution results, at least one test case of the identified one or more test cases is designated as a champion test case.


