Automated Test Step Relationship Deduction for Parallel Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Automated functional testing of software applications is inefficient due to the inability to run steps in parallel, as some steps depend on the results of previous steps, limiting the speed and efficiency of the testing process.

Innovation Solution

A method to identify relationships between test steps, allowing related steps to be executed serially and independent steps to be executed in parallel, by determining relationships through mechanisms such as window/page navigation, flag changes, event listeners, snapshots, and property queries, and saving these relationships for subsequent test runs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If functional tests are written or recorded in a serial sequence of steps, then the testing process is simple to implement and manage, but the speed and efficiency of the tests cannot be improved by running steps in parallel

Engineering Contradiction:
Improvetesting speedVSAvoidtest execution complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the functional test into multiple independent steps that can be executed in parallel. By analyzing dependencies between test steps and identifying independent ones, the system divides the test execution into parallelizable units, thereby improving testing speed without compromising test integrity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic test execution by automatically determining which steps can be run in parallel based on dependency analysis. The system dynamically adjusts the execution sequence, running independent steps simultaneously while maintaining serial execution for dependent steps, thus optimizing testing efficiency adaptively.

Inventive Principle:
Principle #15Dynamics

2Reliability

If all test steps are executed in serial sequence, then dependency relationships between steps are naturally maintained, but the overall testing time increases and efficiency decreases

Engineering Contradiction:
Improvetest result accuracyVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments test steps into dependent and independent groups. By identifying steps that do not have dependencies on others, these independent steps can be executed in parallel while maintaining the serial execution order for dependent steps, thus reducing total testing time while preserving result accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent enables continuous test execution by running independent steps simultaneously rather than sequentially. This maintains the continuity and completeness of test coverage while eliminating idle waiting time between dependent steps, thereby reducing overall testing time without sacrificing reliability.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If test steps are executed in parallel without identifying relationships, then testing efficiency improves, but incorrect parallel execution may occur when steps have hidden dependencies

Engineering Contradiction:
Improvetesting efficiencyVSAvoiddependency detection accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent performs preliminary dependency analysis before executing test steps in parallel. By analyzing window/page navigation, flag changes, event listeners, snapshots, and property queries beforehand, the system identifies dependency relationships in advance, ensuring that only truly independent steps are executed in parallel, thus maintaining both efficiency and accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses feedback mechanisms to detect changes in application state during test execution. By monitoring events such as window navigation, flag modifications, and property changes, the system receives feedback about actual dependencies, allowing it to accurately determine which steps can safely run in parallel and which must remain serial.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11567859B2Methods and systems to automatically deduce relationships among test steps
Publication Date: 2023.01.31 MICRO FOCUS LLC
  • US11567859B2 patent drawing
  • US11567859B2 patent drawing
  • US11567859B2 patent drawing

AI summary

Embodiments of the disclosure provide systems and methods for executing a functional test on an application. According to one embodiment, a method for running a functional test on an application can comprise executing the function test on the application. The functional test can comprise a plurality of steps. The plurality of steps can comprise a set of related steps having one or more relationships between each other and a set of one or more independent steps having no relationships to other steps in the plurality of steps. The one or more relationships between the set of related steps can be deduced and an indication of the deduced one or more relationships between the set of related steps can be saved. The functional test can then be replayed on the application based on the saved indication of the deduced one or more relationships between the set of related steps.