Self-Repairing Automation Scripts for Software Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The maintenance of automation scripts for software testing is complex and burdensome, especially when small changes occur in the application interface, leading to abnormal operations and the need for frequent updates to ensure usability.

Innovation Solution

A method and system that enable automation scripts to self-repair and self-maintain by searching for elements on a page using locating information, collecting element-related information, and associating it with the script instructions, allowing the scripts to adjust automatically to most small changes without manual intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If automation scripts are used to test application interfaces, then testing efficiency is improved, but maintenance complexity increases when interface changes occur

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

Solution Approach 1:

The system enables automation scripts to automatically detect and adapt to interface changes by monitoring element properties and self-updating locating information, eliminating the need for manual script maintenance when interfaces change

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements a feedback mechanism where element-related information is collected during test execution, compared against expected values, and used to automatically update automation scripts when changes are detected, creating a closed-loop maintenance system

Inventive Principle:
Principle #23Feedback

2Ease of operation

If automation scripts rely on element texts for identification, then script simplicity is improved, but reliability decreases when texts change

Engineering Contradiction:
Improvescript simplicityVSAvoidtest execution reliability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system collects and monitors multiple element parameters including texts, IDs, classes, and other attributes, dynamically switching between different locating strategies based on which parameters remain stable across interface changes

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system pre-collects and stores element-related information including multiple locating attributes before test execution, preparing alternative identification methods in advance to handle potential text changes

Inventive Principle:
Principle #10Preliminary action

3Manufacturing precision

If manual updates to automation scripts are performed frequently, then script accuracy is improved, but time consumption increases

Engineering Contradiction:
Improvescript accuracyVSAvoidmaintenance time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The system automatically detects interface changes, compares them against stored element information, and updates automation scripts without human intervention, maintaining script accuracy while eliminating manual maintenance time

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system pre-collects comprehensive element-related information including multiple locating attributes and relationships, preparing data structures that enable rapid automatic updates when changes occur

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10713149B2Processing automation scripts of software
Publication Date: 2020.07.14 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10713149B2 patent drawing
  • US10713149B2 patent drawing
  • US10713149B2 patent drawing

AI summary

Processing automation scripts used for testing pages includes running the automation scripts using a processor, searching for an element on the page according to locating information in an instruction of the automation scripts, collecting element-related information of the element in response to finding of the element on the page according to the locating information, and associating the collected element-related information of the element with the instruction of the automation scripts. The element-related information associated with the instruction is saved.