Targeted Regression Testing via Component Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software testing systems face inefficiencies in resource allocation and test coverage, as they often require running full tests on all components, which can be time-consuming and resource-intensive, especially when only a subset of components has changed, leading to potential misses in bug detection and increased mean time to repair (MTTR).

Innovation Solution

A targeted regression testing system that selects a subset of test operations based on components that have changed, with a self-learning component that updates mappings between test scripts and software components using historical results, and performs shadow analysis to determine the risk and gains of targeted testing, allowing for intelligent resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If full tests are run on all software components, then bug detection coverage is improved, but resource utilization and time consumption increase significantly

Engineering Contradiction:
Improvebug detection coverageVSAvoidresource utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the software code into multiple components and divides the test suite into targeted subsets corresponding to each component. Instead of running all tests on all components, the system executes only the relevant test subsets for each component, thereby reducing overall resource consumption while maintaining comprehensive bug detection coverage across the entire software system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by running only a subset of tests on a subset of components rather than executing the full test suite on all components. The system determines which test subsets are necessary based on component changes or priorities, performing just enough testing to achieve adequate bug detection coverage without the excess resource consumption of complete test execution.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If full tests are run on all software components, then bug detection coverage is improved, but mean time to repair (MTTR) increases

Engineering Contradiction:
Improvebug detection coverageVSAvoidmean time to repair
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

By segmenting both the software components and test suites, the system enables parallel execution of multiple targeted test subsets. This segmentation allows bug detection to occur more quickly across different components simultaneously, reducing the overall time required to identify issues and thereby decreasing the mean time to repair.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary analysis to identify which components have changed or are most critical before executing tests. By preparing and executing targeted test subsets in advance rather than running all tests, the system reduces the time required for bug detection and subsequent repair activities.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If targeted testing on changed components is implemented, then resource utilization is reduced, but bug detection coverage may be compromised

Engineering Contradiction:
Improveresource utilizationVSAvoidbug detection coverage
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements dynamic test subset selection that adapts based on component changes, historical test results, and component criticality. The system dynamically determines which test subsets to execute for each component, adjusting the scope of testing based on current conditions. This dynamic approach ensures adequate bug detection coverage for changed components while optimizing resource utilization by avoiding unnecessary tests on stable components.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback mechanisms that use historical test results and component change information to refine test subset selection. By analyzing feedback from previous test executions and component modification data, the system continuously improves its ability to identify appropriate test subsets that maintain bug detection coverage while reducing resource consumption.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7779303B2Targeted regression testing
Publication Date: 2010.08.17 CISCO TECHNOLOGY INC
  • US7779303B2 patent drawing
  • US7779303B2 patent drawing
  • US7779303B2 patent drawing

AI summary

A software testing method. In particular implementations, a method includes accessing a first database of one or more bug entries, wherein each bug entry comprises information characterizing a bug, an associated code component, and a test script; and a mapping between the component and one or more scripts that test the code component; for one or more bug entries in the first database, determining if the bug is a new bug; if the bug is not a new bug, determining if the test script is new relative to the bug; and if the bug is a new bug or if the test script is new relative to the bug, accessing a second database of the script-to-component mappings to add a mapping between the test script and the associated code component of a respective bug entry.