Selective Software Retesting Using Execution Conditions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Testing complex computer programs is time-consuming and laborious, especially after source code modifications, as existing methods require retesting with all test data sets to ensure proper functioning.

Innovation Solution

Classifying test data into four types based on three execution conditions to determine which data sets require retesting after source code modifications, allowing for efficient retesting using only specific data sets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all test data sets are used for retesting after source code modification, then the computer program's proper functioning is ensured, but the time and effort required for retesting increases significantly

Engineering Contradiction:
Improvecomputer program proper functioningVSAvoidretesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments test data into four distinct categories (first, second, third, and fourth test data) based on their relationship to unchanged and changed source code portions. This segmentation allows selective retesting of only those test data sets that are actually affected by the modification, thereby reducing retesting time while maintaining reliability through systematic coverage of all necessary test cases.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by differentiating test data based on their specific characteristics and relationship to the modified code. Different test data sets are treated differently: some require retesting while others can be reused. This localized differentiation ensures that retesting effort is concentrated only where necessary, optimizing the balance between reliability and time efficiency.

Inventive Principle:
Principle #3Local quality

2Reliability

If all test data sets are used for retesting after source code modification, then the computer program's proper functioning is ensured, but the labor required for retesting increases significantly

Engineering Contradiction:
Improvecomputer program proper functioningVSAvoidretesting efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides test data into four segments based on execution conditions and relationship to code changes. This segmentation enables automated identification of which test data requires retesting and which can be reused, significantly improving productivity by reducing manual labor and accelerating the retesting process while maintaining comprehensive coverage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a system where the testing process becomes self-organizing through automated classification of test data into four categories based on execution conditions. The system automatically determines which test data needs retesting without requiring manual intervention, thereby improving productivity and reducing labor requirements while ensuring reliable testing coverage.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8209671B2Computer program testing after source code modification using execution conditions
Publication Date: 2012.06.26 RAKUTEN GROUP INC
  • US8209671B2 patent drawing
  • US8209671B2 patent drawing
  • US8209671B2 patent drawing

AI summary

Computer program testing after source code for the computer program has been modified is performed more quickly, by using execution conditions. First, second, and third execution conditions are determined. These execution conditions are used to perform testing of the program to determine whether the program is properly functioning. Particularly, test data on which basis testing of the computer program is performed can be classified as first test data, second test data, third test data, or fourth test data. The program prior to modification of the source code is tested by employing the first, second, and third test data. After the source code is modified, the program is retested by employing only the third and the fourth test data. The program is thus properly retested after source code modification by employing only the third and the fourth test data, without having to employ the first and the second test data.