Abstract Model for Dynamic Software Testing
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Ease of repair
If manual testing is used instead of automation, then script maintenance issues are avoided, but execution time and costs increase
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.
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
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.
Data Source
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.


