NLP-Based Test Script Auto-Update for UI Changes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software testing methods require significant manual intervention and resource allocation, especially when updating test scripts due to changes in software product versions, leading to inefficiencies and increased error rates.

Innovation Solution

The use of natural language processing systems to identify and update user interface elements in test scripts, allowing automated software testing to adapt to changes by querying the system for the most relevant elements and updating the script accordingly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If test scripts are used to automate software testing, then testing efficiency and consistency are improved, but the scripts require substantial effort to develop and maintain when software updates occur

Engineering Contradiction:
Improvetesting efficiencyVSAvoidtest script maintenance complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs self-updating by automatically detecting UI element changes through screenshots and using NLP to generate updated test scripts without human intervention. The testing system serves itself by identifying broken references and correcting them autonomously

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements feedback loops where test execution results are analyzed to detect UI element changes, which then trigger automatic script updates. The system continuously monitors and adjusts test scripts based on feedback from actual software behavior

Inventive Principle:
Principle #23Feedback

2Reliability

If manual updates are performed each time software is updated, then test script accuracy is maintained, but significant time and resources are required

Engineering Contradiction:
Improvetest script accuracyVSAvoidtime for script updates
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent replaces manual mechanical updating processes with automated computational systems. NLP models and computer vision algorithms substitute human analysts, automatically detecting UI changes and generating script updates without human intervention

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

3Speed

If traditional automated testing is used, then execution speed is improved, but the system fails when UI elements change names or positions

Engineering Contradiction:
Improvetest execution speedVSAvoidadaptability to UI changes
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The system dynamically adapts to UI changes by continuously monitoring software interfaces and automatically adjusting test scripts. Rather than being static, the testing system evolves with the software, detecting and responding to UI element changes in real-time

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The NLP system acts as an intermediary between the testing framework and UI elements. It translates UI changes into appropriate script modifications, bridging the gap between static test scripts and dynamic software interfaces

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20250004928A1Automated software testing using natural language-based script execution
Publication Date: 2025.01.02 MICROSOFT TECHNOLOGY LICENSING LLC
  • US20250004928A1 patent drawing
  • US20250004928A1 patent drawing
  • US20250004928A1 patent drawing

AI summary

Aspects of the disclosure include methods and systems for performing automated software testing. The method includes obtaining a test script for software, executing the test script, and determining that the test script includes an action that cannot be completed. The method also includes identifying elements of a user interface of the software, inputting, into a natural language processing system, a query including the action and the elements, and receiving, in response to the query, an identified element. The method further includes continuing the executing of the software by performing the action on the identified element and determining that an updated user interface includes an element associated with the action of the test script. The method also includes updating the test script by adding a new action to the test script based on a determination that the updated user interface includes the element associated with the action.