Test Case Generation Using Previous Test Case Reuse
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional test case generation methods for embedded real-time software are inefficient, particularly when dealing with multiple steps, as they often result in prolonged processing times due to increased complexity and state variations, making it impractical to generate comprehensive test cases within a reasonable timeframe.
Innovation Solution
A test case generation apparatus that utilizes a memory-based system to store and reuse previous test cases, employing either non-symbolic or symbolic execution to generate subsequent test cases by joining existing test cases with new ones, thereby reducing the number of steps required for analysis and improving processing efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If bounded model checking is used to perform first-time and subsequent analyses until maximum step number is reached, then test case generation can be performed systematically, but test case generation time period increases and may fall outside practical time period
Solution Approach 1:
The patent segments the test case generation process into first-time analysis and subsequent analysis phases. The first-time analysis performs comprehensive bounded model checking to establish baseline coverage, while subsequent analyses reuse previously determined information to avoid redundant computations. This segmentation allows the system to maintain reliability while reducing overall generation time by not repeating the same analysis work multiple times.
Solution Approach 2:
The patent performs preliminary analysis during the first-time execution to determine execution paths, state transitions, and coverage information. These preliminary results are stored and reused in subsequent analyses, eliminating the need to recompute the same information. This preliminary action significantly reduces the time required for repeated test case generation while maintaining comprehensive coverage.
2Reliability
If the number of steps is incremented to cover more requirements and branches, then test coverage is improved, but the number of states subject to bounded model checking increases and generation time increases
Solution Approach 1:
The patent copies and reuses execution path information, state transition data, and coverage results from previous analysis executions. Instead of performing bounded model checking from scratch for each incremented step number, the system copies relevant information from prior analyses and builds upon it. This copying mechanism maintains comprehensive test coverage while significantly improving generation efficiency by avoiding redundant analysis of already-explored state spaces.
3Reliability
If manual test case creation is performed to ensure comprehensive coverage, then test quality is maintained, but the number of man-hours increases significantly
Solution Approach 1:
The patent implements an automated system that performs test case generation independently without requiring manual intervention for each test case. The system self-services by automatically performing bounded model checking, determining execution paths, generating test cases, and verifying coverage. This self-service capability maintains high test quality through systematic analysis while eliminating the significant man-hours that would be required for manual test case creation.
Solution Approach 2:
The patent replaces the mechanical process of manual test case creation with an automated computational system based on bounded model checking and symbolic execution. This substitution transforms the manual, time-consuming process into an automated system that can generate comprehensive test cases rapidly while maintaining or improving quality through systematic exploration of all possible execution paths.
Data Source
AI summary
If an (i−1)-th test case which is a test case for step 1 to step (i−1) is stored, a generation control unit (130) selects a first generation scheme (M1) which uses the (i−1)-th test case to generate an i-th test case which is a test case for step 1 to step i. A test generation unit (170) generates a test case for executing an i-th step in a state where an internal state at an end of the (i−1) steps caused by execution for the (i−1)-th test case is retained, in accordance with the first generation scheme (M1). The test generation unit (170) generates the i-th test case by joining the (i−1)-th test case and the test case for the i-th step.


