Change-Based Software Testing via Requirement Correlation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software development teams face increased costs and inefficiencies due to the delayed detection of errors in computer programs, which become more expensive to fix as they progress through the software lifecycle.

Innovation Solution

A method and system for assessing the effect of changes in computer software by correlating modified requirements and test cases, using a Global Group Reporting System (GRS) to identify affected portions of the software and prioritize retesting, thereby reducing the scope of testing efforts and focusing quality assurance efforts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If comprehensive testing is performed throughout the software lifecycle, then error detection capability is improved, but testing time and resource consumption increase

Engineering Contradiction:
Improveerror detection capabilityVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the software system into modular components with defined interfaces and relationships. By dividing the system into manageable units, the testing process can focus on specific segments affected by changes rather than requiring comprehensive testing of the entire system, thus reducing testing time while maintaining error detection capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent establishes correlation relationships between software components, requirements, and test cases in advance during the development phase. This preliminary action creates a dependency map that enables rapid identification of affected test cases when changes occur, eliminating the need for time-consuming comprehensive testing and allowing quick retrieval of relevant test cases for retesting.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If comprehensive testing is performed to detect errors early, then error fixing cost is reduced, but testing complexity increases

Engineering Contradiction:
Improveerror detection timingVSAvoidtesting complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the testing process into focused retesting of only those test cases correlated with changed software components. This segmentation reduces testing complexity by eliminating the need to manage and execute comprehensive test suites, while still achieving early error detection for affected areas.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary correlation mechanism that links software components, requirements, and test cases. This intermediary structure automatically identifies which test cases need to be reexecuted based on component changes, reducing testing complexity by providing a systematic approach rather than requiring manual analysis of testing scope.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If manual identification of affected test cases is performed, then testing scope can be adjusted, but productivity decreases

Engineering Contradiction:
Improvedevelopment speedVSAvoidtime for identifying affected test cases
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements a self-service mechanism where the system automatically identifies affected test cases by querying the pre-established correlation relationships between software components and test cases. This eliminates the need for manual identification efforts, allowing developers and testers to quickly retrieve the relevant test case list without consuming productivity resources, thus reducing both time loss and maintaining high development speed.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8205191B1System and method for change-based testing
Publication Date: 2012.06.19 PARASOFT CORP
  • US8205191B1 patent drawing
  • US8205191B1 patent drawing
  • US8205191B1 patent drawing

AI summary

A method and system for assessing effect of a change in a computer software including a plurality of requirements and a plurality of test cases. The method and system include: changing a requirement from the plurality of requirements; correlating the computer software with the changed requirement to identify a portion of the computer software that is affected by the changed requirement; and correlating one or more of the test cases with the portion of the computer software that is affected to identify one or more of the test cases that is affected by the changed requirement.Additionally, the computer software may be changed and the effect of that change on the requirements and the test cases may then be determined.