Machine Learning Test Plan Generation for Distributed Software Faults

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Testing of distributed software systems across multiple computing nodes is complex and often fails to optimally identify performance faults, as conventional testing methods are biased and do not effectively characterize operational faults.

Innovation Solution

A machine learning-based approach is used to generate test plans that selectively alter resources and performance characteristics of software systems, monitoring behavior and performance to identify faults, employing models like neural networks and decision trees to create optimal test plans for rapid fault identification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional testing methods using developer-generated scripts are used, then testing can be performed with simple tools and processes, but the testing fails to optimally identify performance faults and is biased toward certain fault sources

Engineering Contradiction:
Improvefault identification accuracyVSAvoidtesting system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary testing system that acts as a mediator between the software system under test and the fault identification process. This intermediary system automatically generates and executes test cases, analyzes results, and identifies performance faults without direct developer intervention, thereby improving measurement precision while managing complexity through automation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the manual mechanical process of developer-generated test scripts with an automated intelligent testing system. This substitution uses algorithms and automated tools to generate, execute, and analyze test cases, eliminating the biases and limitations of manual script generation while improving fault identification accuracy.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If manual script-based testing is used, then the testing process is easy to implement and understand, but it is time-consuming and does not rapidly identify performance faults

Engineering Contradiction:
Improvefault identification speedVSAvoidtesting time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-generating comprehensive test cases and test plans before actual testing begins. The system prepares multiple test scenarios, configurations, and evaluation criteria in advance, allowing for rapid execution and fault identification during the actual testing phase without time-consuming manual setup.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The testing system performs self-service by automatically generating test cases, executing tests, analyzing results, and identifying faults without requiring continuous manual intervention. This self-automating process significantly reduces testing time and increases productivity by eliminating repetitive manual tasks.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If developer-generated test scripts are used, then testing can be performed with existing developer knowledge, but the testing is naturally biased to focus only on certain sources of performance faults

Engineering Contradiction:
Improvetesting coverageVSAvoidfault detection completeness
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The patent implements universality by designing a testing system that can handle multiple types of performance faults and test scenarios through a single unified platform. The system is capable of testing various aspects of software performance including speed, memory usage, resource allocation, and operational faults, providing comprehensive and unbiased fault detection across all potential failure sources.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10802953B2Test plan generation using machine learning
Publication Date: 2020.10.13 SAP SE
  • US10802953B2 patent drawing
  • US10802953B2 patent drawing
  • US10802953B2 patent drawing

AI summary

Testing of a software system is initiated in an operating environment. The software system includes a plurality of software programs executing across multiple computing nodes. Thereafter, the operating environment and/or resources available to one or more of the software programs are selectively altered according to a test plan. In addition, functional and/or performance characteristics of one or more parts of the operating environment and/or the software programs under test are also selectively altered according to the test plan. In addition, concurrent with the altering of the operating environment and/or the resources and the altering of functional and/or performance characteristics, behavior and/or performance of the software system are monitored to identify faults. Data characterizing the faults can be provided as input into the testing for analysis and feedback into generating better test plans as well as generating more optimal configurations of the software system itself and/or the operating environment.