Test Case Generation via Path Analysis and Essential Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvesoftware qualityVSAvoidtest time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If the number of test cases is reduced to save test time, then test efficiency is improved, but coverage rate decreases

Engineering Contradiction:
Improvetest efficiencyVSAvoidcoverage rate
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #35Parameter changes

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.

Inventive Principle:
Principle #23Feedback

3Productivity

If experience-based test case creation is used, then test case development speed is improved, but coverage completeness deteriorates

Engineering Contradiction:
Improvetest case development speedVSAvoidcoverage completeness
Core Design Contradiction:
ProductivityVSMeasurement precision

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8056058B2Method for generating test cases for software program
Publication Date: 2011.11.08 NATIONAL TSING HUA UNIVERSITY
  • US8056058B2 patent drawing
  • US8056058B2 patent drawing
  • US8056058B2 patent drawing

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.