Abstract Model for Dynamic Software Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software testing tools face challenges in efficiently building and maintaining automated test scripts for dynamic markup applications, particularly due to difficulties in identifying elements and adapting to changes in the software application under test, leading to high costs and inefficiencies.

Innovation Solution

The development of a system and method that generates an abstract model of the software application under test, allowing for flexible identification and loose coupling of test scripts, using customizable tags and rich identification rules to navigate and verify elements, enabling adaptation to changes without regenerating the abstract model.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If automated test scripts are created for markup applications using traditional methods, then test automation can be achieved, but the scripts become difficult to maintain when the application changes

Engineering Contradiction:
Improvetest automationVSAvoidscript maintenance
Core Design Contradiction:
Extent of automationVSEase of repair

Solution Approach 1:

The patent introduces an intermediary layer (test script layer) between the automated testing framework and the markup application. This intermediary uses identification rules and abstract models to decouple the test scripts from the specific markup structure, allowing scripts to remain maintained even when the application markup changes. The intermediary translates high-level test requirements into application-specific actions without direct coupling.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the testing system into distinct layers: the test script layer, the identification rule layer, and the markup application layer. Each layer operates independently with defined interfaces, allowing changes in one layer (particularly the markup application) without affecting others (particularly the test scripts). This segmentation enables maintainability while preserving automation.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If test scripts are tightly coupled to specific markup elements, then precise testing can be achieved, but the scripts break when elements are relocated or redefined

Engineering Contradiction:
Improveelement identification precisionVSAvoidadaptation to application changes
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic identification rules that can adapt to changes in markup elements. Instead of static, fixed identifiers, the system uses rules that dynamically locate elements based on their functional characteristics and hierarchical relationships. This allows the same test script to successfully identify elements even when their positions or specific attributes change in the markup structure.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameters used for element identification from fixed, static attributes to dynamic, rule-based characteristics. The identification rules can adjust their search criteria and matching parameters based on the current state of the application, enabling precise identification while maintaining adaptability to structural changes.

Inventive Principle:
Principle #35Parameter changes

3Ease of repair

If manual testing is used instead of automation, then script maintenance issues are avoided, but execution time and costs increase

Engineering Contradiction:
Improveavoidance of script maintenanceVSAvoidtesting execution speed
Core Design Contradiction:
Ease of repairVSProductivity

Solution Approach 1:

The patent enables the testing system to be self-maintaining through its abstract model and identification rules. When markup elements change, the system can automatically update its internal representation and continue executing tests without requiring manual script rewriting. This self-service capability maintains high automation productivity while reducing maintenance burden.

Inventive Principle:
Principle #25Self-service

4Ease of manufacture

If record and replay functionality is used to create test scripts, then script authoring is simplified, but the scripts require re-recording when application changes occur

Engineering Contradiction:
Improvetest script authoring easeVSAvoidscript reusability across versions
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent creates an abstract copy or model of the markup application structure that serves as the basis for test scripts. Rather than recording exact markup details, the system captures the functional structure and relationships in an abstracted form. This abstract copy remains valid across different versions of the application, allowing scripts to be reused without re-recording while maintaining ease of authoring.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10162738B2System, method, and computer readable medium for universal software testing
Publication Date: 2018.12.25 PROGRESS SOFTWARE CORP
  • US10162738B2 patent drawing
  • US10162738B2 patent drawing
  • US10162738B2 patent drawing

AI summary

An automated software testing and validation system allows testing of a software application under test (SAUT) regardless of the dynamic nature of the SAUT. An abstracted set of hierarchal or linear objects model certain regions of the SAUT. Automated test scripts utilize theses regions to intuitively navigate and identify potions of the SAUT to automate. The scripts can also access specific SAUT elements contain within each defined region. These elements can then be used to invoke actions or verify outputs there from. The system uses a set of rich identification rules embodied in the system which allow the user to configure the identification of any element within the abstracted region. The rules are customizable to allow the user to configure the desired level of loose coupling between the automated scripts and the target element to adapt the scripts to the nature of the SAUT.