Automated Software Testing via UI Data Model Emulation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Manual software testing is cumbersome, time-consuming, and error-prone, lacking efficient automated techniques that provide documented objective evidence of testing activities and results, especially for identifying passed and failed tests and potential causes of failures.
Innovation Solution
A method and system for automated software testing that emulates user interactions with a graphical user interface, using a test script to execute instructions, verify outputs, and generate reports, including partial path specifications for user interface data elements and customized parameters for different users, to search and retrieve data elements efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If automated testing is implemented, then productivity and efficiency are improved, but device complexity increases due to the need for test scripts and automation infrastructure
Solution Approach 1:
The patent creates a virtual copy of the user interface through a hierarchical data model that mirrors the visual display structure. This data model includes elements like windows, controls, and data elements with hierarchical relationships, allowing the testing system to interact with a simplified representation rather than the complex actual UI, thus reducing testing system complexity while maintaining automation capabilities
Solution Approach 2:
The patent introduces a data model as an intermediary layer between the testing system and the actual user interface. This data model serves as a mediator that translates complex UI interactions into simplified data operations, reducing the complexity of the testing system while enabling automated testing through structured data manipulation
2Measurement precision
If complete path specifications are used for all user interface data elements, then measurement precision is improved, but device complexity increases due to the verbosity of test scripts
Solution Approach 1:
The patent applies local quality by allowing test scripts to specify only the necessary portion of the path to a data element rather than requiring the complete path. The data model includes hierarchical information that enables identification of data elements through partial paths, maintaining precise identification while reducing test script complexity by including only relevant path segments locally where needed
Solution Approach 2:
The patent implements partial action by allowing test scripts to reference data elements using partial paths instead of complete paths. The data model's hierarchical structure enables the system to resolve partial path references to unique data elements, achieving precise identification without requiring the full path specification, thus reducing test script complexity while maintaining measurement precision
3Ease of operation
If manual testing is performed, then ease of operation is maintained, but loss of time increases due to the cumulative nature of manual testing activities
Solution Approach 1:
The patent implements preliminary action by pre-defining the hierarchical data model structure that represents the user interface before testing begins. This pre-established data model with its hierarchical relationships and element definitions enables automated testing to proceed efficiently without requiring manual setup during each test execution, thus reducing testing duration while maintaining operational simplicity through standardized structures
Solution Approach 2:
The patent creates a virtual copy of the user interface interaction process through automated test scripts that replicate user actions. This copying of user interactions into automated sequences maintains the simplicity of the original user operations while eliminating the time-consuming manual execution, allowing the same ease of operation to be achieved automatically and much faster
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Described are techniques for testing an application. A test script including one or more instructions is received to test an application. A user interaction with a user interface of the application is emulated. Emulating includes executing a first portion of instructions in the test script. An output is received including information displayed using the user interface in response to the user interaction. Verification processing is performed for the output. The verification processing includes executing a second portion of instructions in the test script. A first instruction in the test script references a user interface data element without specifying a complete path for the user interface data element.