Dynamic Software Environment Matrixing for Test Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The exponential increase in possible combinations of software environments makes comprehensive testing impractical, leading to untested scenarios that may encounter defects or vulnerabilities.

Innovation Solution

A system and method for optimized dynamic matrixing of software environments, which automatically generates and tests all possible combinations of task environments, using an optimization feedback loop to reduce the search scope based on execution results, thereby ensuring efficient testing across all relevant scenarios.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If comprehensive testing of all possible software environment combinations is performed, then testing coverage and reliability are improved, but testing time and complexity increase exponentially

Engineering Contradiction:
Improvetesting coverageVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system implements a feedback mechanism where test results from executed environment combinations are used to dynamically adjust the testing matrix. When a combination is marked as completed or failed, this information feeds back into the matrix generation algorithm to optimize subsequent testing selections, ensuring comprehensive coverage while reducing redundant testing time.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The testing matrix is made dynamic rather than static. The system continuously adapts the test environment combinations based on real-time execution results, automatically adjusting which environments to test next. This dynamic approach allows the system to achieve full coverage efficiently by learning from previous test outcomes and optimizing the testing sequence.

Inventive Principle:
Principle #15Dynamics

2Device complexity

If the testing scope is limited to manage complexity, then testing time and resource consumption are reduced, but the risk of encountering defects in untested combinations increases

Engineering Contradiction:
Improvetesting complexityVSAvoiddefect detection coverage
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The feedback mechanism ensures that testing complexity is managed intelligently. Test results are analyzed and fed back into the matrix generation process, allowing the system to identify patterns and optimize the testing sequence. This ensures that even with a reduced scope at any given time, the most critical and risky combinations are prioritized for testing, maintaining high defect detection coverage.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary analysis of the testing matrix to identify and prioritize the most critical environment combinations before execution. By pre-determining which combinations are most likely to reveal defects based on historical data and complexity analysis, the system ensures that limited testing resources are allocated to the highest-risk areas first.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If dynamic optimization of the testing matrix is implemented, then testing efficiency and time consumption are improved, but system complexity and computational overhead increase

Engineering Contradiction:
Improvetesting efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The dynamic optimization relies on feedback loops that continuously monitor test execution results and adjust the testing matrix accordingly. This feedback mechanism enables the system to learn from previous performance data and automatically optimize future testing selections, significantly improving testing efficiency while keeping the optimization logic encapsulated within the existing test framework.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The testing system performs self-optimization by automatically analyzing its own execution results and adjusting its testing strategy without external intervention. The matrix generation algorithm uses built-in optimization functions that leverage historical test data to automatically determine the most efficient testing sequence, reducing the need for complex external management systems.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9983979B1Optimized dynamic matrixing of software environments for application test and analysis
Publication Date: 2018.05.29 EMC IP HLDG CO LLC
  • US9983979B1 patent drawing
  • US9983979B1 patent drawing
  • US9983979B1 patent drawing

AI summary

A method for matrixing of software environments is provided. The method includes receiving a selection of a plurality of aspects of a task environment for an application and executing the application in a task environment selected from a set of all possible combinations. The method includes selecting a next task environment from the set of all possible combinations, based on a result of executing the application in the task environment and reducing a matrix search scope, responsive to a failure in the executing the application in the task environment. The method includes repeating the executing, the selecting and the reducing until one of the matrix search scope as reduced, is less than or equal to a completed search scope, or the set of all possible combinations of the plurality of aspects of the task environment is in the completed search scope.