Adaptive Test Script Engine for Software Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Automated test scripts in software testing are often rigid and prone to failures due to minor changes in application outputs, such as changes in element positions, names, or properties, leading to unnecessary errors and invalid test failures, especially when created by recording user inputs.

Innovation Solution

A test execution engine analyzes test case failures and dynamically modifies test scripts to accommodate inconsequential changes by recording and using additional properties of expected output elements, allowing the script to adapt and find the elements based on these properties instead of the originally specified ones.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If test scripts are created automatically by recording user inputs, then test script creation efficiency is improved, but the test scripts become rigid and prone to failures due to minor changes in application outputs

Engineering Contradiction:
Improvetest script creation efficiencyVSAvoidtest script stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically changes the parameters used to identify output elements. Instead of relying on fixed properties like element names or positions, the test execution engine modifies identification parameters based on observed changes in application outputs, allowing test scripts to adapt to minor variations without failing

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The test script identification mechanism transitions from static to dynamic. The system continuously learns and adapts the properties used to identify output elements during test execution, making the test scripts flexible and able to handle changes in application outputs automatically

Inventive Principle:
Principle #15Dynamics

2Measurement precision

If test scripts specify exact properties of output elements, then test precision is improved, but minor changes in element positions or properties cause invalid test failures

Engineering Contradiction:
Improveoutput element identification precisionVSAvoidtest case validity
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The system performs preliminary learning of output element properties during successful test executions. By recording and storing properties of output elements in advance, the system builds a knowledge base that helps it identify elements even when their properties change slightly during subsequent tests

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where test execution results are analyzed to learn from observed changes. When output elements are found with different properties than expected, the system feeds this information back into its identification logic, adjusting future element searches to account for the changes

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10846206B2Adaptive software testing
Publication Date: 2020.11.24 T MOBILE US INC
  • US10846206B2 patent drawing
  • US10846206B2 patent drawing
  • US10846206B2 patent drawing

AI summary

In a software testing environment, a test script may be designed to search among outputs of an in-test target application for an expected output element having a specified property. A test execution engine executes the test script, and if such an output is not found, and the test script returns a “fail” result, the test execution engine revises the test script so that rather than searching for the originally specified property, the test script searches for a different property, where the different property is a property that the expected output element was observed to have during a previous execution of the test script. The test execution engine then executes the revised test script and reports its results.