Test Case Generation via Path Analysis and Essential Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software testing often compromises on quality due to insufficient test time, leading to the need for a method that can generate fewer test cases while still achieving high-coverage requirements, such as 100% MC/DC coverage for system testing.
Innovation Solution
The method involves setting reference points among vertices expanded from conditions, tracing pairs of initial test cases and their adjacent vertices, and selecting essential test cases based on frequency of appearances to ensure high-coverage criteria like MC/DC are met with fewer test cases.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional test case generation methods are used to achieve high coverage (such as 100% MC/DC coverage), then software quality is improved, but the number of test cases increases significantly and test time increases
Solution Approach 1:
The patent segments the test case generation process into distinct phases: identifying basic blocks, generating initial test cases, performing path analysis, and selecting essential test cases. This segmentation allows the system to efficiently manage the complexity of achieving high coverage without generating all possible test cases, thereby reducing test time while maintaining software quality.
Solution Approach 2:
The patent extracts and identifies essential test cases from the complete set of possible test cases by analyzing path coverage requirements. By taking out only the essential test cases that contribute to meeting MC/DC coverage criteria, the system eliminates redundant test cases, reducing the overall number of tests needed while preserving software quality.
2Productivity
If the number of test cases is reduced to save test time, then test efficiency is improved, but coverage rate decreases
Solution Approach 1:
The patent changes the selection criteria for test cases from arbitrary or experience-based selection to a systematic method based on path analysis and essential test case identification. By changing the parameter of test case selection to be based on coverage requirements and path analysis, the system achieves high coverage with fewer test cases, improving test efficiency without sacrificing coverage rate.
Solution Approach 2:
The patent implements a feedback mechanism where test case selection is guided by analysis of path coverage status. The system continuously evaluates which test cases are essential for achieving MC/DC coverage and adjusts the test suite accordingly, ensuring that coverage requirements are met while minimizing the number of test cases needed for high productivity.
3Productivity
If experience-based test case creation is used, then test case development speed is improved, but coverage completeness deteriorates
Solution Approach 1:
The patent performs preliminary analysis of the software program to identify basic blocks, control flow paths, and essential test cases before actual testing begins. By preparing the test case framework in advance based on systematic analysis rather than ad-hoc experience, the system ensures coverage completeness is built into the test design from the start, while maintaining efficient development speed through automated analysis.
Solution Approach 2:
The patent introduces an intermediary systematic analysis process between experience-based test creation and coverage measurement. This intermediary step automatically analyzes control flow and identifies essential test cases, bridging the gap between fast experience-based development and rigorous coverage requirements, thereby achieving both speed and completeness.
Data Source
AI summary
The method for generating test cases for a software program includes the step of setting a plurality of reference points in accordance with a sentence of the software program. The tracing pairs each including an initial test case as well as its adjacent vertex are set if one of them is among the reference points and the other one is not among the reference points. The essential test cases are chosen from the tracing pairs.


